Quickemu (the quick VM solution)

I used to use VirtualBox to run VMs on my development workstations. I’ve heard that more people are using QEMU to do similar things, but never had the time to figure out how to set it up. Now there is a tool that does it all for you:

I tried it a week back and there was a bug that would not let you install Windows without a SAP user account. With version 3.11, that bug is now fixed. On Arch Linux, its as easy to install as yay quickemu. Then you can do things like:

quickget windows 11

quickemu -vm windows-11.conf

I had recently purchased a Velocio PLC to evaluate, so needed a Windows VM to run their software. My VirtualBox installation has become very slow on my other workstation since I upgraded to 3, 4K monitors (not sure if it is related to the monitor resolution), so I needed a new solution anyway. Both Windows 10 and 11 VMs run the Velocio software fairly well.

To program a Velocio device, you need to map a USB device through to Windows. This is easy to do by displaying the spice settings:

quickemu -vm windows-11.conf -display spice

Then you can map individual devices using the Input->Select USB devices for redirection menu option.


There is also a Auto redirect newly plugged in USB devices option in the Options menu, which is very handy.

There are quite a few operating systems supported by quickemu:

[cbrake@ceres quickemu]$ quickget ERROR! You must specify an operating system: alma android archlinux debian elementary freebsd fedora garuda kali kdeneon kubuntu linuxmint-cinnamon linuxmint-mate linuxmint-xfce nixos-gnome nixos-plasma5 nixos-minimal lubuntu macos openbsd opensuse oraclelinux popos regolith rockylinux solus ubuntu ubuntu-budgie ubuntu-kylin ubuntu-mate ubuntu-studio windows xubuntu zorin

There are even MacOS configurations – will leave that as an exercise for the reader …

It appears that quickemu allocates a 1.5TB image, but this is a sparse file that only takes up 14MB on disk:

Deleting files may not free up space automatically in the qcow2 image, but there appear to be options for this: