Windows 10 on M1 Macs: Everything You Can and Can’t Do
Undoubtedly, the new Macs with Apple’s M1 have revolutionized the market with their low power consumption and their fantastic performance, even surprising with non-native Mac apps. But those who want to run Windows on the Mac have been ignored.
It is true that those of us who want to use Windows on the Mac are a minority. I use Windows 10 on my iMac sometimes for professional reasons (and for smaller, sharper type), and the lack of Boot Camp support on the Mac with M1 disappointed me from the start.
And after witnessing the incredible performance of the M1 during testing to write this article, I am not at all happy.
Fortunately, there is still hope. Thanks to Parallels , the respected virtualization software for Apple, Windows 10 for ARM seems to run without too much trouble on a Mac running M1. It’s far from working the same as Windows does natively through Boot Camp, but it’s not bad with native ARM apps.
Thus, the operation of Windows on the Mac is full of “sis” and “maybe”. First of all, nothing guarantees that Microsoft will agree to give Windows 10 consumer users access to ARM (the required operating system).
I gather that the company will at some point if I take into account the optimism of some participants whom I have asked. But who knows. The stakes are high.
ARM vs. ARM
In case all this is new to you: Apple’s M1 is an SoC based on the architecture known as Advanced RISC Architecture / Reduced Instruction Set Computing / Instruction Set Architecture (ARM RISC ISA).
Thanks to its unified direct access memory, integrated GPU cores, and cores dedicated to basic tasks (such as H.265 video encoding), it is extremely fast .
But the most surprising thing is that it can run x86 / x64 Mac apps at a more than acceptable speed (if not almost as if they were native). It’s faster with my 2015 Intel Core i7 iMac.
That’s partly due to the time it takes Rosetta 2 to open, but Apple has endowed the M1 with what I call a “very special seasoning” – a very clever trick that includes support for an x86 memory order, one of the main differences between the Intel and ARM architectures.
ARM is not new. We find it in almost all mobiles, in most portable devices, televisions and more, although with licenses that allow manufacturers to call their implementation of ARM what they want.
Even Microsoft has been supporting ARM for some time, first with Windows RT (ARM 8.1 / 31-bit), and now with Windows 10 for ARM .
The full Windows 10 for ARM is currently only available from original equipment manufacturers (OEMs), while end users need to grab a beta version on the company’s Windows Insider Preview page.
Being an advance, you can run almost all the software (it is a beta version, some x86 apps do not work), but you cannot configure everything as you want, as is the case with the wallpaper.
The latest beta versions of Windows 10 for ARM added x64 to the existing 32-bit x86 emulation, so the operating system can run just about anything written for Windows.
However, that emulation can be very slow. Unless Microsoft rewrites that code to somehow take advantage of Apple’s special seasoning, you will never be able to run heavy x86 / x64 Windows apps on Apple’s M1 and have acceptable performance.
I have asked Microsoft if they are considering optimizing for M1, but no direct answer has come to me. However, there is an article on the company’s Answer page about running Windows 10 Preview for ARM on M1 Macs. Hmmm …
Yet another evidence of a deliberately non-hostile attitude towards Windows on M1 that I have noticed on both sides.
Windows 10 optimization for ARM for M1 Macs isn’t crazy, even though it may sound like it. All that drama that has been experienced recently in the valley has more or less revealed the secret of the M1.
Silicon Valley-style ‘Days of Our Lives’
And that secret is Gerard Williams III , who until recently was the head of all of Apple’s ARM projects. He went from working at Apple to forming a company called Nuvia which, as you may have guessed, designs CPUs. There is a demand in between.
But wait, there is more. Most surprisingly, Qualcomm, a major provider of ARM-based chips, has agreed to buy Nuvia . Whoops! If Apple has not bothered a bit with all this, God come down and see.
The court battle will be long and aggressive, but the bottom line is that the magic of Apple’s M1 will not be as secret or exclusive as the company would have liked. As for the patent, I don’t know, smart reverse engineering is another virtue that is not lacking in Silicon Valley.
If other ARM chips come out that can support x86 / x64 as well as the M1, then Microsoft would have to be very foolish not to optimize it. Even if the method is not 100% the same (as is likely), it sure uses the same method, which means that optimizing it for that special Apple seasoning would be a pure errand.
Who knows. Perhaps Apple will decide that it’s not a bad idea to let Windows run natively again on your hardware. Personally, from the security mission that I mentioned earlier, I am not very optimistic about this possibility.
There is another option for Windows 10 for ARM that comes with Apple’s architecture change, and that could potentially solve this problem: more vendors are bringing their apps to ARM. Going from Apple ARM to Windows ARM is much easier than from x86 to ARM.
The craziest idea I’ve had with all of this is for Apple to suddenly decide that this is all over and start selling its design secrets to the competition. Or, God forbid, the chips themselves. It’s not going to happen, but it’s interesting to think about it.
Personally, I’m a bit pessimistic about Boot Camp, but I’m hopeful that at some point Apple’s strategy around advanced support for virtual machines and Microsoft taking advantage of that special seasoning will give us Windows performance. 10 on Macs with M1 more than acceptable.
Or even with x86 / x84 apps, which would be a golden opportunity to …
Parallels to the rescue
Parallels, in case it sounds like you, is a highly integrated virtualization software from the company of the same name. Its ability to run Windows apps on a Mac, automatic file and folder synchronization on both machines, and other integration make it superior to VMWare, VirtualBox, and other Mac programs.
Neither of these work on a Mac running M1 at the time of writing.
Admittedly, like I said, Parallels needs the ARM version of Windows 10. There are several ARM versions of Linux that will work as well, but that’s not why you got here, is it?
The first step in these tests was to download the beta version of Windows 10 for ARM , and the technical preview of Parallels 16 compatible with M1. I was already a Windows Insider user, but everyone can sign up. You will also need to create a Parallels account to download that trailer.
The entire installation process was very simple. Tell Parallels to open the Virtual Extended Hard Drive with Windows for ARM file that you downloaded from Microsoft, and from there it’s all very intuitive.
Everything you can do with basic peripherals such as accessing hard drives, copying files, etc., is very easy to do. Booting only took about ten seconds, and switching from one operating system to another was a snap.
I ran Geekbench too, although that only tells us that the M1 chip has fast cores. Note that this can be a bit confusing as the M1 cores can only support a single thread, while many x86 / x64 cores can support two.
In any case, in my experience, the M1 was very fast with native apps.
The constant reminders that you are using a beta operating system in a beta virtual machine have to do, above all, with graphics.
With the constant rotating rim when starting, menus not as vibrant as they should be and when you move the windows you can see that shaking that used to occur in the past. Do you remember when you could only see the outline of the windows when you moved them?
Note that I typically ran Windows 10 for ARM with a 3840 x 2160 resolution display on a Mac mini with only 8GB of memory and with only two CPU cores dedicated to the virtual machine.
Also, we are not facing the final version of Parallels. Apple told me that it was working alongside the company, and that the developers were very optimistic about potential big performance improvements.
Since the lags basically occurred in the graphics aspect, it is quite possible that a more advanced graphics driver could solve these problems.
Native AMR apps on Windows also work quite well. Thus, there are many apps that have never become x86 / x64 and that have problems. Still, I was pleased to see that Ableton Live (x86 / x64), my favorite music production app, worked perfectly. The animations were weird, but other than that it was all good.
Windows 10 for ARM in Parallels works well in small to medium doses with light x86 / x64 apps, and even large doses if you run native ARM apps. If you want to run intense x86 / x64 apps, don’t bother until that special Apple seasoning is supported.
Instead, look for Windows 10 for ARM or macOS equivalents.
There is another virtual machine running Windows 10 for ARM on the M1: QEMU . Its main advantages are that it is free and open source. The main drawback is that it has to be installed, configured and run from Terminal.
Also, in my limited testing, I ran Windows 10 for ARM on an 800 x 600 resolution display, and there was a driver shortage. The performance was, again, quite good, but not enough to be used for a long time.
Although I’m a huge fan of free and open source, at this point, unless you just want to run a native Windows 10 app for ARM every now and then, Parallels is by far your best option. Even at a price of € 99.
The future is … promising?
If you want a full Boot Camp experience where you can run Windows 10 at the best speed on a Mac with M1, this is not your lucky day. Fast (and better) virtual machines will perform well enough for most Windows users on Macs. Assuming a consumer ARM version of Windows 10 will arrive.
That said, at some point we might also see near-native Windows 10 performance on your Mac running M1, either through a growing number of ARM apps or possibly if Microsoft gets to know that special x86 / x64 seasoning.