Last week we heard from Apple’s VP of software engineering Craig Federighi that the ARM version of Windows 10 could run natively on Apple Silicon M1 Macs but was “really up to Microsoft.” Now a developer has found a workaround enabling the first virtualization of ARM Windows running successfully on an M1 Mac and claims the performance is “pretty snappy.”
As Federighi explained that M1 Macs could certainly run the ARM Version of Windows 10 but that it would be up to Microsoft, we detailed the trouble Apple currently is running into and why it can’t offer Boot Camp with Apple Silicon Macs:
We may be some time away from Microsoft changing its mind on its Windows ARM policy for running natively on Macs (if it does). But in the meantime, The 8-Bit discovered that developer Alexander Graf was able to make some tweaks to get his M1 Mac running the OS as a virtualization and even highlighted that “It’s pretty snappy here 😄.”
Microsoft’s current licensing doesn’t allow its ARM version of Windows 10 to be used by Apple (since it’s not preinstalled). And previously, Microsoft said it didn’t have any news to share when The Verge asked about it making a change to allow Boot Camp on ARM Macs.
Graf also noted that “Windows ARM64 can run x86 applications really well. It’s not as fast as Rosetta 2, but close.”
Who said Windows wouldn’t run well on #AppleSilicon? It’s pretty snappy here 😁. #QEMU patches for reference: https://t.co/qLQpZgBIqI pic.twitter.com/G1Usx4TcvL
— Alexander Graf (@_AlexGraf) November 26, 2020
The 8-Bit gave more detail on the process Graf went through to make this happen:
Graf also mentions in one of his tweets that “Windows ARM64 can run x86 applications really well. It’s not as fast as Rosetta 2, but close.”
He was able to achieve this by running the Windows ARM64 Insider Preview by virtualizing it through the Hypervisor.framework. This framework allows users to interact with virtualization technologies in user space without having to write kernel extensions (KEXTs), according to Apple.
Moreover, this wouldn’t have been possible without applying a custom patch to the QEMU virtualizer. QEMU is an open-source machine emulator and virtualizer. It’s known for “achieving near-native performance” by executing the guest code directly on the host CPU. So it goes without saying that only ARM guests can be perfectly virtualized on an ARM machine like the M1-supported Macs.
Graf thinks his process is “definitely reproducible” but that it naturally won’t offer a fully stable system.
For advanced users, you can give the workaround a try (at your own risk) with detailed instructions from Graf here. But for most, using CrossOver, or waiting for Parallels support to land will be ideal.