Using an immutable distribution

If you are on an immutable distribution (Silverblue/Kionite, MicroOS) chances are that installing lots and lots of packages on the base system is not advisable.

One way is to use a distrobox for them.

Prepare the container

To run libvirt/qemu/kvm we need a systemd container and we need a rootful container to be able to use it, see this tip to have a list of compatible images. We will use in this example AlmaLinux 8:

:~> distrobox create --root --init --image --name libvirtd-container
:~> distrobox enter --root libvirtd-container

Let it initialize, then we can install all the packages we need:

:~> distrobox enter --root libvirtd-container
:~$ # We're now inside the container
:~$ sudo dnf groupinstall "Virtualization Host" --allowerasing 
:~$ sudo systemctl enable --now libvirtd

Now we need to allow host to connect to the guest’s libvirt session, we will use ssh for it:

:~$ # We're now inside the container
:~$ sudo dnf install openssh-server
:-$ echo "ListenAddress
Port 2222" | sudo tee -a /etc/ssh/sshd_config
:-$ sudo systemctl enable --now sshd
:-$ sudo systemctl restart sshd

Connect from the host

You can now install VirtManager, you can either use a normal (non root) distrobox, and export the app

Now you will need to Add a connection:


Then set it like this:


Optionally you can set it to autoconnect.

Now you can simply double click the connection to activate it, you’ll be prompted with your password, insert the same password as the host:


And you should be good to go!