Windows on Arm finally has legs

When I first used the Arm-powered Surface Pro X in 2019, I loved the hardware, but I didn’t like the software experience. Everything seemed to lag behind. Microsoft didn’t have native versions of Edge or its Office apps, and it was clear that the Surface Pro X was released too soon. With little support from developers, Windows on Arm was unlikely to succeed.

Almost five years later, the Windows on Arm experience has improved dramatically. The new Qualcomm Snapdragon X Elite and X Plus processors deliver a Windows 11 experience that’s like any regular laptop. Microsoft and Qualcomm are also pushing software developers to create more native ARM64 apps, which has made a huge difference.

Apps like Photoshop, Dropbox, and Zoom are all native, as are entertainment apps like Spotify, Prime, and Hulu. Even Chrome, Opera, Firefox, Vivaldi, Edge and Brave are now on Arm. That’s a good start, but there are still many applications that will need to be emulated on these latest Copilot Plus PCs, which is where Microsoft’s Prism emulator comes in.

Microsoft claims that Prism is as efficient as Apple’s Rosetta 2 translation layer and can emulate applications twice as fast as previous generations of Windows on Arm devices. I’ve been testing the Surface Laptop over the past week and haven’t encountered the erratic behavior I saw on Microsoft’s previous emulator, which also affected battery life on the Surface Pro X. But I also haven’t seen the dramatic improvements in emulated app performance that Microsoft promised.

Microsoft’s claims are difficult to test without comparing previous Arm-based devices. YouTuber Gary Explains did just that when he compared the x86 or x64 versions of Firefox, Cinebench R23 and HandBrake on a Surface Pro X without Prism and then with the latest Windows 11 24H2 update that includes Prism.

Microsoft’s new Surface devices are powered by Arm-based Qualcomm chips.
Photo by Chris Welch/The Verge

Gary Explains found that Prism provided a 10 percent performance improvement in Speedometer 3 running on Firefox, an 8 percent jump in Cinebench R23 single core, and a 4.5 percent improvement in Cinebench R23 multicore compared to the previous emulator. Handbrake performance is also improved by 8 percent thanks to Prism.

In my own testing, I found that Prism handles compatibility for non-native apps well, but performance varies depending on the complexity of the app. ShareX, a screen capture tool, works well using the Prism emulator, but it’s a lightweight application. iA Writer and Notion aren’t native, but they work well even on these latest Snapdragon chips. Discord also works much better than I’ve seen on Arm in the past, but there’s still the occasional stutter and slight lag when navigating between servers.

For heavier applications, the Prism falls short of what you’d find on an Intel or AMD laptop. Adobe’s emulated run of Premiere Pro was virtually unusable for editing 4K video on the Surface Laptop, which is probably why Adobe is now blocking the x64 version from being installed on Snapdragon X Elite and Plus processors. An ARM64 version of Premiere Pro is planned for later this year.

Blender is another example of an emulated application with stunning performance. Blender doesn’t detect Qualcomm’s Adreno GPU, so everything hits the CPU instead. Performance for rendering projects is abysmal as a result, with one test I ran taking more than 15 minutes, compared to just over two minutes on a 13-inch MacBook Air M3. Blender will have a native ARM64 version soon, but I tested an early alpha copy and the results are only marginally better because it still doesn’t capture the GPU properly.

Intel has dominated the notebook GPU market with its integrated solutions for decades, so I suspect that Qualcomm still needs to work with software developers like Blender to ensure that applications are optimized for its GPU. Blender illustrates that Microsoft’s Prism emulator can’t solve everything.

Native ARM64 apps make the most of Microsoft’s new Surface devices.
Photo by Chris Welch/The Verge

Speaking of GPUs, games also “don’t work” on the Snapdragon X Elite and X Plus, despite Qualcomm’s assurances. I didn’t make a big deal out of it for the Surface Laptop review because it’s not a gaming laptop, but gaming on Windows on Arm is disappointing at the moment. Shadow of the Tomb Raider it kept crashing when I tried to play and most other games I tried just refused to start. Autumn Guys throws an unsupported error, as does Halo Infinite. Fate 2 wouldn’t even start – no error, just a lot of nothing. Star field he did the same.

