The move from Intel to Apple Silicon Mac has been a smooth one for most types of software, thanks to Rosetta 2 compatible software and application developers who have been quick to add Apple Silicon support to their software. But the ability to run Windows and Windows applications either directly on hardware via Boot Camp or via a virtual machine is still not officially supported.
But vendors of paid virtualization software are working to close this gap. Parallels Desktop 17 will run an Arm version of Windows 11 inside a virtual machine, and yesterday VMWare released a beta version of VMWare Fusion 12 that can do the same.
The VMWare blog post details some of the changes they’ve made to support Windows 11, many of which are similar to the work Parallels has done. To meet the requirements of the Windows 11 TPM, the software creates an encrypted file that is used to store the same types of data that a real TPM would store on a real PC. VMWare also includes a basic 2D graphics driver to properly display the Windows desktop on high-resolution displays, as well as a basic network driver.
Microsoft does not officially support virtualization of the Arm version of Windows. The company licenses the Arm version of Windows only to PC manufacturers that build PCs with Arm processors. This means that you have to go through a lot of extra hoops to get Windows installed in VMWare Fusion in the first place, as you can’t just download the ISO file as you can with the x86 version of Windows. You need to download the Windows 11 beta build Hyper-V disk image from the Microsoft Windows Insider site, convert the file. vhdx to file. VMDK compatible with VMWare using separately downloaded Qemu software, create a virtual machine using this disk file, and then continue to install new betas as they become available so that the build you are using does not expire.
VMWare provides some basic documentation for testers hoping to try out this new build, but it’s worth noting that Parallels can at least offer you automatic Windows boot.
Running the Arm version of Windows will allow you to run most non-3D Windows applications, whether they were written to run on Arm or x86 processors. Windows includes a native x86-to-Arm translation similar to Rosetta, and Windows 11 improved it by allowing x86 64-bit applications to run and allowing developers to release applications using a mix of Arm and x86 code. This is a little more flexibility than Mac developers – if a Mac app has any x86-only dependencies or plugins, the entire app needs to be run in x86 mode, even if the rest of the app is native to Apple Silicon.
In recent versions of macOS, Apple has built its own virtualization environment, and independent developers have used it to create lightweight, free virtualization software without the cost and complexity of Parallels or VMWare. But it doesn’t officially support Windows in any capacity – on Apple Silicon Mac computers, it supports macOS and Linux virtual machines.