Windows 10 On ARM Is Being Groomed To Fail
Microsoft wants Windows 10 to be on all its supported platforms and so far it indeed has, from desktops to 2-in-1 tablets to Xbox to even mixed reality. But there is one place where Windows 10 continues to flounder: mobile. While the nascent Windows 10 on ARM, technically "on Qualcomm Snapdragon" really, aims to at least make Microsoft's case on a new, and so far niche, class of devices. But it seems that Windows 10 on ARM's published and now retracted limitations seems to paint a picture that is only a bit better compared to Windows RT but still more of the same. That is, a version of Windows 10 that might serve nobody in the end.
Why ARM?
Windows has always been a predominantly x86 affair. While it has, in various incarnations, flirted with ARM and even embedded platforms, it has its bread and butter machines ran on x86 and later x64 processors from Intel and AMD. But in a world where mobile devices and embedded devices are overtaking traditional desktops and laptops, Windows is starting to lose out.
The ARM computing architecture has been designed from the get-go to prioritize power efficiency over performance. Designed for smaller computers, ARM, alongside other RISC architectures like MIPS, have always been the go-to for more resource-constrained computers, like phones and tablets. The ARM platform has had an easier time scaling up its performance than it has been for the likes of Intel to scale down its x86 processors.
Always on connectivity, days if not weeks of battery life, and efficient thermal management have been the key points of Microsoft's and Qualcomm's spiel when the two revealed the first batch of the so far not yet available 2-in-1 Windows 10 on Snapdragon devices. Microsoft knows all too well that these are the qualities that its users, mostly those on laptops, have been dying to have. But while there is little doubt that Qualcomm's Snapdragons, even last year's 835 chipset, could deliver those, there was still the thorny subject of software to deal with.
Why not ARM?
Microsoft has danced with ARM before but, with few exception, most of them ended up being short-lived. Windows RT was an unmitigated disaster, and Windows Phone was never able to take hold of the market. Windows 10 Mobile almost had more promise except it's now practically dead. The ARM and x86 hardware was so different that their software were just as divergent, a problem Microsoft was never able to fully solve.
And thus, many hopes are being pinned on Windows 10 on ARM. It bore with it the promise, or at least the possibility, of having the same, familiar Windows 10 desktop running on an ARM device. And, on the surface, it is exactly that. But underneath, the situation is a terrible mess.
What Windows 10 on ARM can’t do
Microsoft recently published documentation for Windows 10 on ARM, explaining the intricacies of the version's x86 emulation and the ways to troubleshoot problems that may arise. It may not have intended it, but the document also laid out in plain sight what the limitations of Windows 10 on ARM were, and there were a lot. Microsoft yanked out those parts of the documentation but still left enough to read between the lines. Plus, the Internet never really forgets.Only legacy Windows programs
In a nutshell, the x86 emulation, as it name so clearly says, works only with x86 software in almost any incarnation. That includes native win32, native win32 programs that use the Desktop bridge to become available on the Windows Store, .NET apps covering the two, and, of course, x86 UWP apps. Windows 10 on ARM doesn't support 64-bit software, be it x64 or even ARM64 (except for ARM64 hardware drivers). And that's going to be a real problem in a world where platform makers like Microsoft are pushing win32/x86 apps out and focusing on x64 support. It turns out now that those newer, 64-bit programs aren't going to be welcome on Windows 10 on ARM after all.
Universal Windows Platform isn't as universal
Microsoft pushed UWP to developers, despite criticism from high-profile figures, as a convenient way to write a program once and have it available on all Windows 10 devices. The reality, of course, is far from being that simple. For one, developers still have to design user interfaces specific for each device class. And now, only 32-bit UWP programs, be it x86 or ARM32, are supported in Windows 10 on ARM.
But even then, things might not go as smoothly. 32-bit UWP apps written for ARM32 devices, a.k.a. Windows 10 Mobile, may not behave properly on Windows 10 on ARM. They may look wrong or may not even work at all, all because the developers of these universal apps wrote them on the presumption that all Windows 10 ARM devices will be phones forever.
No new games for you
Games are another class of programs that are going to be problematic. On the one hand, it's not exactly unexpected. Games need more direct access to hardware. x86 emulation adds a layer in between the game and the hardware that could slow things down. But that's not the only problem.
Microsoft's documentation says that games and software using any OpenGL version later than 1.1 will not work, which is practically any modern OpenGL program. That pretty much excludes any OpenGL program written in the last two decades. That said, games that do use DirectX up to the latest version will work. Which isn't surprising considering Microsoft develops DirectX.
No special features
But even if a program meets all the qualifications above, they still might not work on Windows 10 on ARM. Any program that modifies Windows 10 even to add something like a right-click menu in Windows Explorer or connect to cloud storage are kept out of the party. Only ARM64 drivers work as well, so any hardware that only has an x86 or ARM32 driver is also going to be unusable.
What Windows 10 on ARM can do
Microsoft probably removed the document listing the limitations of Windows 10 on ARM because it painted the picture of a severely crippled Windows 10. Given the above, that might indeed seem to be the case. That said, Windows 10 on ARM still has some things going for it.
There is still a whole host of programs from the Internet that either only provide win32 versions or have both x86 and x64 ones. There are, admittedly, a lot more choices in the Windows Store that may (or may not) work on Windows 10 on ARM. But thanks to Microsoft itself, as well as other OS makers, pushing for switching over to x64, that number is slowly dwindling.
Wrap-up: Who is it for?
At this point, Microsoft still hasn't answered the most important question about Windows 10 on ARM. Who is it for? These limitations make it clear that the platform only supports a very small subset of applications and users. While Microsoft would like developers and users to turn to its app store and UWP platform, now it is known that now all UWP apps will be treated alike.
Then again, Windows 10 on ARM is still pretty much at its infancy. Microsoft may still have a chance to expand its support or, at the very least, clarify its story. The first Windows 10 on ARM devices won't hit the market until a few months, but unless Redmond is able to address concerns sufficiently, those 2-in-1 tablets will end up collecting cobwebs in inventories and warehouses. Which, in turn, could spell the early end of yet another Windows on ARM dream.