Virtualization is one of the most popular technologies utilized by most people and organizations who want to run multiple systems on single server hardware.
Also, most cloud platforms (if not all) use virtual machines to host customer data and services.
Some of the most popular Virtualization platforms are VMware and VirtualBox.
Vmware is a commercial app, and you will need to pay a subscription fee, while the latter is free and open-source.
If you are a Linux user, there is a relatively new software that you can use to spin Virtual machines – Quickkemu.
QuickEmu is a command-line wrapper for the popular Virtualization tool known as Qemu.
First released in September 2021, Quickemu was meant to provide a single best solution for testing GNU software and Linux distributions.
However, the program has received numerous updates allowing users to spin both macOS and Windows virtual machines.
Quickemu eliminates all the multiple prompts you have to fill when creating a virtual machine by choosing the best system configurations depending on the OS/distribution you are using for your virtual machine.
However, that doesn’t mean you cannot tweak these configurations. Feel free to edit the .conf
file and enter your custom settings.
[powerkit_alert type=”info” dismissible=”false” multiline=”false”]
Tip: If you are not a command-line guy or wish to explore, there is a third-party graphical utility for Quickemu known as Quickgui. This tool is developed in Flutter and comes with a pretty fancy UI that you can use to create Virtual Machines on your system. We have given you a detailed overview of Quickgui at the end of this post.
[/powerkit_alert]
Table of Contents
Quickemu Features
- Free and open-source. You can get the whole Quickemu code on Github.
- Allows downloading the OS image that you wish for your Virtual machines.
- It supports Samba file sharing. (You will need to have smbd installed on the host OS).
- EFI and BIOS inherited
- Supports clipboard sharing (between Guest OS and Host)
- Supports port forwarding
- USB device pass-through (makes it easy to connect and disconnect USB drives between the Guest and Host OS).
- You don’t need elevated privileges to create and run virtual machines.
- Support for SPICE connections
- Full-duplex audio
- VirGL acceleration
- Braille support
[powerkit_alert type=”info” dismissible=”false” multiline=”false”]
Tip: Although Quickemu is an excellent virtualization software, your PC hardware should have support for Virtualization. Nowadays, most laptops and Desktops support virtualization, and all you need is to enable it in the BIOS settings.
[/powerkit_alert]
This post will give you a detailed guide on installing Quickemu on Linux and how to create and run Windows, macOS, and Linux Virtual Machines. The Linux distribution we will use for this tutorial is Ubuntu. Let’s dive in.
Install Quickemu on Ubuntu
If you are running Ubuntu or any other Debian-based Linux distribution, you can easily install Quickemu by adding the PPA repository to your system. Execute the commands below.
sudo apt-add-repository ppa:flexiondotorg/quickemu sudo apt update sudo apt install quickemu
If you are using Arch Linux, you can easily download Quickemu from the AUR repository. For any other Linux distributions, follow the steps described on their official Github page. If the installation completes successfully, you can verify by executing the version command as shown below.
quickemu -version
Before we start spinning up virtual machines on our systems, let’s look at some tools that come with Quickemu and how to use them.
Quikemu comes with a special utility known as Quickget, which you can use to download an ISO file for the OS/ distribution you want to use for your Virtual machine. However, you are not restricted. If you have an ISO file already downloaded to your system, you can add the path in the configuration file, as we will look at below. Quickemu, on the other hand, is used to create the configuration file and start the Virtual machine.
1. Create a Linux Virtual Machine with Quickemu.
Up to this point, I believe you have a good understanding of Quickemu and Quickget.
Let’s look at how you can create a Linux virtual machine on your system with Quikemu. For this post, we will create a Debian Bullseye virtual machine. Follow the steps below.
Note All the downloaded ISO files and configuration files are saved in your current working directory. Of course, you can decide to specify another directory, but that will only make you write long commands.
Launch the Terminal and execute the Quickget command below to download the Debian Bullseye ISO file.
quickget debian 11.3.0
[powerkit_alert type=”info” dismissible=”false” multiline=”false”]
Tip: You might be wondering how we got the version number (11.3.0). You will have to look up that online from the official website for the OS you want to download. For example, if we want to download Ubuntu Focal-Fosa, we will enter quickget ubuntu 20.04. Also, this step might take some time, depending on your internet speed. Please be patient.
[/powerkit_alert]
After a successful download, Quickget will create a configuration file that you will use to launch your virtual machine. In our case, the configuration file generated was named “debian-bullseye.conf.”
Now, run this file with the quickemu command, as shown below.
quickemu --vm debian-bullseye.conf
[powerkit_alert type=”warning” dismissible=”false” multiline=”false”]Note (important!): If you execute these commands over SSH or any other command-line based remote connection, the last quickemu command won’t work. In our case, we got the error:
./debian-bullseye.pid: No such file or directory - Process: Starting debian-bullseye.conf as debian-bullseye ()
That’s mainly because the remote connection makes it impossible to launch a display process.
[/powerkit_alert]
As shown below, you should see the Debian installation screen if everything is okay. If you see a black screen with the message guest has not initialised display yet()
, don’t panic, give it a few seconds, and it will disappear.
You can now proceed with the installation from this point. Quite easy, right?
What if you have the Linux ISO file Downloaded already?
If you have the ISO file downloaded to your system, there is no need to download it again. You only need to create a configuration file and set the path to your ISO file. Use the syntax below. To keep things simple and clean, create this configuration file in the directory where you downloaded your ISO file.
guest_os="linux" disk_img="disk.qcow2" iso="debian-bullseye-11.3.0-amd64-DVD-1.iso"
Let’s give a detailed look at the above commands.
- Leave the
guest_os="linux"
anddisk_img="disk.qcow2"
as they are. iso="debian-bullseye-11.3.0-amd64-DVD-1.iso"
: Here, we specify the path to our ISO file.
Save the file (e.g. debian-bullseye.conf
) and execute the quickemu command to launch the Virtual machine.
quickemu --vm debian-bullseye.conf
To enhance the performance and capabilities of your virtual machine, install the packages below:
- Spice Agent: This utility allows bi-directional copy/ paste between the host and the guest OS. It also allows USB redirection. Install Spice Agent with the command below.
sudo apt install spice-vdagent
- Spice WebDAV: This utility lets you share files between the host and guest OS. Execute the command below to install SPICE WebDAV.
sudo apt install spice-webdavd
2. Create a Windows Virtual Machine with Quickemu
Creating a Windows virtual machine with Quickemu is not different from creating a Linux VM. It supports Windows 8.1, 10 and 11. This utility will also install VirtIO drivers for Windows. These drivers enable direct access to devices and connected peripherals for VMs. Follow the steps below.
If you don’t have the ISO file, execute the command below, and Quickget will download it for you. Remember to replace the 10 with the Windows version you want to install.
quickget windows 11
When the download is complete, you will see a configuration file generated by Quickget. In our case, it was windows-11.conf
. Run this file using Quickemu, as shown below.
quickemu --vm windows-11.conf
If everything was successfully set up, you should see the Windows installation screen pop-up as shown below.
What if you have the Windows ISO file Downloaded already?
If you have the ISO file downloaded to your system, there is no need to download it again. You only need to create a configuration file and set the path to your ISO file. Use the syntax below. To keep things simple and clean, create this configuration file in the directory where you downloaded your ISO file.
guest_os="windows" disk_img="disk.qcow2" iso="Win10_EnglishInternational_x64.iso" fixed_iso="virtio-win.iso" tpm="on"
[powerkit_alert type=”info” dismissible=”false” multiline=”false”]
Tip: You can download the VirtIO drivers ISO from the official Fedora download page.
[/powerkit_alert]
Let’s have a quick look at the parameters above:
guest_os="windows"
: This instructs quickemu to use optimisation for Windows systems.iso
: Here, you specify the path to your Windows 10 ISO file.fixed_iso="virtio-win.iso"
: Here, you specify the path to the VirtIO drivers ISO file.tpm="on"
: This parameter tellsquickemu
to create a TPM device that is software emulated usingswtpm
.
Regional Versions
By default, Quickget downloads the English International Windows version. Luckily, you can specify to download other supported languages like Chinese. In that case, your Quickget syntax will be as follows.
quickget windows 10 "Chinese Traditional"
3. Create a macOS Virtual Machine with Quickemu.
Unlike Windows and Linux, where you can download an ISO file separately and create a configuration file, we recommend using Quickget to download the macOS image file. It will automatically download the required OpenCore bootloader and OVMF firmware from OSX-KVM.
The supported macOS releases include
- High Sierra
- Mojave
- Catalina (Recommended).
- Big Sur Monterey
Use any of the commands below to download the macOS version you want to use for your Virtual machine.
quickget macOS high-sierra quickget macOS mojave quickget macOS catalina quickget macOS big-sur quickget macOS monterey
In our case, we installed macOS Big Sur.
After a successful download, it created a configuration file called macOS-big-sur.conf
. To start the Big Sur virtual machine, we will execute the quickemu command below.
quickemu --vm macOS-big-sur.conf
You should see the Big-sur installation pop up on your screen.
There are several features and considerations you need to know when running a macOS virtual machine with Quickemu.
- Although Quickemu optimizes the VM to run macOS, it doesn’t support GPU acceleration.
- You can only change the display resolution from the macOS System preferences
- Full Duplex audio is only available for macOS High Sierra, Mojave and Catalina. As of writing this post, Big Sur and Monterey have no audio.
- File sharing between host and guest is made possible using VirtIO-9p and SPICE WebDAVD.
- It doesn’t support Copy/ Paste using SPICE.
Let’s Checkout Quickgui
Quickgui is a third-party Graphical User Interface (GUI) for Quickemu developed in Flutter. However, you need to have Quickemu and Quickget installed in your system before using this tool.
If you are running Ubuntu or any other Ubuntu-based distribution like Pop!_OS, you can easily install Quickgui as a standard package. First, add the Quickgui repository to your system using the command below.
sudo add-apt-repository ppa:yannick-mauray/quickgui
When done, update the system and install Quickgui with the commands below.
sudo apt update sudo apt install quickgui
When done, you can launch Quickgui from your applications menu or from the Terminal by executing the command below.
quickgui
The Quickgui UI is quite fascinating as it also supports a dark mode feature. If you want to create a new virtual machine, click the Create new machines button and you will see a dropdown option to select the OS and OS version that you want to use for your virtual machine. Additionally, if you want to manage existing virtual machines, click on the Manage existing machines and you will see a list of all the Quickemu virtual machines on your system.
Wrapping Up
Quickemu seems to be a perfect alternative if you are looking for a simple and free Virtualization software other than VirtualBox.
If you plan to create a Linux or Windows Virtual machine, we recommend downloading the ISO file separately and writing the configuration file. However, if you want to create a macOS VM, use Quickget to download the image.
If you find the Quickemu command-line interface a little complicated, you can opt for Quickgui. What do you think about Quickemu compared to other Virtualization software? Please feel free to share your experience with our readers in the comments below.
Thanks for posting. This is good info for beginners who have enough of virtualbox or vmware.