Developer Proves Windows for ARM Can Run on M1 Macs
Toggle Dark Mode
While most Mac users are quite happy living in entirely in Apple’s macOS ecosystem these days, it’s still a sad reality that for some, running Windows — or at least Windows apps — is a non-negotiable requirement for their Macs.
While the need for Mac users to dance on the dark side isn’t nearly as prevalent as it was over a decade ago when Apple first made the big switch to Intel MacBooks, there are still some specific areas where Windows apps either don’t have Mac counterparts at all, or where the native options for Mac users are anemic by comparison.
So it’s understandably been a point of concern for some Mac users whether to take the plunge into Apple’s newest M1 chip. While the new ARM-based Apple Silicon is now found in all of the current MacBook Air models, however, at least MacBook Pro and Mac mini customers can still decide whether to purchase an M1 version or the older tried-and-true Intel variants.
To be clear, there are also still other advantages to purchasing one of Apple’s Intel MacBooks or the Intel Mac mini right now; Apple’s M1 models all cap out at 2TB SSDs and 16GB RAM, and none offer more than two Thunderbolt / USB ports. On the other hand, the Intel Mac mini can support up to 64GB of RAM, and the Intel MacBook Pro models can handle up to 32GB.
Windows on Apple Silicon
While it remains unclear whether Windows support will ever officially arrive for Apple’s M1 Macs, there’s no reason that the hardware can’t support the ARM-based version of Windows, and Apple has already pointedly put the responsibility for that on Microsoft’s shoulders, and Microsoft is being non-committal at best right now.
However it’s looking more and more like the problem is going to come down to a legal technicality that amounts to whether Microsoft is willing to license Windows for ARM in such a way that it could be used on ARM-based Macs. As things stand right now, Microsoft only offers up the ARM-based version of its operating system for its own Surface tablets and other specific OEMs that develop integrated systems based on Qualcomm’s ARM chips.
Earlier this month, however, Apple’s SVP of Software Engineering, Craig Federighi, made it clear that Apple’s Silicon “has the core technologies” to run the ARM version of Windows, and the Macs “are certainly very capable of it,” and now at least one developer has set out to prove that Federighi’s comments aren’t just posturing on Apple’s part.
As shared by The 8-Bit and MacRumors, developer Alexander Graf has successfully managed to virtualize the Windows version fo ARM on an M1 Apple Silicon MacBook, demonstrating that it’s totally possible to run a full native Windows environment on Apple’s newest hardware.
While Graf hasn’t yet been able to actually run Windows for ARM fully natively on an M1 Mac as an independent operating system, he was able to use the open-source QEMU virtualizer — an app that essentially works along the same lines as Parallels or VMware Fusion — to run a full installation of Windows ARM64 under macOS Big Sur.
Since Windows ARM64 is already capable of running Intel-based x86 applications, once this was up and running on his M1 Mac, Graf was able to load up some standard Windows apps, noting that while they didn’t run as fast as x86 Mac apps would run under Apple’s own Rosetta 2 framework, they were pretty close.
To accomplish this magic, Graf also had to custom patch the QEMU virtualizer. He explains all of the technical details for those who want to dive in on how he managed to do it, and although the process as it stands right now isn’t for the faint of heart, any advanced user with sufficient technical knowledge should be able to reproduce Graf’s proof-of-concept on their own M1 Mac, although he notes that this is very preliminary still and users shouldn’t expect a perfectly stable system just yet.
Notably, what Graf has accomplished here is fundamentally different from using an app like CrossOver to run Windows apps under macOS. CrossOver uses the well-known WINE library to translate Windows APIs into their Mac equivalents, while virtualization allows the entire Windows operating system to be run within macOS.
Note that Graf did not attempt to use the standard Intel version of Windows, as this would not have been possible with QEMU, which only offers virtualization as opposed to emulation. In essence, since the M1 chip is a 64-bit ARM chip, virtualizing Windows ARM64 under macOS on an M1 Mac is the same in principle as virtualizing the standard version of Windows on an Intel Mac using Parallels or VMware Fusion — something that many Mac users have been doing for years.
In fact, while QEMU is still more of a tool for developers and hackers right now, popular virtualization app Parallels has announced that it’s already working on a version of its app for M1 Macs, which will almost certainly provide a framework in which Microsoft Windows ARM64 could run — assuming Microsoft chooses to make it available to Mac users.