5

A quick look at Quickemu

 6 months ago
source link: https://www.lorenzobettini.it/2024/03/a-quick-look-at-quickemu/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

A quick look at Quickemu

I have already blogged in the past about kvm/qemu.

Using the “Virtual Machine Manager” might not be straightforward initially. I’ve heard about Quickemu, which has this goal:

Quickly create and run optimised Windows, macOS and Linux desktop virtual machines.

In this blog post, I’m describing my experience with quickemu in Arch. The package is available from AUR:

yay -S quickemu

And you also need the package for Qemu desktop mechanisms:

sudo pacman -S qemu-desktop

Then, you use the program “quickget” to get the ISO of one of the many distributions handled by quickemu. Let’s run it without arguments:

❯ quickget
ERROR! You must specify an operating system.
- Operating Systems: alma alpine android antix archlinux archcraft arcolinux batocera blendos bodhi bunsenlabs cachyos centos-stream debian deepin devuan dragonflybsd easyos edubuntu elementary endeavouros endless fedora freebsd freedos garuda gentoo ghostbsd haiku holoiso kali kdeneon kolibrios kubuntu linuxlite linuxmint lmde mageia manjaro mxlinux netboot netbsd nixos lubuntu macos openbsd openindiana opensuse oraclelinux peppermint popos porteus reactos rebornos rockylinux siduction slackware solus spiral tails tinycore trisquel truenas-core truenas-scale ubuntu ubuntu-budgie ubuntucinnamon ubuntukylin ubuntu-mate ubuntu-server ubuntustudio ubuntu-unity vanillaos void vxlinux windows xerolinux xubuntu zorin
You can also use this arguments:
Only show ISO download URL
--show-iso-url / -s {distro} {release} [edition]
Test if ISO is available
--test-iso-url / -t {distro} {release} [edition]
Open distro homepage
--open-distro-homepage / -o {distro}

Let’s try Zorin:

❯ quickget zorin
ERROR! You must specify a release.
- Releases: 16
- Editions: core64 lite64 education64 edulite64

We also need to specify its version:

❯ quickget zorin 16

Now, it starts downloading into the current directory, creating a subdirectory. For example, I’m running that from a mounted drive. Here’s some output and some commands to show the layout of the directories and the created configuration file to start the virtual machine with the mounted ISO:

❯ quickget zorin 16
zorin-16-core64/Zorin-OS-16 100%[=========================================>] 2.91G 3.35MB/s in 15m 23s
Making zorin-16-core64.conf
Giving user execute permissions on zorin-16-core64.conf,
To start your Zorin OS virtual machine run:
quickemu --vm zorin-16-core64.conf
❯ tree
├── zorin-16-core64
│   └── Zorin-OS-16.3-Core-64-bit.iso
└── zorin-16-core64.conf
❯ bat -p zorin-16-core64.conf
#!/usr/bin/quickemu --vm
guest_os="linux"
disk_img="zorin-16-core64/disk.qcow2"
iso="zorin-16-core64/Zorin-OS-16.3-Core-64-bit.iso"

Let’s start it:

quickemu --vm zorin-16-core64.conf

Note the layout after starting the machine:

❯ tree
├── zorin-16-core64
│   ├── disk.qcow2
│   ├── OVMF_VARS.fd
│   ├── zorin-16-core64.log
│   ├── zorin-16-core64-monitor.socket
│   ├── zorin-16-core64.pid
│   ├── zorin-16-core64.ports
│   ├── zorin-16-core64-serial.socket
│   ├── zorin-16-core64.sh
│   └── Zorin-OS-16.3-Core-64-bit.iso
└── zorin-16-core64.conf

Thus, it should be easy to put it on an external drive

Here’s the machine starting with the live ISO:

quickemu-zorin-1.png?resize=625%2C430&ssl=1

I pressed Ctrl+C to cancel md5sum checks.

quickemu-zorin-2.png?resize=625%2C379&ssl=1

Here’s Zorin starting (audio is working):

quickemu-zorin-3.png?resize=625%2C379&ssl=1

The screen had resized automatically and became bigger.

I started the installation, mainly choosing default options (e.g., erase the entire disk). And here’s the login screen after the installation finished and the machine rebooted:

quickemu-zorin-4.png?resize=625%2C379&ssl=1

quickemu-zorin-5.png?resize=625%2C379&ssl=1

The impressive thing is that animations are really fluid and smooth in the virtual machine: you almost don’t realize you’re using a virtual machine:

quickemu-zorin-6.png?resize=625%2C379&ssl=1

Here’s the disk layout and memory (on this computer, I have 16 GB, and quickemu automatically selected half the memory for the virtual machine):

quickemu-zorin-7.png?resize=625%2C459&ssl=1

quickemu-zorin-8.png?resize=625%2C539&ssl=1

Then, I tried Garuda:

❯ quickget garuda                                                  
ERROR! You must specify a release.
- Releases: latest
- Editions: cinnamon dr460nized dr460nized-gaming gnome i3 kde-git kde-lite lxqt-kwin mate qtile sway wayfire xfce

I tried the “Garuda KDE Dr460nized”:

I edited the conf file to increase the disk size:

#!/usr/bin/quickemu --vm
guest_os="linux"
disk_img="garuda-latest-dr460nized/disk.qcow2"
iso="garuda-latest-dr460nized/latest.iso"
disk_size="62G"

Let’s start it:

quickemu --vm garuda-latest-dr460nized.conf

quickemu-garuda-1.png?resize=625%2C469&ssl=1

Even in this case, the desktop automatically resizes if I resize the Qemu window.

quickemu-garuda-2.png?resize=625%2C352&ssl=1

The installation went smoothly and fast in this case. The login screen is full of nice blurry effects:

quickemu-garuda-3.png?resize=625%2C352&ssl=1

On the first login, you’re welcomed by the Garuda assistant to perform some initial tasks.

Here’s the information about the installed system:

quickemu-garuda-4.png?resize=625%2C438&ssl=1

quickemu-garuda-5.png?resize=625%2C320&ssl=1

Animations and effects are smooth, e.g., the “Overview”:

quickemu-garuda-6.png?resize=625%2C391&ssl=1

To summarize, with quickemu, creating a new Qemu virtual machine is easy, starting from one of the many managed Linux distributions. It also works for macOS and Windows distributions, though I haven’t tried them.

Moreover, the performance of the virtual machine is fantastic. The virtual machine seems as smooth as the currently running system.

The only drawback I’ve experienced is that, with the default configuration, the shared clipboard does not work: you must start the virtual machine with the spice display (” –display spice”). For example,

quickemu --vm zorin-16-core64.conf --display spice

Remember to install the spice agent in the virtual machine. In the two above examples I’ve tried, the installed virtual machine already has the agent installed automatically during the installation.

First, at least in my experiments, the shared clipboard does not work anyway when the host is running on a Wayland session. Moreover, using the “spice” display, the virtual machine’s performance decreases significantly (see my reported issue: https://github.com/quickemu-project/quickemu/issues/933). Probably, to easily communicate and paste commands in the virtual machine, it is better to install the SSH server in the virtual machine and connect to the virtual machine via SSH.

In any case, this quick look at Quickemu impressed me a lot. 🙂

Like this:

Loading...

This entry was posted in Reports and tagged kvm, qemu, quickemu, virtual machine on March 7, 2024.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK