Current best practice for virtual machines on immutable System (Kinoite/Silverblue)

Hey Folks,

my current System is Fedora Kinoite. I want to use a W10 or W11 virtual machine for some software compatibility and testing. For that I decided to go with Virt-Manager / Libvirt.

My decision for libvirt qemu kvm was made for best performance and customisation.

(Also looked on virtualbox and gnome boxes). Yes, I have seen that it is possible to use Gnome Boxes via Flatpak but hated Boxes due to its lack of customization options on Fedora Workstation in the past.

I want to ask if it is current best practice on Immutable-System like Kinoite to layer the virt-manager and needed packages with

rpm-ostree install virt-manager

Or are there alternatives? This was a recommendation from last year (Installing package groups)

Thanks in advance

1 Like

This is the right way to do it. Libvirt, qemu, and kvm need to be installed and enabled on the host and only then can they be leveraged from toolbox, etc. Toolbox will detect it and forward it to the containers. I’m currently doing it this way in Kinoite and have some toolbox instances that launch VMs as part of their processes.

1 Like

See also Overlaying libvirt on Silverblue / Kinoite / Sericea / Onyx and CoreOS

@awee85, by any chance, are you able to share anything you have for this setup?
That is, how you setup & use a Windows VM, while running Kinoite/Silverblue with a virt-manager layer.

Sorry to necro an old post, but the title says ‘current best practice’ and I thought I’d ask a question about that.

I’ve layered the three packages mentioned: virt-manager , qemu-kvm , and quemu, but I still see errors when trying to run virt-manager, reporting that it cannot connect.

Does anyone have any steps for sure-fire ways to get virt-manager/QEMU up and running on Kinoite?

I’ve also tried the Boxes flatpak, but it doesn’t allow me to import an existing .qcow2 image.

I have it working on Kinoite. You need to install qemu and libvirt with rpm-ostree install and enable libvirtd on the host after rebooting (systemctl enable --now libvirtd). It should then work via toolbox or flatpak from there, but there’s no way around qemu/libvirt being installed on the host via rpm-ostree before it will work anywhere else.

1 Like

Let me try this! Thank you for your comment. I’ll report back after I give it a shot.

This worked perfectly. I was missing the systemctl enable --now libvirtd step. Thank you for replying here!

1 Like

This is not true. You can install the software in a rootful Distrobox. I am not sure if toolbox supports this (tbh just ditch toolbox, there are so many crucial missing things).

To get Wayland working, you install a minimal rootful distrobox with the libvirt stuff, and a regular rootless box for the GUI frontend.

Connect them over ssh and it works.

I had troubles doing this repeatedly, and regarding attack surface it really makes no sense to have an entire separate core system running as root. So layering makes way more sense.