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

Managing software in complex network environments: the Snap Store Proxy

As enterprises grapple with the evolving landscape of security threats, the need to safeguard internal networks from the broader internet is increasingly important. In environments with restricted internet access, it can be difficult to manage software updates in an easy, reliable way. When managing devices in the field, change management […]

Improving snap maintenance with automation

Co-written with Sergio Costas Rodríguez. As the number of snaps increases, the need for automation grows. Any automation to help us maintain a group of snaps is welcome and necessary for us to be able to scale. The solution detailed in this article has two main benefits: Any users of snaps that have adopted this […]

Snapcraft 8.0 and the respectable end of core18

‘E’s not pinin’! ‘E’s passed on! This base is no more! He has ceased to be! ‘E’s expired and gone to meet ‘is maker! ‘E’s a stiff! Bereft of life, ‘e rests in peace! If you hadn’t nailed ‘im to the perch ‘e’d be pushing up the daisies! ‘Is software processes are now ‘istory! ‘E’s […]