There aren’t many native Windows games on the Arm, so Prism has its work cut out for it here. I managed to get Grand Theft Auto V functional but with lots of frame stuttering. Cyberpunk 2077 it also ran on a Surface Laptop 7th Edition, but averaged around 26fps at low settings at 1080p. The The Witcher 3, Baldur’s Gate 3, Management, Rocket Leagueand Minecraft everything worked out of the box.

The biggest problem is that most anticheat services use kernel drivers that are not supported by emulation. BattlEye, a widely used anti-cheat service, is one of the rare exceptions that supports Windows on Arm, but it seems that games like Fate 2 that use this anti-cheat software will need to be updated to work properly here. Fortunately, there is a dedicated website that keeps track of which games are supported and work well. However, there is a lot of hope for Arm-powered gaming laptops in the foreseeable future.

Many games use anti-cheat technologies that are not supported in Windows on Arm.
Screenshot by Tom Warren/The Verge

Another thing I’ve run into is apps that refuse to install. Google Drive is big here because it throws an error about the Windows architecture of Copilot Plus computers not being supported. The Google Drive app for Windows integrates into the environment much like Dropbox, something Microsoft didn’t originally support on Windows on Arm. However, there is a native version of Dropbox that integrates with File Explorer, so hopefully Google will be able to provide a similar experience soon.

There are also compatibility issues with external devices. I’ve seen reports of Brother printers and scanners not working well on Arm devices, or simply that generic printer drivers don’t support all the features you’d expect. There’s no easy quick fix for accessories that require driver support, and one will probably only come based on the sheer number of people using these new Copilot Plus computers. I’m less worried about driver issues, as I think most people will be able to plug in the type of accessories (webcams, printers, storage drives) you use on a laptop and have them running with the built-in drivers in Windows 11.

VPN apps are still a problem even on Windows Arm. Bitdefender, NordVPN and Private Internet Access do not work. VPN developers use virtual adapters and TAP and TUN devices and need a signed driver from Microsoft to work properly. Fortunately, Android Authority states that VPN developers are working on ARM64 versions.

This is encouraging because the last time I used Windows on Arm regularly in 2019, I said, “Most of the applications I use on a daily basis have not been recompiled for ARM and probably never will be.” Now I feel that application compatibility in Windows on Arm they change every day, a scenario I did not expect five years ago.

While we’re at this transition point, you may need to use beta versions or download special builds of Windows apps that are native to ARM64 – similar to moving to macOS. This means that Windows Store app versions are not always ARM64, and you may be able to find an improved version on the web before the App Store version is updated. That was initially the case with Slack earlier this month before the store version was updated.

Microsoft has some additional settings to control the Prism emulator.
Screenshot by Tom Warren/The Verge

For everything else, Microsoft has some tools for advanced users that could improve the compatibility of Arm applications with existing raw x86 or x64 applications. There is a program compatibility troubleshooter that can help enable or disable emulation settings, and you can also toggle them in the executable properties. You can control things like hybrid execution mode to force x86-only binaries, disable floating-point optimizations that might affect performance, and much more. You can also adjust how the emulated application uses multiple CPU cores, which may improve performance or compatibility in certain applications.

Ultimately, it is up to application developers to focus on native ARM64 support for their applications. The sheer number of native apps now available shows that things are moving in the right direction. These new Qualcomm chips also provide brute-force performance for slightly better app emulation, along with improvements to Microsoft Prism. Any day I think most people here won’t even run into app issues because many key apps are already native or run fine in emulation.

I’m sure many more ARM64 applications are still on the way. During my testing, benchmark tools and apps were updated to support ARM64, which surprised me. I’m willing to bet that in a year or two we won’t be debating the performance of Prism or emulated apps as much because native ARM64 apps will be as common after the transition from x86 in the early 2000s as x64 apps are today. After 12 years of trying to move to Windows on Arm, it looks like Microsoft is finally succeeding.

Notebook by Tom Warren /

A weekly newsletter revealing the secrets and strategy behind Microsoft’s bets on AI, gaming and computing.

prepay

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top