I used KVM with virt-manager for a long time. Even ran a gaming VM with GPU pass-through.
Then I created a Docker image with Linux, Gnome, and novnc so I can spin one up instantly with little resource overhead and control it from any web browser.
I use libvirt to do all my kvm/qemu stuff on my server. Using cockpit-machines web UI as a frontend. On my workstation if I ever need a VM I usually turn to Gnome Boxes for simplicity
Qemu+Kvm with virt-manager is my boy nowadays. But I'm not a heavy user of Vms, just experimented with this to build some Flatpak. But plan on trying out other distributions, just for science. It wasn't easy to figure out how to share a folder, and I could not get drag and drop or clipboard share to work. Still though, its faster than any other solution. I used VirtualBox in the past, which was easy to work with.
Based on QEMU+KVM so it's quite robust. It works pretty well, plus it has various little features working out of the box that in some other software is a pain in the arse to configure.
Sticks out a bit on my system due to still being GTK3, but there is a GTK4 prototype out that usually works well.
E: downvoting anybody who says Gnome Boxes because you use a different virtual machine frontend is laughably pathetic lmao. Some people in the Linux community are such losers lol
So far I’ve been fine with some Oracle Virtualbox and some using the VM Manager that was in my distro or maybe I downloaded it. It’s just called Virtual Machine Manager made by Red Hat. Libvirt.
Between those I’ve been able to do everything I have needed.
Virt manager for qemu. I use docker and distrobox for Linux distros
I recently managed to use my windows partition (for dual boot) as a disk for a qemu. I don't use it but really cool trick anyways. Tutorial here
Also it's not very healthy for windows since it is not designed for constant hardware changes. But idc all my apps are installed on D: so I can just reinstall it without thinking about it much
I use virt-manager, aka Virtual Machine Manager. Using this specifically because of the winapps for Linux repo has instructions on how to get Windows apps to run through the VM to be integrated in a Linux environment.
If I'm running another Linux distro that will be happy under the host kernel then I use LXD (or Incus) containers. Otherwise it's QEMU+KVM or occasionally Virtual Box.
xcp-ng. except now everything is just containers on atomic fedora because it seems to fit my laziness better and doesn't require updating multiple vm os's
Currently virt-manager on top of qemu/kvm on Debian 12. It was the easiest to get to emulate a TPM on my ancient hardware (9ish years old, but still powerful).
I'm learning enough about the backend that I'm hoping to get off the Redhat maintained software and only use the qemu cli, maybe write my own monitor with rust-vmm when I learn enough rust to do so.
I tried using virt-manager+kvm to try some stuff out the other day but I failed to set-up some crucial things. Probably me being incompetent.
Not like virtualization is a big part of my life anyway. I just wanted to try some other distros and such without rebooting.
If I were to get serious about virtualization I'd need to build a new PC with a second GPU. Then I could stop dual-booting and do everything with VMs. But it'd only be worth it to get serious about learning how to virtualize stuff if I were to do that.
Raw qemu at the command line for the one I use on a daily basis (not recommended for the average user). VirtualBox if I need to spin something up quickly but don't expect to need to keep it past the current testing cycle.
Replied to others with this but realized you won't get those notifications. I finally got around to releasing this, which is Debian in your browser via Docker: https://nowsci.com/webbian