We’ve long understood that Windows 10 on ARM would present app compatibility compromises and challenges. But Microsoft really needs to work on the user experience here. The types of users who would be drawn to this platform will be confused and frustrated by how often things don’t work.
The issue here is multifaceted, and it involves two levels of limitations: Those imposed by Windows 10 S—soon to be S mode—and those imposed by ARM emulation.
The S mode limitations are well-understood and easily bypassed. You can only run the apps that come with Windows 10, plus those apps you acquire from the Microsoft Store. Escaping from this hell is straightforward and, best of all, free: You can switch to whatever full version of Windows 10 you’re using (today, Pro, but Home or Pro in the near future). This happens on the fly in just seconds, and it doesn’t even require a reboot.
The limitations imposed by ARM are a bit more complicated and are much less well-understood.
As I reported back in February, Windows 10 on ARM drops several technologies and features that are available to those with x86/x64 versions of the OS. These include certain classes of apps (utilities that modify the Windows user interface, like shell extensions, input method editors (IMEs), assistive technologies, and cloud storage apps), x86/x64 drivers, Hyper-V, and older games that rely on out-of-date versions of DirectX or hardware-accelerated OpenGL.
But the biggest limitation, and it’s a bad one, is that Windows 10 on ARM does not support 64-bit apps of any kind. You cannot install 64-bit desktop (Win32) applications, or 64-bit (x64 or ARM) Microsoft Store apps either. And … that is a problem.
(To be clear, Windows 10 on ARM is a 64-bit operating system. And support for 64-bit ARM Store apps is coming in a future update, possibly Redstone 5, which will arrive in September/October. What’s not clear is whether the emulation solution software in Windows 10 on ARM will ever support 64-bit desktop applications or x64 Store apps. I will try to find out.)
In just a day of testing—which involved installing the core apps I always use plus some purposefully challenging other applications for testing purposes—I ran into several problems. And while some had workarounds, many did not. I find this interesting, like a puzzle. But in the real world, the average users who would gravitate to Windows 10 on ARM, especially for the streamlined S mode experience, will only be frustrated by this stuff.
Let’s consider desktop applications first.
When I downloaded Google Chrome from the web, I was apparently automatically provided with the correct 32-bit version of the app. It installed correctly and without drama. And after I signed-in to the app, it proceeded to do what it does on my “normal” PCs: Install all of my extensions and sync my settings. I was also able to pin the web apps I use—Google Inbox, Google Calendar, and Twitter Lite—to the Envy x2’s taskbar normally. Excellent.
I also had a surprisingly good experience with MarkdownPad, which is an excellent example of an application with serious (some might say debilitating) x86 software requirements. You need a special (now out-of-date) version of a programming interface, plus a certain version of the Microsoft Visual C++ library that was written in an era when Windows 10 on ARM wasn’t even a distant possibility. Surprise! It all installed just fine, and MarkdownPad runs normally.
But other applications you might download from the web will be less forgiving. Many Windows desktop applications are 64-bit only, and there is no way to know, in most cases, what you’re getting. In fact, I don’t believe that most normal users should never even need to think about this kind of thing.
Consider Visual Studio Code as an example. When you download the installer from the Visual Studio website and run it, you get the following nonsensical error message.
The issue? Visual Studio Code is a 64-bit application, and it will not run on Windows 10 on ARM. But as it turns out, Microsoft does provide a harder-to-find 32-bit version of the application. And that installed just fine. (Oddly, the full-featured Visual Studio suite is still 32-bit. That also installed fine on Windows 10 on ARM.)
Put simply, downloading desktop applications from the web is going to be a crapshoot. Some will work fine. Many will not work at all.
The Microsoft Store should offer a better experience. After all, the Store is designed so that it examines your PC and only displays those apps and games that will actually work with that PC. There should be no gotchas.
But there are gotchas.
One class of gotchas is caused, I think, by the Xbox Play Anywhere system. That line above about the Store tailoring your experience to your PC is only mostly true: The Store also displays Xbox games, which you can remotely install to your Xbox One from the Store on a Windows PC. And among those games are some Xbox Play Anywhere titles that have both Xbox One and Windows 10 versions.
I don’t expect full-featured, modern 3D games like Resident Evil 7, Middle Earth: Shadow of War, and Forza 7 to run on Windows 10 on ARM. And they don’t. But there is a class of games that sits just north of true mobile nonsense like Candy Crush that I figured might work, if slowly. Games like Cuphead and Super Lucky’s Tail.
These games do show up in the Store on Windows 10 on ARM, which would give a user a reasonable hope of playing them. But they won’t work. And the error message here is really cryptic, too, for a norm: Why on earth would they know what an x64 app was and that such a game will not work on their new laptop?
Games are one thing. But I had hopes that my standard productivity apps would all work. But they don’t. I use the Store version of Photoshop Elements 15 every single day on all my PCs, including my Windows 10 S-based Surface Laptop. But that app is not available on Windows 10 ARM because it is an x64 app. It doesn’t even appear in the My Library apps list.
There are a surprising number of x64 apps in the Store, so this, too, is a crapshoot. As someone on Twitter pointed out today, Newton Mail, a Store-based email app, is only x64, so it will not run on this system either.
I’ve been able to install enough of what I need for the system to be usable. (For example, I can substitute Paint.NET for Photoshop Elements 15.) But the uncertainty of app compatibility is going to be a real pain point for early users of Windows 10 on ARM. And it’s especially disappointing to see these issues after switching from S mode to full-blown Windows 10 Pro specifically to improve application compatibility.
I’ll have more soon, including a look at app performance, especially for emulated x86 apps, and cellular connectivity.