Complex problems, clever solutions – unique containers and virtualization snaps

by Igor Ljubuncic on 23 July 2020

Snaps come in many shapes and forms: security tools, productivity apps, games, handy utilities, video editing software, and more. Often, most snap package a single application. But snaps can also include services, databases, as well as multiple binaries. How far can this concept scale, you ask?

Quite far. There are also some rather unique snaps that bundle a number of state-of-art technologies into highly useful, accessible suites. They are designed to provide the user with super-easy solutions to complex problems. Let’s have a look.

Qemu-virgil

If you’re a fan of virtualization, then you are most likely aware the one thing virtual machines do less well than systems installed on physical hardware is the graphics stack. You can get guest operating systems up and running relatively easily. But sometimes, there is no guarantee you will have advanced graphics features, like 3D acceleration, available in the virtual machines, which can limit their usefulness.

In recent years, there have been attempts to rectify this, and different virtualization tools now offer some 3D support. Qemu-virgil is a snap that bundles the latest version of QEMU, along with GTK, SDL2 and Virgil 3D enabled, designed to give you decent graphics performance out of the box.

Once you install the snap, you will need to connect the kvm interface (snap connect qemu-virgil:kvm), but after that, you can launch virtual machines, and start enjoying solid graphics performance. Now, be aware that you will probably not have native-level results, but you can still get a decent level of usability, without having to resort to any significant manual changes or complex command line arguments.

Sosumi

Qemu-virgil is just the beginning. It is also a foundation for several other cool virtualization-based projects. Like Sosumi, for instance! Sosumi is a tool that allows you to download and install macOS Catalina. On first launch, the snap will download the operating system image, it will launch the system recovery console, allowing you to partition and format the hard disk, and then, it will install Catalina. 

Clouds

If you’re looking for Windows rather than macOS, Clouds is the snap you want. Like Sosumi, it is designed to simplify the creation of a virtual machine instance (running Windows 10). It also utilizes qemu-virgil in the background, provides accelerated 3D stack, and will download the Windows 10 ISO file on first launch. By default, it will grab the English International version.

Fabrica

We have already talked about Fabrica in the past – it is a self-hosted snap building factory. Fabrica utilizes several clever concepts. It allows you to hook up any number of remote git-based repositories, and then trigger builds of snaps. Furthermore, it will automatically poll the connected sources, and build new versions of snaps whenever a change is detected in the source tree. You can manage multiple projects, multiple versions and branches of the project code, and always be up to date. Behind the scenes, Fabrica uses LXD containers, offering a simple, fast build solution.

Summary

Once upon a time, Arthur C. Clarke wrote: any sufficiently advanced technology is indistinguishable from magic. When it comes to tools like Sosumi, Qemu-virgil, Fabrica, or Clouds, there is a fair deal of magic involved. The difficult pieces are hidden from the view, and (mostly) auto-configured, so the user can focus on efficiency and productivity. You also gain security, as the snaps are confined, allowing you to tinker and test with an ease of mind.

If you are aware of any other clever applications or tools that classify as unique, almost magical solutions, we’d like to know about them. Please share your suggestions and comments by joining our forum.

Photo by Timo Volz on Unsplash.

Newsletter Signup

Related posts

How to manage snap updates

Updates are an integral part of the software lifecycle. Quite often, they bring improvements, vital security patches – and sometimes, unfortunately, bugs, too. In mission-critical environments, it is important to assert a high degree of oversight and precision over updates. Snaps come with a built-in automatic update mechanism, whereby sn […]

Canonical enables Linux desktop app support with Flutter

By Chris Sells (Google) & Ken VanDine (Canonical) Google’s goal for Flutter has always been to provide a portable framework for building beautiful UIs that run at native speeds no matter what platform you target. To validate this capability, we started by focusing on the mobile platforms, Android and iOS, where we’ve seen more than […]