After almost two years, Apple is about to complete the transition to ARM. It may surprise you to know 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 around 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 steady progress is paying off. We are not yet at the end of the transition – but it is a new beginning. Having used devices like Lenovo’s ThinkPad X13s, I am more confident than ever that Windows on ARM has a bright future for years to come.
The big app problem
App support has been the biggest problem Microsoft has stumbled upon over the years when launching ARM. Because it works on a different system architecture, apps developed for traditional x86 systems do not only work on ARM computers.
There are two solutions to the problem. The first is recompiling apps for ARM, which requires convincing developers that the time and effort is worth it. Given the few ARM-based Windows laptops out there, this proves to be a tough argument.
The other possibility is that the apps are emulated which can cause serious performance issues. This chicken-and-egg problem has plagued Microsoft over the years, starting with the initial release of Windows 8 and the Surface RT.
Today it is almost no longer an issue. As tested on the ThinkPad X13s, you’re unlikely to find an app that doesn’t perform as you would expect. With Windows 11, 64-bit app emulation was now included directly with Windows 11. Through the Windows Insider program, Microsoft has optimized many more of its apps for ARM, including the Edge web browser, Microsoft Teams, Visual Studio, and the popular tool PowerToys – all running natively without emulation.
On the third-party developer site, Microsoft encourages developers to program ARM apps with an incoming kit, Project Volterra. Add in Android apps on Windows 11, which work great on ARM-based PCs, and you’ve got a pretty healthy app ecosystem.
But it wasn’t always like that. In fact, app support was a big issue from the start.
The early days
Microsoft’s foray into the computing and PC side of the ARM space began well over 11 years ago. At CES 2011, Microsoft first unveiled Windows on ARM and its plans to bring the “next generation of Windows” to support systems on a chip (SoC). Microsoft’s Steve Ballmer actually presented Windows 7 running on ARM-based chips from Qualcomm, Texas Instruments and Nvidia. Such a thing was unheard of.
A year later, in 2012, Microsoft launched the Windows 8 operating system.
Microsoft released Windows RT in the same year along with the very first Surface device, the Microsoft Surface RT.
We all know how this story ended. The Surface RT became one of Microsoft’s biggest losses, reportedly taking a $900 million write-down. Tech writers and developers in particular liked the inability to run traditional Win32 apps on the device. In an effort to turn Windows tablets into true iPad competitors, apps were limited to what you could find in the Windows Store app store, which lacked many quality apps.
Windows on ARM has gained a bad reputation from the start, especially when it comes to apps. It would be seven years before Microsoft tried again with a new first-party device, but it didn’t seem to learn its lesson.
Microsoft had spent the last seven years slowing down progress, particularly with the introduction of Windows 10 in 2015. Windows 10 was a fresh start for Microsoft. Microsoft was being led by a new CEO, and it seemed determined to avoid making the same mistakes again. If Microsoft was going to support ARM PCs in the future, it had to go slow and steady.
Well, that’s exactly what it did. At the WinHEC keynote in China, Microsoft announced that it has partnered with Qualcomm for a new “Always Connected PC” project. It showed full Windows 10 running on an ARM-based SoC. Everything was different this time. 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 of that momentum was turned on its head by a pivotal victory: the launch of the Surface Pro X in 2019. For the first time, Microsoft promised that most full-fledged 32-bit Windows apps would run on ARM devices through emulation. It was a change from Windows RT, which only ran pre-installed system apps and those from the Windows Store of the time – no Win32 apps like Chrome.
Despite the great hardware, apps were still the Achilles’ heel of this beautiful 2-in-1.
The emulation didn’t work as Microsoft expected and you couldn’t run most apps or games. Most developers were moving to 64-bit apps at this point, and 32-bit app emulation on Windows on ARM didn’t make sense. Simple apps like Google Chrome suffered badly when emulated and the processor suffered huge performance losses.
Drivers for hardware like printers, games, and apps also only worked if they were specifically designed for the Surface Pro X and Windows on ARM. Certain games didn’t work unless they were using a specific version of OpenGL, and antivirus and third-party programs like Oracle Virtualbox also didn’t work.
As a PC it was a bit messy. However, hope for the future was there and the building blocks were laid to get to where we are today.
Performance is the second major issue fixed in ARM PCs in 2022. Again, this was a problem from the early days of these devices. This 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 dilemma, and it was closely related to emulation performance. Qualcomm was its longtime partner on 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 had finally started to compete in performance with its x86 competitors.
Qualcomm’s evolution in PC performance has improved every year, and what you’re getting with the Snapdragon 8cx Gen 3 and ThinkPad X13s finally feels like we’ve landed somewhere. Lenovo claims that with the new Snapdragon 8cx Gen3, system-level performance can be increased by up to 57% on this device and that multitasking can be up to 85% faster compared to previous generations.
This chip is finally powerful enough, and the emulation was finally good enough for Lenovo to put it in a flagship ThinkPad product. Microsoft even developed the App Assurance program to ensure business and enterprise apps work directly on ARM. It had sold me.
As good as the machine is, the ThinkPad isn’t an Apple M1 MacBook killer. Some might argue that Windows still emulates and runs better in a virtual machine on a Mac Mini than on native hardware, and as someone who’s tried both I’d say it’s close. That’s not a good sign.
However, it represents 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 popular Win32 apps run on an ARM-based SoC without any performance degradation. Yes, there are still some compatibility issues, but Windows on ARM has finally reached a peak where it works just as well as an Intel-based laptop.
Microsoft still has a lot to do on the way to the future. For one, I’d love to see emulated Windows on ARM apps harness the GPU power in the Qualcomm SoC. Because of this, video editing and gaming are currently suffering badly on Windows on the ARM platform.
However, over time Microsoft has proven that it can fix Windows on ARM and bring several things together to make it work properly, so my anticipation is high. We hope it won’t be another 10 years before we reach the next milestone.