Quickemu is a command line wrapper for QEMU that can be used to quickly create and run highly optimized Linux, macOS, *BSD and Windows desktop virtual machines. It’s currently only intended for use on Linux hosts (it also works on WSL), but in the future it might also support macOS hosts.
Instead of expecting an exhaustive list of configuration options, Quickemu tries to automatically “do the right thing” and creates the VM configuration automatically for you. Besides this, the tool also automatically downloads the Linux, macOS or Windows image, so all you have to do is run and install the OS in the virtual machine.
Even though using Quickemu you don’t need to configure anything, e.g. it automatically calculates the number of CPU cores and RAM it should allocate to a VM based on the host computer specifications, you can still use custom config options in the .conf file.
What’s more, if using the command line is not your thing, there’s also a third-party GUI for Quickemu written in Flutter, called Quickgui:
Quickemu had its first stable (1.0.0) release back in September 2021, but is already quite popular, with over 3.7k stars on GitHub. It was initially created as a quick way of testing Linux distributions “where the virtual machine configurations can be stored anywhere, such as external USB storage or your home directory, and no elevated permissions are required to run the virtual machines“, but it since evolved, and it now also supports macOS and Windows.
You might also like: Install macOS Monterey, Big Sur Or Catalina In A Virtual Machine Using Docker-OSX
At the time I’m writing this, Quickemu supports the following guest OSes:
- macOS Monterey, Big Sur, Catalina, Mojave and High Sierra
- Microsoft Windows 8.1, 10 and 11 including TPM 2.0
- Ubuntu and all the official Ubuntu flavors (Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio and Xubuntu)
- Linux Mint Cinnamon, MATE and Xfce
- elementary OS
- Zorin OS
- KDE Neon
- Kali Linux
- Debian bullseye with all the official and non-free DE variants
- openSUSE Leap, Tumbleweed and MicroOS
- Arch Linux
- Alma Linux
- Oracle Linux
- Rocky Linux
- Regolith Linux (1.6 and the latest 2.0.0 pre-release)
- FreeBSD and OpenBSD
For Microsoft Windows and macOS, make sure you read the notes on the Quickemu project page because there are some special instructions and particularities listed there. E.g. you’ll find exact instructions for installing macOS there, macOS Big Sur and Monterey have no audio at all, on Windows the network interfaces are disabled during install to allow the creation of local accounts, etc. I’d also like to add my own note here: while installing macOS Monterey, the installer got stuck, so I rebooted the virtual machine and the installation continued (and was eventually successful).
It’s important to note that Apple doesn’t allow installing macOS on non-Apple hardware. If you want to use this to legally install macOS in a virtual machine, your host OS must be installed on Apple hardware.
Besides making it easy to install all these operating systems in a VM (including automatically downloading the ISO images), Quickemu features:
- Full SPICE support, including host/guest clipboard sharing
- VirtIO-webdavd file sharing for Linux and Windows guests
- VirtIO-9p file sharing for Linux and macOS guests
- QEMU Guest Agent support; provides access to a system-level agent via standard QMP commands
- Samba file sharing for Linux, macOS and Windows guests (if smbd is installed on the host)
- VirGL acceleration
- USB device pass-through
- Smartcard pass-through
- Automatic SSH port forwarding to guests
- Network port forwarding
- Full duplex audio
- EFI (with or without SecureBoot) and Legacy BIOS boot
- Graphical user interfaces available
Quickemu is available in a PPA for Ubuntu / Pop!_OS / Linux Mint users, and on AUR for Arch Linux / Manjaro: stable or git. For other Linux distributions, you’ll need to install the requirements manually, then run it from source. Once installed, see its introduction and all the available options.
The third-party Quickemu GUI, Quickgui, is also available in a PPA for Ubuntu / Pop!_OS / Linux Mint, and on AUR for Arch Linux / Manjaro: quickgui or quickgui-bin. You can also download Quickgui Linux binaries from the project’s releases page. Also check out the Quickgui usage instructions.
To use this, your computer CPU needs to support hardware virtualization; see the KVM checklist from here to find out if your CPU supports it (you can also run
sudo kvm-ok which will return “KVM acceleration can be used” if everything is ok).