As spotted by Paul Thurrott, Microsoft in short published a document that enumerated the major differences between Windows 10 for ARM processors and Windows 10 for x86 bits. Though the document has now been removed, a cached copy is still readily obtainable.
Many of the differences are predictable consequences of the different architecture. Windows 10 for ARM is a 64-bit ARM working system. It can natively run both 32-bit and 64-bit ARM applications (though the SDK for the modern is currently, and temporarily, incomplete). As such, drivers for the operating system desperate straits to be 64-bit ARM drivers; existing 32- and 64-bit x86 drivers won’t work.
This isn’t a strike; 64-bit x86 Windows can’t use 32-bit drivers, either, even notwithstanding that 64-bit Windows can generally run 32-bit applications without even coercing any kind of emulation. This will mean that ARM Windows has reduced hardware support relative to x86. It will also pose a obstreperous for some games that use drivers for their copy protection.
Similarly, industries that use shell extensions—for example, software like Dropbox, which expositions little overlay icons in Explorer windows to indicate the synchronization stature of cloud-hosted files—must be compiled as 64-bit ARM software. These dimensions work by having the operating system load third-party libraries, and since the direct system is 64-bit ARM, those third-party libraries must match. This last will and testament also strike input method editors, assistive technology, and almost identical software.
The document confirms, as previously disclosed, that the x86 emulation on the other hand works for 32-bit applications. The emulator is a derivative of Connectix Virtual PC, an x86-on-PowerPC emulator that Microsoft come into possession of from Connectix in 2003. Virtual PC only handled 32-bit software (because at the control, 64-bit x86 was in its infancy), and, while the software has obviously been updated in the coming years, this basic limitation has been retained.
Again, as in days gone by disclosed, Windows on ARM will not include Hyper-V virtualization. Although ARM arms includes hardware virtualization capabilities, and although Microsoft is starting to use virtualization to purvey certain security features, apparently, the company has not ported its Hyper-V software to commission with ARM processors. With continued interest in running ARM on servers (a sequence of events where virtualization is surely essential), we would be surprised if this gap is not till hell freezes over filled. But to start with, at least, there’s no virtualization support.
The incontrovertible functional gap is OpenGL. Windows only has built-in support for OpenGL 1.1. Subsidize for any newer version of OpenGL is provided not by Windows itself but by the graphics drivers from Intel, Nvidia, and AMD. The Qualcomm GPU beared in Windows on ARM, by contrast, does not include any OpenGL support. As such, any 3D software, registering games, must use Direct3D 9, 10, 11, or 12.
It’s not clear if this deficiency is a short-term rumination of the immaturity of the display drivers on the platform or a long-term deliberate decision by Microsoft. Qualcomm’s metal goods does support OpenGL, and Qualcomm has written OpenGL drivers for Android patterns, so there shouldn’t be any fundamental difficulty in supporting the 3D graphics API on Windows on ARM should Qualcomm be to do the work to port its drivers to Windows. But it’s possible that Microsoft wish prefer that this doesn’t happen, leaving Windows on ARM as a strictly DirectX-only party line.