I want to run Linux virtual machines on my existing Linux system mainly for testing and experimenting with different distributions. High performance isn't essential, though support for running containers inside the virtual machine would be useful. I'm considering VirtualBox, QEMU/KVM, or a similarly simple tool. I've only used virtualization for running a different operating system before, so I'm wondering whether running Linux on Linux provides any meaningful performance advantage and which option is easiest to set up.
3 Answers
KVM with QEMU is the usual Linux-native option, and Virtual Machine Manager gives you a graphical interface for it. With hardware virtualization enabled, performance can be close to native regardless of whether the guest is Linux or another operating system. Running the same CPU architecture helps with compatibility, but Linux-on-Linux doesn’t automatically provide a special performance boost beyond hardware-assisted virtualization.
For a desktop, GNOME Boxes is probably the simplest choice. It uses KVM/QEMU underneath but provides a much friendlier interface for creating and managing virtual machines. You’ll need a GNOME-based desktop for the smoothest experience, and an SSD will make the VM noticeably quicker than a hard drive.
If this is a separate machine intended to host several VMs, a dedicated virtualization platform such as Proxmox is worth considering. For occasional distro testing on a normal desktop, though, GNOME Boxes, Virtual Machine Manager, or VirtualBox should be sufficient. Containers can run inside the guest as long as the guest has the required container tools and kernel features.

That makes sense. I mainly want something convenient, so using a graphical frontend with KVM may be a good middle ground.