I have been using Parallels for a couple of years now, primarily for running Windows virtual machines (VMs), but occasionally Linux VMs too. I mostly use it for playing games, testing, and the occasional Windows-only application. There are some other long-standing options such as VirtualBox, QEMU, and VMWare. I am intentionally ignoring anything that also runs containers, such as Docker, as that’s a different use case, and a whole other gamut of options. Recent changes in macOS suddenly bought a plethora new options and after trying VirtualBuddy already and reading a post from the ever insightful Eclectic Light Company, I decided to try them all out! Want to watch this as a video? https://www.youtube.com/embed/0lJSgoD4eN0?embedable=true Criteria There are numerous options (now) available, so in profiling each of them I was generally thinking about the following criteria: Apple Silicon native or Intel only VMs supported Integration options between host OS Performance Ease of use and stability A quick aside on Virtualization vs Emulation Some tools in this article , others , and some do both. But what does that mean? virtualize emulate Emulation Emulation creates a version of an entirely different processor architecture in software that your in-built processor then runs. This is less efficient, but is the only way to run ancient software that uses CPUs that no longer exist. You may struggle running newer operating systems or applications. Virtualization More efficient that emulation, Virtualization uses a hypervisor, which is now a part of all major operating systems, to host the VM on an area of the in-built processor. This means that the operating system has to run on the same CPU architecture as your in-built CPU. VirtualBox As one of the classic Virtualization options, supports a lot of host and guest operating systems. It’s open source, but owned by Oracle, a combination that might put off many folks. VirtualBox There are binary releases you can install and . However, VirtualBox requires a kernel extension, so you need to restart after installation. a Homebrew formula is available The caveat is that VirtualBox only runs on x86 CPUs, and it describes itself as “not a CPU emulator”. This means , not even using Rosetta 2. I did use it extensively in the past, especially with Vagrant, but can no longer test it on my M1 MacBook Pro, so have little to say on it in this post. However, you can find plenty of other opinions and practical guides on using it. big it will never run on Apple Silicon Viable and Liviable Howard Oakly of the Eclectic Light Company tends to release applications as “technical examples”, at least that’s how I interpret them. They are more designed to demonstrate particular macOS features more than provide a complex user interface and several other features. has a simple interface for configuring the machine, downloads an IPSW image (much like VirtualBuddy) and off you go. is a companion application that supports Linux VMs, but only works in Ventura and above, and I am not quite sure why, but I imagine there’s a new feature available. Viable Liviable To create a VM in Viable, you click the button to download a default (generally the latest) disk image from Apple, or to use an image you have already. After that, change settings, and click . Download Install Start VM Liviable works the same way, but there’s no button, as there is no “official” image source, it’s up to you to find one. Download VirtualOS Somewhat lacking in documentation and possible proving that new macOS features make it “easy” to create virtualization applications, is another simple option for creating macOS virtual machines. virtualOS To create a machine, open settings and select if you want to download the “latest” image from Apple, or use a custom one. The click , that’s about it! start VirtualBuddy I covered before, and it’s another of the new breed of macOS virtualization options that only supports emulating macOS, so primarily for testing purposes. VirtualBuddy It’s relatively easy to use, emulates macOS at near native performance, and is fully open source with a rapid release cycle. . I have recently discovered that VirtualBuddy only works with macOS Monterey. Watch my other video for full details QEMU I couldn’t compile a list of Virtualization tools without mentioning , as it’s one of the earliest and longest running emulation options. It’s a command line tool with countless arguments to understand, and In fact, UTM is a front end for QEMU, with some other features added. QEMU If you can navigate those options, it’s powerful, and it’s currently the only option (and UTM) for emulating other architectures on Apple Silicon. So if you’re desperate to run some obscure x86 or PowerPC OS, or indeed “classic” Windows, then it’s your best option. UTM One of the more popular and better known new wave of virtualization options and is a wrapper around QEMU, offering the flexibility it offers but without needing to memorise command line arguments. can run ARM64 versions of Windows, Linux, and macOS. UTM can run on Intel machines and emulate OSs that run on different architectures. This includes more obscure processors like PPC and RISC-V. I was able to get Intel versions of Windows and Linux running. However, they run slow enough to be almost unusable, so use them sparingly, use older versions, or without a graphical user interface. However, UTM is open source, has an active community, and for people who like messing around with OSs, especially more obscure ones, it’s a viable option. UTM UTM doesn’t support GPU emulation for Windows, so you likely can’t play any games that require 3D acceleration. UTM and Windows Windows often doesn’t ship as an ISO file, but as a “ ” file, UTM can convert this on the fly for you, or you can download ISOs from 3rd party sites. Your mileage may vary there. To get hold of an ARM version of Windows you need to sign up for . Intel versions you can get in numerous ways. VHDX the Windows insider program Once you have an installation image, you can create the VM. First, select if you want to emulate or virtualize, and then you can create your own machines or pick from one of the templates UTM supports “officially” or from the community. Windows won’t recognise the network settings until you install to enable shared networking with the Mac. You can do this during the installation process and . the guest additions package full steps are in this guide Once you’ve completed that step, you can continue installing Windows and run it when you finally reach the end of the installation process. It’s a similar process for running x86 versions of Windows, except if you are not using an Intel Mac, the process will be unbearably slow. Maybe try Windows 95? UTM and Linux Again, first you need to download an ISO image and select “emulate” if you want to run an Intel (or something else) version of Linux, or “virtualize” for an ARM version. Emulating isn’t quite as painful as Windows, but it’s basically unusable, it could be performant enough for running command line Linux. Parallels At a press event ages ago I received a free year license for and continued to pay to keep it upgraded for the past 3 years. There is a Homebrew formula available, but I found it unreliable, and the installer would frequently crash, especially when upgrading, so it’s best to use the official packages. Parallels Parallels runs on ChromeOS and macOS, and largely promotes itself as an option to run Windows, but you can also run some pre-packaged Linux distributions and with some configuration, . In the past, I have personally got Manjero, FreeBSD, and other OSs working with Parallels well. I have not tried any of these on my Apple Silicon machine, though. I mostly use it for running Windows 11 which it does extremely well, and I have played fairly recent games (Civilization 6, Age of Empires 3, Divinity Original Sin 2) with little overhead. In recent versions Parallels also offered DirectX to Metal mapping, increasing performance, and it supports a lot of other macOS features inside most VMs, such as Sidecar. I have also used for quickly firing up some Ubuntu desktop machines for testing, again, with no issue. You can also install current versions on macOS as a VM, again primarily for testing purposes. many other OSs reasonably To create a VM, click the button in the Control Center window or use the menu item. From here you can select a pre-built image from Parallels, or select an ISO or VHDX you have downloaded from elsewhere and create a custom machine. + File > New If you can afford Parallels, then it has fast become my favourite choice for VMs, but it also isn’t open source and , but seemingly distant ones. has some Russian connections VMWare Fusion VMWare’s main business is virtual machines, so I have no idea why I never thought to even look and see if they had a desktop option for emulation. In essence is quite similar to Parallels, primarily aimed at letting you run Windows, but also supporting Linux, macOS, and “lesser know options”. Similarly to Parallels, it offers DirectX to Metal mapping and supports other macOS features. Interestingly, you can also use Fusion to run containers, which as Docker Desktop becomes increasingly bloated, is an interesting all-in-one alternative. Fusion In the process of writing this article, . If you can navigate VMWare’s labyrinthian signup processes, there’s even a free “player” version. VMWare Fusion for Apple Silicon went from preview to release in version 13 I tried the preview and while it’s not as performant or as slick as Parallels, it works. It doesn’t package ARM versions of Linux or Windows, so you have to find those yourselves. The list of ARM Linux distributions that work with Fusion is slowly growing and VMWare also has its own “Proton” distribution. To get the ARM version of Windows to work you first need to sign up with , download the VHDX and convert it to a “ ” file using QEMU with the following command. the Windows insiders program VMDK qemu-img convert -p -Ovmdk /path/to/.VHDX/destination/path/to.vmdk Much like UTM, Windows won’t recognise the network settings until you install the tools package to enable shared networking with the Mac. Follow these steps: On the Mac / Fusion Menu Bar click Virtual Machine > Install VMware Tools Press ‘SHIFT-Fn-F10’ to bring up the command prompt Type , hit return powershell Type - Type: cd D:\` to change directory to the tools drive Set-ExecutionPolicy RemoteSigned Type .\setup.ps1 Once you’ve completed those steps, you can continue installing Windows and run it when you finally reach the end of the installation process. Some of these steps have possibly changed (and become easier) now Fusion is out of preview. The best option So, you’ve read and/or watched this far and instead of an “it depends” answer want someone to tell you what you should use. Personally for regular usage, I will stick with Parallels, it’s the easiest and most performant option for virtualizing OSs. If I need to emulate something, typically to mess around with obscure or niche operating systems, then nothing beats UTM as it gives all the power of QEMU with a reasonable UI. Enjoy! What will you emulate or virtualize?