Windows on ARM goes back over a decade. Fortunately, it’s gone from a relatively-crippled device that only ran store apps (Windows RT) to a much more general-purpose device. But is it ready for general use? The answer to that likely depends on your definition of “general use.” I have a collection of ARM64 devices (certainly more than a typical person) and I find one of them (a Samsung Book S with a Qualcomm 8cx Gen 1 chip) to be indispensable because of its long battery life and light weight. But what do I do with that device? For the most part, I use it only for web browsing (often after my Intel-based MacBook Pro runs out of battery) when I’m away from my home office — I take it to events, use it on the sofa, pull it out on airplanes, etc., and it works really well with Edge.
Since Windows 11 added x64 emulation, Windows 11 on ARM64 can run the majority of apps via emulation. And with technologies like ARM64EC, developers can now build hybrid applications: keep portions of the app as emulated x64 code, with some performance-critical code switched over to native ARM64 code — potentially even stashing both sets of code in the same DLL/EXE file. Add in the ability to run Visual Studio on ARM64, perhaps combined with the Project Volterra development box that Microsoft shipped late last year, there is certainly some momentum.
So what are the issues holding it back? The biggest one is performance. Here’s a Geekbench comparison of the various ARM64 processors:
The 8cx processor generations (and Microsoft’s slightly overclocked SQ1, SQ2, and SQ3 equivalents) are the most common ARM64 processors used in Windows devices. (You might find a 7c-based device too, but they are pretty slow — fast enough for some Chromebooks, but probably not something you want to run Windows on.) Compare those 8cx numbers against Apple’s M1 and M2 processors, and one of the faster Intel i5 12th generation processors (i5-12600), and you can see the challenge.
Qualcomm’s answer to the M1/M2 processors from Apple, and to the performance gap overall, is a new processor line called Oryon, based on designs from Nuvia, a chip designer started by a number of people from Apple that designed Apple’s ARM64 processors that was purchased by Qualcomm in 2021. Sadly, it looks like these chips won’t be available in any significant quantities until early 2024, so expect the 8cx line to ride us through 2023.
It is worth mentioning that ARM64 devices are gaining popularity in one specific area: cloud environments. Both Microsoft and Amazon are offering ARM64-based virtual machines and services that leverage them, often at lower prices than x64-based equivalents. In Microsoft’s case, they are using Ampere Altra processors, which don’t have the “per core” performance of the desktop processors discussed above, but they do really cram in the cores, with 128 of them. For Amazon, it has created its own ARM64 processors, with the Graviton 2 being the current generation. These have “only” 64 cores, with similar “per core” performance to the Ampere CPUs. Interestingly, the VMs running these ARM64 processors, in both Azure and AWS, are primarily running Linux. Microsoft has not yet committed to an ARM64 version of Windows Server (although such a thing has existed internally at Microsoft for quite some time), and they do offer Windows 11 ARM64 VMs in Azure, but the majority run Linux workloads (e.g. web/app servers).
Presumably a good Qualcomm desktop/laptop processor could also make its way into cloud environments as well, and might even be more popular there than on the desktop, but they are much more limited on core counts, with the initial Oryon processors looking at 12-core designs. That could change over time — and also may depend on the result of the Arm (the company) vs. Qualcomm lawsuit. The general consensus is that the lawsuit is bad for both parties, so with any luck they’ll settle this sometime in 2023.
So where does this leave us? Certainly we can answer the question about whether 2023 is the year for ARM on PCs. It’s safe to say that’s highly unlikely. But 2024 could be a different story — we’ll have to see how that plays out.
But let’s go back to the original discussion about how you might use an ARM64-based device today. What types of workloads could be used with these devices? Obviously some organizations have found good use cases, because we see stories like this one where Citi is purchasing many thousands of these devices. But what are those use cases? Here’s my take:
- Web browsing. Just like I can happily use an 8cx Gen 1 based device for web browsing, video streaming, etc., many companies that have shifted primarily to web-based apps (and away from locally-installed Win32 apps) may find these devices sufficient.
- Thin clients. If you’re using your own VDI environment, or maybe Windows 365, it doesn’t take much to be a thin client. ARM64-based devices with an 8cx processor would be very capable of doing this task. In fact, I do use my Samsung Book S to connect to my Hyper-V server via RDP for development tasks. (Interestingly, a number of lower-end Chromebooks use 7c processors for this — I have one of those too, an Acer Spin 513, that works well. It just isn’t as well made, with a keyboard that feels cheap and a more clunky design compared to the Samsung. But given that the Acer was less than half the price of the Samsung, I guess that’s what you should expect.)
- “Modest” Office 365 usage. Most people don’t really put much of a load on a PC running Office — if all you do is periodic editing of documents, (normal) spreadsheets, presentations, etc., an ARM64 device will do fine. The same is true for Microsoft Teams, which even has a native ARM64 version (based on Electron still, but they made an ARM64 version available quite a while back). Apps like Slack, Visual Studio Code,
There some workloads that are less than ideal: Anything that requires lots of RAM (generally memory expansion is limited on today’s devices), normal development work (apart from ARM-specific work where you might not have much of a choice, although building on an x64 device and deploying/testing on ARM is certainly doable), or anything that is super-dependent on CPU capacity (e.g. ML) are best done on faster and more expandable devices.
Interestingly, you may be able to use an M1/M2-based Mac for some of these tasks, with Windows 11 ARM64 running in a VM. From the CPU comparison above, you can see how Windows 11 in a VM on something like a M1 Mac Mini would do well. Then you just need to choose between Parallels and VMware Horizon, and figure out a way to get Windows onto the device (not too hard with Parallels, need to do an extra step with VMware to create an ISO).
I still believe that Windows on ARM64 has an important place in the PC ecosystem — but let’s check back again in 2024 to see how much progress has been made.
Categories: Windows 11