It lacks the graphical interface of VirtualBox, but it's more scriptable, in my opinion.
In fact, virt-manager basically bridges the gap between VirtualBox and QEMU with the unfortunate dependency of libvirt.
It lacks the graphical interface of VirtualBox, but it's more scriptable, in my opinion.
In fact, virt-manager basically bridges the gap between VirtualBox and QEMU with the unfortunate dependency of libvirt.
On macOS, UTM bridges that gap.
It's also compatible with the native virtualisation stack which makes for extremely speedy VMs (boots in literally 1-2s, great performance overall - except for some lag on the GUI).
I have run x86 Win10 on UTM on an M2 Mac and didn't have performance issues but in fairness I didn't actually do much with it - mostly accessing thumb drives formatted with NTFS.
I do regularly run arm64 Linux on it though, and it's been quite stellar for that use case.
(this also applies to any mac container solutions)
It tends to add complexity, while making more advanced usage of specific virtualization backends more difficult. Especially with its own configuration format based on XML.
Edit: Correction, libvirt is not the graphical interface, but entirely the virtualization abstraction. Virt-manager one of several interfaces.