Almost two years in, Apple is on the verge of completing its transition to ARM. It might surprise you to know, then, that Microsoft started its own journey to ARM chips long before Apple.
But Windows’ support for ARM has been far less smooth. There aren’t many more Windows devices with ARM chips than there were five years ago — and I can attest to having personally used every failed attempt along the way.
But in 2022, Microsoft’s slow but consistent progress is paying off. We haven’t arrive at the end of the transition — but it’s a new beginning. After using devices like the Lenovo’s ThinkPad X13s, I’m more convinced than ever that Windows on ARM has a bright future in the years ahead.
The big app problem
App support has been the biggest issue Microsoft has stumbled over with its embrace of ARM over the years. Because it works on a different system architecture, apps that have been designed for traditional x86 system won’t just work on ARM machines.
There are two solutions to the problem. The first is to recompiled apps for ARM, which requires convincing developers it’s worth the time and effort. With how few ARM-based Windows laptops are out there, that’s proven to be a difficult argument to make.
The other option is for the apps to be emulated, which can cause serious performance issues. Over the years, this chicken-or-egg problem has come back to haunt Microsoft time and time again — starting with the initial release of Windows 8 and the Surface RT.
Today, it’s almost become a non-issue. As tested on the ThinkPad X13s, you’ll be hard-pressed to find an app that doesn’t run as you’d expect it to. With Windows 11, 64-bit app-emulation was now included in Windows 11 right out of the box. Through the Windows Insider program, Microsoft has optimized plenty more of its apps for ARM, including the Edge web browser, Microsoft Teams, Visual Studio, and the popular tool PowerToys — all run natively without emulation.
On the third-party developer side, Microsoft is encouraging developers to code ARM apps with an incoming kit, Project Volterra. Toss in Android apps on Windows 11 that work great on ARM-based PCs, and you have a fairly healthy app ecosystem.
But it wasn’t always this way. In fact, app support has been a major problem since the very beginning.
The early days
Microsoft’s foray into the computing and PC side of the ARM space started well over 11 years ago. At CES 2011, Microsoft first detailed Windows on ARM and its plans to get the “next generation of Windows” to support systems on a chip (SoC.) Microsoft’s Steve Ballmer actually showcased Windows 7 running on ARM-based chips made by Qualcomm, Texas Instruments, and Nvidia. This sort of thing was unheard of.
A year later, in 2012, Microsoft launched the Windows 8 operating system.
Microsoft launched Windows RT alongside the very first Surface device, the Microsoft Surface RT, in the same year.
We all know how this story went. The Surface RT became one of Microsoft’s biggest losses, with reports having it at a $900 million write-off. Most notably, tech journalists and developers didn’t like the inability to run traditional Win32 apps on the device. In the push to convert Windows tablets into proper iPad competitors, apps were restricted to what you could find in the Windows Store app store, which lacked many high-quality apps.
Right from the start, Windows on ARM earned itself a poor reputation, specifically when it came to apps. It would be seven years until Microsoft gave it another shot with a new first-party device, but it didn’t seem to learn its lesson.
Slow progress
Microsoft had spent those last seven years slowing making progress, especially with the launch of Windows 10 in 2015. Windows 10 was a fresh new start for Microsoft. Microsoft was helmed by a new CEO, and it seemed to determined to avoid the same mistakes again. If Microsoft was going to support ARM PCs in the future, it needed to move slowly and consistently.
So, that’s exactly what it did. At the WinHEC keynote in China, Microsoft detailed that it partnered with Qualcomm on a new “Always Connected PC” venture. It showcased full Windows 10 running on ARM-based SoC. This time, things were different. Microsoft had a clear and single partner in its vision for ARM-based SoC on Windows systems. Windows on ARM systems could now run any 32-bit PC app, like Adobe Photoshop.
All this momentum was upended by what should have been a decisive victory: the launch of the Surface Pro X in 2019. For the first time, Microsoft promised that most full-blown 32-bit Windows apps would run on ARM devices through emulation. It was a change from Windows RT, which was only running pre-installed system apps and those from the then Windows Store — not Win32 apps like Chrome.
Despite how gorgeous the hardware was, apps still ended up being the Achilles’ heel of this beautiful 2-in-1.
Emulation didn’t work out as Microsoft expected, and you could not run most apps or games. Most developers moved to 64-bit apps at this point, and 32-bit app-emulation on Windows on ARM made no sense. Basic apps like Google Chrome suffered badly when emulated, and the processor took huge performance hits.
Drivers for hardware like printers, games, and apps also only worked if they were designed for the Surface Pro X and Windows on ARM specifically. Certain games didn’t work unless they used a specific version of OpenGL, and third-party antivirus and programs like Oracle Virtualbox fail to work, too.
As a PC, it was a bit of a mess. The hope for the future, though, was there, and the building blocks were being put in place to get to where we are today.
Performance issues
Performance is the second major issue that’s been fixed with ARM PCs in 2022. Again, it was a problem from the early days of these devices. That initial Surface RT was severely underpowered, even being beaten by low-end tablets running Windows 8.
It would take many years for Microsoft to overcome this predicament, and it was closely tied to performance in emulation. Qualcomm was its long-time partner in these mobile-like SoC (system on chip) processors, eventually culminating with the SQ1. This custom ARM chip was based on Qualcomm’s Snapdragon 8cx, and it had finally begun to compete with the kind of performance from their x86 rivals.
Qualcomm’s development of PC performance has improved every year, and what you get with the Snapdragon 8cx Gen 3 and the ThinkPad X13s finally feels like we’ve landed somewhere. Lenovo claims that with the new Snapdragon 8cx Gen3, system-level performance on this device can be boosted by up to 57% and that multi-tasking can be up to 85% faster when compared to previous generations.
This chip is finally powerful enough, and emulation was finally good enough, for Lenovo to put it inside of a flagship ThinkPad product. Microsoft even created the App Assurance program to ensure that business and enterprise apps work right on ARM. It had me sold.
As good as the machine is, though, the ThinkPad is not an Apple M1 MacBook killer. Some might argue that Windows still emulates and runs better in a virtual machine on a Mac Mini than it does on native hardware, and as someone who tried both, I’d say it’s close. That’s not a good sign.
It does, though, represent a huge leap forward for Windows on ARM. For the first time, an ARM-based SoC has performance closer to an Intel Core i5 chip. For the first time, Google Chrome and other common Win32 apps run without performance hits on an ARM-based SoC. Yes, some compatibility problems still exist, but Windows on ARM has finally hit a high point where it performs just as well as an Intel-based laptop would.
Heading into the future, Microsoft still has work to do. For one thing, I’d love to see emulated Windows on ARM apps take advantage of the GPU power in Qualcomm SoC. Right now, this is why video editing and gaming suffer badly on the Windows on ARM platform.
Over time, though, Microsoft has proven that it can fix Windows on ARM and get multiple things together to make it work right, so my anticipation is high. Here’s to hoping it won’t be another 10 years before we hit the next milestone.