Alternatives to Parallels Desktop for running virtual machines on M1, M2 and M3 Macs
When it comes to running virtual machines on macOS, people often default to using Parallels Desktop. It's a great piece of software, and it does its job very well, but it also has some limitations, especially when used with ARM-based Apple Silicon Macs.
Parallels Desktop limitations and strengths on Apple Silicon
It's not widely known, but Apple created its own system for running virtual machines on Apple Silicon. It's free and it's installed by default with every version starting from macOS Monterey. You can't use it directly as an app, but it's there and it supports running any ARM-based guest operating system. When Apple announced its transition to Apple Silicon, Parallels already had a great solution for running virtual machines on Intel-based Macs. Unfortunately, ARM-based Apple Silicon Macs required a totally different technology. So there is no surprise that Parallels chose to reuse an already existing technology from Apple.
So you might ask yourself a question: “Is Parallel Desktop for Apple Silicon is just a fancy wrapper on top of free virtualization engine from Apple?” Well, it kind of is. Sure, Parallels tries to add lots of nice cosmetic features, but unfortunately, they are not in control of the most core part of their product: the virtualization engine.
What exactly are the limitations of Parallels Desktop?
- It's a paid app. This is quite subjective, but you also can't get around the fact that the cheapest version of Parallels Desktop costs $99 a year.
- It can virtualize only ARM-based versions of operating systems. While Linux and macOS support for ARM architecture is great, Windows seems to be lagging behind. ARM is supported well enough in Windows 11, but it's still in beta. Windows has a translation layer of its own, which allows you to run x86 apps on ARM architecture, but it may not work in some situations.
- You can't connect USB devices to a macOS VM. Although you can do it in Windows VMs.
- Snapshots are not supported on macOS VMs. This seems to be another limitation of the core Apple virtualization component.
- There is no UI to change settings for macOS VMs. This seems to be a shortcoming on Parallels' side.
- Nested virtualization is not supported for Windows 11 VMs. This means that you wouldn't be able to use WSL2 on Windows.
What are the strengths of Parallel Desktop?
Well, this is simple: Coherence mode. If you want to run virtual machines based on Windows, this is the top feature you might want to shell out $99 for. While all other virtualization apps can either run guest operating systems in a window or in full screen mode, Parallels can merge windows from your VM straight onto your macOS desktop. This feature is really cool and it works exceptionally well.
UTM — a free and open-source alternative to Parallels Desktop
UTM is a relatively new project, but in my opinion it is the best solution for general-purpose virtualization on macOS that you can get for free. It has two modes of operation: virtualization and emulation.
Virtualization
This mode allows you to create virtual machines with ARM operating systems. This mode utilizes built-in macOS virtualization engine, so you will get roughly the same high speed and core features as you would get with Parallels. UTM gives you a nice UI to customize VM options and a one-click helper to download the latest Windows for ARM installer (otherwise not a trivial task, since it's still in beta).
There is a special case for Debian Linux, which can use Apple's Rosetta component in order to run Intel-based binaries, just like you would on a macOS itself. This is certainly not for the faint of heart, as most things with Linux are, but it's nice to have such an option out of the box.
There is not much else to be said about this mode overall, since it leverages the same core virtualization technology. In my experience, virtual machines created in this mode run smooth and fast. Virtualized macOS runs close to bare metal performance, as advertised (with an exception of some caveats like writing to a virtual volume).
Emulation
This mode is what makes UTM so useful among other virtualization solutions. There are cases when you want to run x86 versions of operating systems — for example, there is simply no ARM-compatible version of Windows XP. UTM allows you to do just that by bundling a well established full-system emulator called QEMU. It can emulate lots of system architectures, not just x86. It is almost infinitely configurable, and this makes working with QEMU quite challenging: there are a lot of intricacies to learn and a lot of experimentation to do. UTM greatly simplifies this process by providing a user-friendly UI over QEMU, which allows you to create new VMs almost as easily as in virtualization mode. To make things even easier, UTM has a gallery with preconfigured virtual machines for different operating systems. You can just download a template, open it in UTM and provide installation media for the selected OS.
Here is a screenshot of Windows XP running with decent performance on my M2 MacBook Pro:
How crazy is that!
Other options
Of course, UTM isn't the only solution you can use for running unusual things on Apple Silicon.
Whisky
If you want a way to run Windows software on a Mac, there is another possibility besides creating a full-blown virtual machine. You can try Whisky, which is a free and open-source frontend for Wine and Apple's Game Porting Toolkit. Wine is a whole different rabbit hole, but in short, it aims to create a compatibility layer for Windows, which allows you to run Windows apps directly on macOS or Linux. There is a different project called CrossOver, which is built on top of Wine in order to improve compatibility and make it more user-friendly. And finally, Apple created a Game Porting Toolkit, which in turn is based on CrossOver, and aims to enable running big titles directly on macOS. This is something that Steam has done successfully with Proton and Steam Deck, so Apple decided to try and join the party.
Anyway, if you want to run modern game titles on macOS, you can try Whisky. It can also be used to run any other Windows app, not just games. Many people report great results, but beware that all this stuff is still highly experimental, and you should expect spending hours on various forums and wikis.
VMware Fusion Player
Another alternative to Parallels Desktop and UTM is Fusion Player from VMWare. You can obtain a personal license and use it for free if you do non-commercial work. Personally, I don't see a point in using it, since you need to register and jump through some hoops to get a license, and there is no additional value that Fusion Player can offer on top of free and open-source UTM. It can only virtualize ARM-based operating systems, and it also lacks Parallels' bells and whistles such as Coherence.
VirtualBox — not an option
Unfortunately, another popular virtualization software — VirtualBox — doesn't support Apple Silicon Macs at the moment of writing.
Conclusion
If you are looking for an alternative to Parallels Desktop, consider trying UTM. It doesn't have more advanced features like Coherence mode, but it's free and open-source. And if you require running non-ARM operating systems, UTM is much more user-friendly than using QEMU directly.