While I have a preference for VirtualBox I'd say I'm hypervisor agnostic. Really any way I can get this to work would be super intriguing to me.
I use VMWare Fusion on an M1 Air to run ARM Windows. Windows is then able to run Windows x86-64 executables I believe through it's own Rosetta 2 like implementation. The main limitation is that you cannot use x86-64 drivers.
Similarly, ARM Linux VMs can use Rosetta 2 to run x86-64 binaries with excellent performance. For that I mostly use Rancher or podman which setup the Linux VM automatically and then use it to run Linux ARM containers. I don't recall if I've tried to run x86-64 Linux binaries inside an Linux ARM container. It might be a little trickier to get Rosetta 2 to work. It's been a long time since I tried to run a Linux x86-64 container.
I don’t know what the story for VMs is. I’d really like to know as it affects me.
Sure you can go QEMU, but there’s a real performance hit there.
https://support.apple.com/en-us/102527
https://developer.apple.com/documentation/virtualization/run...
I used to use VirtualBox a lot back in the day. I tried it recently on my Mac; it's become pretty bloated over the years.
On the other hand, this GUI for Quem is pretty nice [1].
I've run amd64 guests on M-series CPUs using Quem. Apple's Rosetta 2 is still a thing [1] for now.
Also is it possible to convert an existing x86 VM to arm64 or do I just have to rebuild all of my software from scratch? I always had the perception that the arm64 versions of Windows & Ubuntu have inferior support both in terms of userland software and device drivers.