Microsoft and Qualcomm have convinced software developers to embrace their latest push for Arm architecture.
When I first used the Arm-powered Surface Pro X in 2019, I loved the hardware but was disappointed by the software experience. Everything felt sluggish. Microsoft didn’t have native versions of Edge or its Office apps, and it was clear that the Surface Pro X had been released prematurely. With little support from developers, Windows on Arm seemed unlikely to succeed.
Nearly five years later, the Windows on Arm experience has dramatically improved. 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 been pushing software developers to create more ARM64 native apps, and it has made a significant difference.
Progress in Native Apps
Applications like Photoshop, Dropbox, and Zoom now have native versions, as do entertainment apps like Spotify, Prime Video, and Hulu. Even browsers like Chrome, Opera, Firefox, Vivaldi, Edge, and Brave are available on Arm now. This is a promising start, but many applications still need to be emulated on these latest Copilot Plus PCs, which is where Microsoft’s Prism emulator comes into play.
The Role of Prism Emulator
Microsoft claims Prism is as efficient as Apple’s Rosetta 2 translation layer and can emulate apps twice as fast as the previous generation of Windows on Arm devices. Over the past week, I’ve been testing the Surface Laptop with Prism and haven’t encountered the erratic behavior seen with Microsoft’s previous emulator, which also impacted battery life on the Surface Pro X. However, the dramatic improvements in emulated app performance that Microsoft promised are not always evident.
Benchmark Comparisons
YouTuber Gary Explains 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. The results showed 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 also improved by 8 percent thanks to Prism.
Real-World Testing
In my own testing, I’ve found that Prism handles compatibility for non-native apps well, but performance varies depending on the app’s complexity. ShareX, a screenshot tool, works fine using the Prism emulator since it’s a lightweight app. iA Writer and Notion, while not native, also run well on the latest Snapdragon chips. Discord performs much better than in previous Arm versions, although there is still some occasional stuttering and slight lag when navigating between servers.
For more heavyweight apps, Prism doesn’t bring the experience up to what you’d find on an Intel- or AMD-powered laptop. Adobe Premiere Pro, when emulated, was practically unusable for editing a 4K video on the Surface Laptop, which is likely why Adobe is now blocking the installation of the x64 version on Snapdragon X Elite and Plus processors. An ARM64 version of Premiere Pro is planned for later this year.
Challenges with Heavyweight Applications
Blender is another example of an emulated app with disappointing performance. Blender doesn’t detect Qualcomm’s Adreno GPU, so all the processing falls on the CPU. As a result, rendering performance is poor, with one test taking over 15 minutes to complete compared to just over two minutes on a 13-inch MacBook Air M3. Although a native ARM64 version of Blender is in development, early alpha testing shows only marginal improvements because the GPU is still not being utilized correctly.
Intel has dominated the laptop GPU market with its integrated solutions for decades, so Qualcomm still needs to work closely with software developers like Blender to ensure apps are optimized for its GPUs. This situation illustrates that Microsoft’s Prism emulator cannot solve every issue.
Gaming on Windows on Arm
Gaming on Windows on Arm remains problematic despite Qualcomm’s assurances. The Surface Laptop, while not designed as a gaming machine, showed disappointing results. Shadow of the Tomb Raider kept crashing, and many other games refused to launch. Fall Guys displayed an unsupported error, as did Halo Infinite. Destiny 2 and Starfield didn’t launch at all.
Few native Windows on Arm games exist, so Prism has significant work ahead. Grand Theft Auto V worked with considerable frame stuttering, and Cyberpunk 2077 ran at around 26fps on low settings at 1080p resolution. The Witcher 3, Baldur’s Gate 3, Control, Rocket League, and Minecraft performed better but were exceptions rather than the rule.
A major issue is that most anti-cheat services use kernel drivers that aren’t supported by emulation. BattlEye, a widely used anti-cheat service, supports Windows on Arm, but games like Destiny 2 that use this software still need updates to run correctly. A dedicated website tracks which games are supported and run well, but Arm-powered gaming laptops are unlikely to become mainstream soon.
Installation Issues and External Device Compatibility
Some apps refuse to install on Arm. Google Drive is a notable example, displaying an error about the Windows architecture of Copilot Plus PCs not being supported. Google’s Drive app on Windows integrates into the shell like Dropbox, which Microsoft initially didn’t support on Windows on Arm. There is a native version of Dropbox that integrates into File Explorer, so hopefully, Google will deliver a similar experience soon.
There are also compatibility issues with external devices. Reports indicate that Brother printers and scanners do not work well on Arm, or that generic printer drivers do not support all expected features. These issues are unlikely to be resolved quickly and depend on the widespread adoption of Copilot Plus PCs. However, most people should be able to connect typical accessories like webcams, printers, and storage drives using the built-in drivers in Windows 11.
VPN applications remain problematic on Windows Arm. Bitdefender, NordVPN, and Private Internet Access do not work due to the need for signed drivers from Microsoft to function correctly. Fortunately, Android Authority reports that VPN developers are working on ARM64 versions.
Improving App Compatibility
The last time I used Windows on Arm regularly in 2019, I remarked, “Most of the apps I use daily haven’t been recompiled for ARM and probably never will be.” Now, app compatibility on Windows on Arm is improving continuously, a scenario I didn’t expect five years ago.
During this transition period, you might need to use beta versions or download special builds of Windows apps that are ARM64 native — similar to the macOS transition. The Windows Store versions of apps aren’t always ARM64, and you may find better versions on the web before the store version is updated. This was the case with Slack earlier this month before the store version was updated.
For everything else, Microsoft offers tools for power users that might improve app compatibility on Arm with existing unmodified x86 or x64 apps. There’s a program compatibility troubleshooter that can help enable or disable emulation settings, and you can also toggle these in the properties of an executable. You can control hybrid execution mode to force the use of x86-only binaries, disable floating-point optimization that could impact performance, and more. You can also modify how an emulated app uses multiple CPU cores, potentially improving performance or compatibility in certain apps.
The Future of Windows on Arm
Ultimately, it’s up to app developers to focus on native ARM64 support for their applications. The increasing number of native apps available shows positive progress. New Qualcomm chips provide the power to emulate apps more efficiently alongside Microsoft’s Prism improvements. Daily, most users likely won’t encounter app issues because many key applications are either native or run well in emulation.
More ARM64 apps are undoubtedly on the way. During my testing, benchmark tools and applications were updated to support ARM64, catching me off guard. I bet that in a year or two, discussions about Prism or emulated app performance will diminish as native ARM64 apps become as common as x64 apps today. After 12 years of attempts to transition to Windows on Arm, it feels like Microsoft is finally poised for success.
By Andrej Kovacevic
Updated on 18th July 2024