Virt-manager install experience on Silverblue is lousy

Is there a bug somewhere I can go file or vote on about the crummy virt-manager installation experience on Silverblue? Or did I miss some incredibly easy solution or concise documentation? My limiting factor is that I need Windows and USB passthrough so that I can program and debug boards with USB CMSIS-DAP hardware (so, presumably FlatPak-only solutions are out–of course, I’m willing to be corrected if that’s wrong).

The documentation is scattered all around. I had to layer a zillion packages which is the whole point that atomic operating systems try to avoid. Because I had to fiddle with the nonstandard handling of users and groups I managed to lock myself out of the sudoers and had to go recover that. Then I had to go figure out that I had to manually start libvirtd (see: fedora-sysexts/libvirtd at main · travier/fedora-sysexts · GitHub). Then I had to go figure out that I needed and then find the virtio drivers for Windows 10. And finally figure out how to enable acceleration.

And to add to the misery–discussion search is broken. Contrast searching for “virtqemud-sock” vs Googling “site:fedoraproject.org virtqemud-sock”.

Overall, the experience was quite unpleasant. I could never have expected one of my junior folks to slog through the process and come out the other side.

This all needs to have a bug to track if it doesn’t already.

Apologies for the rant.

2 Likes

Not really. Atomic systems have a different management tool, and it has support for handling RPMs.

The UX is not great at all, correct. If you layer all the metapackages you will install all the unneeded emulation packages

Replace dnf with rpm-ostree

Have you tried Install Virtual Machine Manager on Linux | Flathub with the QEMU extension? (see: GitHub - flathub/org.virt_manager.virt-manager)

Hum, if you need access to USB devices then you indeed need to either layer the packages or use the systemd system extension (sysext). See Overlaying libvirt on Silverblue / Kinoite / Sericea / Onyx and CoreOS for a list of packages to layer.

I did overlay it. But there were a couple of manual steps that were problematic (manual copying over the appropriate groups because Silverblue doesn’t do group handling properly yet, doing the manual start of the sockets, getting the display drivers).

At the very least, there is so much conflicting and scattered information that a single “official” documentation point really is warranted.

Anyhow, thanks for the git repo at fedora-sysexts/libvirtd at main · travier/fedora-sysexts · GitHub. I’d have never figured out the sockets thing without it.

1 Like

I think many users would solidarize with that experience, me included. I’ve tried to use distrobox for running virtualization stack, but this just feels wrong. Distrobox is just a lenghty bash wrapper script around podman. Not to mention it doesn’t work. I followed their instructions, successfully created libvirt container, but I can’t create any VM through virt-manager because of issues with PAM security limits, thus getting an obscure error that I don’t have willingness to debug further. Also systemd’s services in distrobox container are not starting properly (failed state) after host restart.

I’m still trying to put everything together. From what I understood, I should install org.virt_manager.virt-manager and org.virt_manager.virt_manager.Extension.Qemu through Flatpak to avoid more packages for overlay.

I’m a little bit lost with fedora-sysexts/libvirtd at main · travier/fedora-sysexts · GitHub - what exactly is sysexts and how to install it?

Checkout the readme: GitHub - travier/fedora-sysexts: Example sysexts for Fedora image based systems