Microsoft is finally bringing Windows on ARM closer to parity with traditional X86 processors. The company has released a beta emulator that allows laptops like its Surface Pro X to run 64-bit X86 apps, though at reduced performance.
The release of the emulator theoretically eliminates one of the challenges Arm laptops have faced: compatibility. Most computers run 64-bit versions of popular apps, simply because it can address four times the memory of an older 32-bit app. With the emulator, those Arm notebooks will, eventually and theoretically, run every Windows app that they’d been unable to before, including popular games.
“When we first launched Windows 10 on ARM in late 2017, the long tail of apps customers needed were dominated by 32-bit-only x86 applications, so we focused our efforts on building an x86 emulator that could run the broad ecosystem of Windows apps seamlessly and transparently,” Hari Pulapaka, Microsoft partner group program manager, wrote in a blog post. “Over time, the ecosystem has moved more toward 64-bit-only x64 apps and we’ve heard the feedback that customers would like to see those x64 apps running on ARM64.”
The emulation capability is part of Windows Insider Build 21277, which was released Thursday evening. It’s part of the Dev Channel, which means the code may never be deployed to the general public—though, given its importance, its release is highly likely.
Interestingly, only three Windows on Arm laptops—the Samsung Galaxy Book S, the Lenovo Flex 5G, and Microsoft’s own Surface Pro X—have drivers released by Microsoft to run the beta emulator. The links to those drivers are in the blog post.
Installing the emulator requires some tweaking, above and beyond simply belonging to the Windows Insider program. A blog post describing the process noted that users will first have to install a preview version of the graphics driver used by the Qualcomm Snapdragon family and the Adreno graphics cores that power Windows on Arm. After that, users will have to install a preview version of the ARM64 C++ redistributable. Fortunately, those steps won’t be required in future builds, Microsoft said.
Unfortunately, even the preview Insider build won’t provide total compatibility. “Some of the apps you try running in emulation may not work initially,” Microsoft warned. Because that emulator has to translate the instructions, performance will be a little slower than it would be with an X86 processor. Microsoft said that both compatibility and performance will improve over time.
Microsoft’s new build also includes support for Unicode emoji 12.1 and 13.0, and makes a small change to the Start menu’s layout: If a folder in the Start menu contains just a single item, such as an app, it will show just that item instead. But the big news here is that finally, a Windows on Arm laptop can run every app that an X86 chip can. Now, those laptops need to increase performance dramatically to have a chance of competing with Apple’s own M1.