Proxmox
- based on KVM
- relatively easy to install
- big community and lots of how-to guides
- well-documented hardware pass through
- minimal install (no cups, no extraneous software)
Proxmox
If all you want is KVM, than any Linux distro + virt-manager will work perfect. My general recommendations for Linux distros are Fedora and openSUSE, because they are usually pretty up-to-date. Arch is also a good option, though not as stable. Choose KDE Plasma or GNOME when using GPU passthrough (because most guides will be made for either of these DEs).
That's what I'm thinking about but I think that OpenSUSE or Fedora might be too much bloated. Someone recommended AlmaLinux and I think that might be a great solution.
Alma is an LTS enterprise distro so gets pretty out of date after some time, and I don't think it is significantly more bloated than Fedora because AlmaLinux is downstream of Fedora. Just uninstall the apps you don't want on install. Even better is openSUSE Tumbleweed because the YaST installer allows for you to pick and choose every package (or group of packages) that makes it onto your final system.
That seems far from minimal. A bare metal virtualisation manager like promox should fit the job much better with no actual overhead.
They specifically asked for a desktop operating system, so I recommended systems with a GUI. Proxmox comes with its own bloat, Arch would be far more minimal without the need for a bunch of dependencies.
Proxmox is based on debian, with it's own virtualization packages and system services that do something very similar to what libvirt does.
Libvirr + virt manager also uses qemu kvm as it's underlying virtual machine software, meaning performance will be identical.
Although perhaps there will be a tiny difference due to libvirt's use of the more performant spice for graphics vs proxmox's novnc but it doesn't really matter.
The true minimal setup is to just use qemu kvm directly, but the virtual machine performance will be the same as libvirt, in exchange for a very small reduction in overhead.
Opensuse MicroOS is not only minimal, but also inmutable. Or their variations Aeon (Gnome) or Kalpa (Plasma) if you are looking for a desktop env.
On top of that, if you enable Cockpit it would enable your VM and containers management.
Not helping here, but I heard a guy with Guix did that. Guix just builds a profile with the extra desktop parts, run it in a local container if you want and add that profile to the local software stack. Not a vm but maybe you don't need it ? Both the system, home and the desktop profile are declarative, so very mobile. I think he had his DE user profile remote also, so extremely minimal/air-gapped and stable solution with almost zero local data: system, home, desktop-profile, remote user profile (ldap etc).
In declarative operating systems, you describe what you want, and the system builds it for you. Your whole system configuration is a few files of std code (learning experience ;). Personally, I'm done with the usual monolithic distros. They are too error prone for my taste, and not really moving with the dev flow of operating systems imho.
Anyway, just a loose rumor/idea, I have no links and don't actually know how to do it, sorry.
Another option is to run a minimal GUI with Cockpit to manage your VMs and Containers.
Well. Gentoo will let you have a direct say in every single aspect of the final system.
Unpopular take but TrueNAS has some pretty good virtualization options out-of-the-box.
all 23 comments