Run Windows, macOS and Linux virtual machines with Quickemu

Quickemu is a handy tool to run Windows, macOS or Linux virtual machines on your PC - a combination of QEMU and custom tooling to make it a smooth process. Lets take a look.

Quickemu

Quickemu can be downloaded from the GitHub page but there are also packages available for some Linux distributions. It comes with two command line tools, while a GUI interface is a separate app:

The flow is simple. At first you have to download system image for the OS you need, for example:

quickget lubuntu 22.04

This will download the image and create a config file. From now on we can launch the virtual machine with:

quickemu --vm lubuntu-22.04.conf
Lubuntu live system
Lubuntu live system

Where the lubuntu-22.04.conf is the created config file. It will be named based on chosen OS and version. Note that you will usually have to go through the install process of the OS to get a ready to use system. In case of Ubuntu you get the Live version you can install for a more persistent system, while for macOS quickget will download recovery image and you will have to install the OS on a fresh virtual drive and then login to your Apple account and so on.

For extra features like copy/paste between host/guest, USB device redirection and alike you can use the SPICE protocol. There are example for this on the project page.

Quickemu macOS installation
Quickemu macOS installation
macOS installation on a Quickemu managed VM with a resolution glitch
Installed macOS Catalina
Installed macOS Catalina

Usage and alternatives

The core usage would be testing software under different OS, versions and architectures. QEMU is not nothing new. Here we just get a nice tooling around it.

Most popular alternative would be Virtualbox. If you can get an OS bootable image then Virtualbox should handle it. Quickemu comes in handy when you want to run macOS or Windows although Microsoft provides Virtualbox or even Vagrant images of their OS with specific IE or Edge browser version.

Mentioned Vagrant provides a more developer focused tooling where you can easily run and test your software as you code even. Quickemu can do headless but it's rather for the desktop experience it can provide. So in short - pick what you need ;)

Comment article