Running Windows on the same ARM processors that power the majority of the world’s mobile devices has long been a goal for Microsoft. Way back in Ye Olden Days of 2011, Microsoft launched Windows 8 RT, a variation of Windows 8 that ran on ARM; it failed due to lack of apps and incompatibility with legacy Windows software (which was built to run on the x86 architecture that powers most of the world’s PCs).
Undeterred by that failure, Microsoft has built an ARM-friendly version of Windows 10, which rolled out on hybrid laptops from Lenovo, Hewlett-Packard, and Asus in December. This time, the company suggested, it had fixed many of the issues that plagued Windows 8 RT. For example, the new operating system leverages an emulator that allows it to run legacy 32-bit apps originally designed for x86 processors.
But for developers thinking of building apps for ARM-based Windows 10, there are some downsides. Paul Thurrott got his hands on a breakdown of those shortcomings, accidentally published by Microsoft (which subsequently yanked that document off the web as fast as it could). Take a read:
64-Bit Apps Will Not Work
That’s not news to anyone who’s kept track of this project, but it’s nonetheless annoying. Support for 64-bit apps will presumably arrive in a future update.
Certain Types of Apps Won’t Work, Either
According to Microsoft’s cached document (who doesn’t love the Wayback Machine?), apps that customize the “Windows experience” won’t play well with ARM-based Windows 10. “Native OS components cannot load non-native components. Examples of apps that commonly do this include some input method editors (IMEs), assistive technologies, and cloud storage apps,” Microsoft wrote. “Cloud storage apps commonly use shell extensions (for example, icons in Explorer and additions to right-click menus); their shell extensions may fail, and if the failure is not handled gracefully, the app itself may not work at all.”
X86 Drivers Won’t Work
Only ARM64 drivers are supported in this configuration. “Any app that works with its own custom driver would need to be ported to ARM64,” Microsoft wrote. “In limited scenarios, the app may run as x86 under emulation but the driver portion of the app must be ported to ARM64.”
Hyper-V Won’t Work
For those who use Microsoft’s native hypervisor, well… you won’t use it with ARM-based Windows 10. At least, not until the company pushes an update of some sort.
Some Games Won’t Work
Versions of OpenGL later than 1.1 (or that require “hardware-accelerated OpenGL”) are incompatible with ARM-based Windows 10. That’s a huge issue for gamers, even if their games manage to sidestep any issues with drivers and 64-bit.
For those Microsoft-centric developers debating whether to build apps for ARM-based Windows 10, it might be worth waiting to see if Microsoft eliminates these issues in future updates.