Windows on Arm now has legs
When I first used the Arm-powered Surface Pro X in 2019, I loved the hardware but disliked the software experience. Everything felt like it was lagging. Microsoft is not the local version of Edge or its office applications. If there are no developers, the windows are likely to succeed. Nearly five years later, the Windows on Arm experience has improved significantly. Qualcomm's new Snapdragon X Elite and X Plus processors deliver a Windows 11 experience that feels like any regular laptop. Microsoft and Qualcomm have also encouraged software developers to build more ARM64 native apps, and this has made a huge difference.
Apps like Photoshop, Dropbox, and Zoom are native, as are entertainment apps like Spotify, Prime, and Hulu. Even chromium, opera, Firefox, Vivaldi, Edge and brave are now on hand. This is a good start, but there are still many apps that you need to keep up with these latest copilot plus PCs, which here is the Microsoft Prism Emulator. Microsoft claims Prism is as efficient as Apple's Rosetta 2 translation layer and emulates Arm device apps twice as fast as the previous generation of Windows. I've been testing the Surface Laptop for the past week and haven't encountered the misbehavior seen in Microsoft's previous emulators, which also affected the Surface Pro X's battery life. But I also haven't seen the dramatic improvements in emulated app performance that Microsoft promised.
Microsoft's claims are difficult to verify without comparing previous Arm-based devices. YouTuber Gary Explan did this by comparing the x86 or x64 versions of Firefox, Cinebench R23, and HandBrake on a Surface Pro X without Prism to the latest Windows 11 24H2 update that includes Prism.
Gary Explan found that Prism performed 10% better on Speedometer 3 running on Firefox, 8% better on Cinebench R23 single-core, and 4.5% better on Cinebench R23 multi-core than the previous emulator. Thanks to Prism, HandBrake performance is also improved by 8%.
In my testing, I found that Prism handles other application compatibility well, but performance will vary depending on the complexity of the application. ShareX is a screenshot utility that works great with the Prism emulator, but it's a lightweight application. iA Writer and Notion are not native, but they also work well on the latest Snapdragon chips. Discord performance is also much better than what I'm used to seeing on Arm, but there are still some stutters and a slight lag when moving between servers.
For heavier applications, the Prism doesn't offer the same experience as an Intel or AMD laptop. Adobe Premiere Pro can't actually edit 4K video on the Surface Laptop, which is probably why Adobe is now blocking it from being installed on the Snapdragon X Elite and Plus processors.
Blender is another example of a poorly performing analog application. Blender cannot detect the Qualcomm Adreno GPU, so everything affects the CPU. As a result, the project's rendering performance was disappointing, taking more than 15 minutes to run a single test, compared to just over two minutes on the 13-inch MacBook Air M3. Blender will have a native ARM64 version soon, but I tested the early alpha copy and it only marginally improved the results because it still doesn't detect the GPU correctly.
Intel has dominated the portable GPU market with its integrated solutions for decades, so I suspect Qualcomm will still need to engage with developers of software like Blender to ensure apps are optimized for its GPUs. Blender illustrates that Microsoft's Prism emulator can't solve everything. Speaking of GPUs, despite Qualcomm's guarantees, games "don't run properly" on the Snapdragon X Elite and X Plus either. I didn't talk about it in my Surface Laptop review because it's not a gaming laptop, but right now gaming on Windows on Arm is disappointing. Shadow of the Tomb Raider kept crashing for me when I tried to play, and most of the other games I tried just refused to start. Fall Guys throws up an unsupported error, as does Halo Infinite. Destiny 2 didn't even launch - no errors, just a lot of nothing. Starfield did the same. There aren't many native Windows games on Arm, so Prism has its work cut out for it. I managed to get Grand Theft Auto V running, but there were a lot of frame stutters. Cyberpunk 2077 also runs on Surface Laptop 7, but averages around 26fps on low settings at 1080p. The Witcher 3, Baldur's Gate 3, Control, Rocket League and Minecraft are also available out of the box. The biggest problem here is that most anti-cheat services use kernel drivers that are not supported by emulation. BattlEye, a popular anti-cheat service, is one of the few exceptions that supports Windows on Arm, but games like Destiny 2 that use anti-cheat software seem to need updates to run properly. Thankfully, there is a dedicated website that tracks which games are supported and run well. I’m not holding out much hope for Arm-powered gaming laptops anytime soon, though.For everything else, Microsoft does have some tools for power users that might improve app compatibility on Arm with existing unmodified x86 or x64 apps. There is a program compatibility debugger that can help you enable or disable the emulation options, or you can toggle between these options in the executable properties. You can control things like mixed execution mode to force x86 binaries only, disable floating point optimizations that can affect performance, and more. You can also change the way simulated applications use multiple CPU cores, which can improve performance or compatibility for some applications.
Ultimately, application developers should 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 offer better app emulation capabilities as well as improvements to Microsoft Prism. Every day I think most people do not even have application problems here, as many major applications are already local or work well in the simulation.
I think several more Arm64 applications are still on the way. During my testing, I was surprised that the benchmarking tools and apps had been updated to support ARM64. My guess is that we won't be talking much about Prism or emulated app performance in a year or two because after the transition from x86 started in the early 2000s, native ARM64 apps will be as common as x64 apps are today. After 12 years of trying to move to Windows on Arm, it looks like Microsoft is finally getting there.