Are you absolutely stoked for the launch of Windows 10 on ARM devices? We first heard about the project more than a year ago, and in May of last year Microsoft explained a little about how regular old Win32 x86 apps would run on the systems. In the meantime, Asus and others have announced upcoming laptops built on the technology. Even with all that talk around the platform, there were still some questions left unanswered, like whether we'd be able to run 64-bit apps or use Hyper-V. Microsoft put out a document last week that provided some answers.
The original document at the Microsoft site was titled "Limitations of apps and experiences on ARM," but the company replaced it with another page intended to help developers troubleshoot their x86 apps on ARM clients. Both pages have more or less the same information, though the new version presents it in a more neutral way. The limitations of Windows 10 on ARM are probably not going to be a surprise to savvy gerbils who are familiar with emulation. Obviously, existing x86 and x86-64 drivers aren't going to work, although perhaps less obviously, x86-64 applications in general are also not compatible.
Microsoft goes on to say "apps that customize the Windows experience" are not likely to work. That includes certain assistive technologies, "cloud storage apps," and input method extensions. More generally, anything that requires a shell extension is not likely to work because the emulation layer simply doesn't extend to system elements. That distinction is a bit curious because the x86-on-ARM emulation layer appears to be based on the Windows on Windows (WOW) system that is used to run x86 apps on x86-64 (or "x64" in Microsoft parlance) machines. Developers will have to create ARM-compatible versions of their shell extensions.
In what will surely be a disappointment to folks who want to virtualize everything, Hyper-V is not supported on Windows 10 on ARM. Microsoft notes that "certain games don't work," as well. That includes games which require drivers for their anti-cheat functionality as well as games using versions of DirectX older than 9.0, or OpenGL. That's right: hardware-accelerated OpenGL is not supported in any fashion on Windows 10 for ARM. That could make porting games over more difficult for Android and iOS developers who typically develop for OpenGL or Apple's Metal API.
The Qualcomm hardware that the first Windows 10 on ARM devices will use already has a functional (if not great) OpenGL driver for other operating systems, so this could be an intentional choice from Microsoft. The Redmond company and OpenGL have had a prickly relationship from the start, but even John Carmack (who once called Direct3D "horribly broken") has come around to say that DirectX is the better API. Microsoft's API is certainly used by more games, but disallowing OpenGL on the Windows 10 for ARM platform entirely seems like a petty decision regardless.
Windows 10 on ARM devices were supposed to launch in time for the holidays last year, but obviously that date has slipped. We can't locate any information about what's happened to them, but it seems like Asus, HP, and Lenovo still have Qualcomm-powered machines on the way running Windows 10. We'll keep you posted when we hear more.