Worthless for some use cases but there are reasons to run Mac-on-Mac vms, including testing, development, and security (isolation). The first two also apply to some folks (maybe not many) for Linux VMs.
OS still needs to be ARM, as far as I know, but you can then use Rosetta to speed-up x86_64 Linux binaries.
Docker Desktop also uses this to run x86_64 Docker images, and in many cases performance is quite close to the native ARM binaries, but this heavily depends on the workload.
In terms of people who might consider Fusion you have:
- People who only use Windows
- People who only use macOS
- People who only use Linux
- People who virtualize Windows on macOS
- People who virtualize Linux on macOS
- People who run FreeBSD or similar on their computers
- People who virtualize FreeBSD or similar on macOS
- People who virtualize various operating systems on Windows
- People who virtualize various operating systems on Linux
- People who virtualize various operating systems on FreeBSD or similar
And I would guess that the largest group of people that use Fusion use it for running Windows in a VM on macOS.
I would guess that the people who develop for Linux servers would mainly use Docker if they run macOS, and that also relies on VM, but not using Fusion.
What about people who virtualize various operating systems on macOS? That was my entire team at a prior engagement (at Microsoft, as it happens…). I suspect it’s a large number, developers tend to like macOS, so if you’re making a cross platform application and want to be able to test anything at all, you need a VM.
> I would guess that the people who develop for Linux servers would mainly use Docker if they run macOS, and that also relies on VM, but not using Fusion.
x86 Docker on ARM Mac is an insanely complex setup - it runs an ARM Linux VM inside Hypervisor.framework that then uses a Rosetta client via binfmt that <somehow> communicates with the host macOS to set up all the Rosetta specific stuff and prepare the client process to use TSO for fast x86 memory access.
Unfortunately, Apple heavily gates anything Rosetta, I'm amazed Docker got enough coordination done with them - because QEMU didn't, they don't support anything Apple ARM-specific as a result and don't plan to unless Apple significantly opens up access and documentation; TSO for example is gated behind private entitlements.
Yeah that's a "how to use it in the simple case", that's not a "here is how this shit works under the hood so you can use it for more than just running userland processes" and it also doesn't state the limitations (e.g. what instructions are supported and which are not).
I had Fusion and ran Windows with it early on (it could even play some games!) and since I had it, I used it for Linux and some other things.
Those are now down with an old ESXi box or other forms of VMs now. Maybe I should look into the various VM options still, but I don't have any pressing needs.
The argument given was that VMWare became useless because of the switch to Arm.
There are more Hypervisor managers available on macOS now than there have ever been before - largely because Apple provides the underlying framework to do most of the hard work... but there is clearly significant demand to run VMs on Arm Macs still, regardless of whether that includes running Windows (which does exist for Arm too)
Well, I use Parallels to run a Windows VM for work (on ARM). It's its own little bubble universe, completely isolated from my Mac desktop, but available at a swipe.
I do use Fusion as well (on my laptop), and have a Windows VM there as well, but solely to run older games. Works fine.