Microsoft announced Windows 10 for ARM-based devices back in December, but little information was provided about its limitations.
Spotted by Paul Thurrott, Microsoft accidentally published a full list of its limitations last week. The list has since been removed, but not before it was cached.
Windows 10 on ARM has the following limitations:
- Only ARM64 drivers are supported. As with all architectures, kernel-mode drivers, User-Mode Driver Framework (UMDF) drivers, and print drivers must be compiled to match the architecture of the OS. While ARM OS has the capabilities to emulate x86 user-mode apps, drivers implemented for other architectures (such as x64 or x86) are not currently emulated and thus not supported on this platform. Any app that works with its own custom driver would need to be ported to ARM64. In limited scenarios, the app may run as x86 under emulation but the driver portion of the app must be ported to ARM64. For more info about compiling your driver for ARM64, see Building ARM64 Drivers with the WDK.
- x64 apps are not supported. Windows 10 on ARM does not support emulation of x64 apps.
- Certain games don’t work. Games and apps that use a version of OpenGL later than 1.1 or that require hardware-accelerated OpenGL don’t work. In addition, games that rely on “anti-cheat” drivers are not supported on this platform.
- Apps that customize the Windows experience may not work correctly. 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. IMEs and assistive technologies often to hook into the input stack for much of their app functionality. 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.
- Apps that assume that all ARM-based devices are running a mobile version of Windows may not work correctly. Apps that make this assumption may appear in the wrong orientation, present unexpected UI layout or rendering, or failing to start altogether when they attempt to invoke mobile-only APIs without first testing the contract availability.
- The Windows Hypervisor Platform is not supported on ARM. Running any virtual machines using Hyper-V on an ARM device will not work.
Windows 10 for ARM is Microsoft’s attempt to combat the rise of Chromebooks with similar all-day battery life and ‘instant on’ functionality. The low power nature of these devices requires some trade-offs.
While it’s not been noted in the documentation, Microsoft is working on support for x64 desktop apps for a future release.