With Microsoft's launch of the Surface Pro X last week, questions were once again raised about the apps that can run on it. The answer is that like any Windows 10 on ARM PC, it can run native ARM (ARM and ARM64) apps, and it can run emulated 32-bit Intel (x86) apps. This leaves out 64-bit Intel (AMD64, or x64) apps, so if you want an app that's only available in an x64 flavor, such as Adobe Premiere Pro or Photoshop Elements, you can't use it.
That's going to change though. Speaking with several sources, I can confirm that Microsoft is indeed working on bringing x64 app emulation to Windows on ARM. When that will happen is a bit more unclear, but it seems like it could be in Windows 10 21H1, which would mean that the general public will have access to it in the first half of 2021, and Windows Insiders will be able to test it out next year.
When Windows on ARM was first introduced back at Qualcomm's Snapdragon Technology Summit in 2016, the official messaging was that 64-bit emulation was never going to happen. That messaging has changed, as we reached out to Microsoft for this story, and a company spokesperson said that there's nothing to share at this time.
But no one ever said that 64-bit app emulation wasn't possible. In fact, I was told that it was more of an issue of performance. That's the other issue here; while Windows on ARM will be able to support emulation of both 32- and 64-bit apps, 32-bit will still be faster. 32-bit emulation uses WOW64, the exact same thing that x64 versions of Windows use to run 32-bit apps. This would presumably have to be something new.
That brings another issue to light, and it's a question that there probably isn't an answer for yet, since we're still early in this process. It's unclear what the default will be. The way that typical installers work is that if your machine supports 64-bit, it delivers the 64-bit app. That's because in all current cases, 64-bit apps are equal or better than their 32-bit counterparts, at least in terms of performance. That will change for ARM though, where 32-bit apps will still offer a better experience.
Another issue is how it will handle vendors that deliver different versions of apps based on what your system can handle. For example, Adobe Creative Cloud will offer you Photoshop 2018 on a 32-bit machine, and therefore it offers the same on an ARM64 machine. With 64-bit emulation, it's unclear if it will start offering Photoshop 2020 (or 2021 by that point) instead, even though performance will be worse than it already is.
Qualcomm's current generation of PC chipsets is the Snapdragon 8cx, as well as Microsoft's SQ1, which is a slightly modified 8cx. These SoCs are built from the ground up for PCs, with emulation in mind. However, 64-bit app emulation won't be exclusive to the 8cx lineup; rather, you'll be able to use x64 apps on every generation of Windows on ARM processors, going all the way back to the Snapdragon 835.
One good thing to come out of this is that it should be less confusing for consumers, just to be able to say that all Windows apps run on an ARM PC. Microsoft's first shot at Windows on ARM was Windows RT, an ill-fated version of the OS that looked and felt exactly like Windows 8, but it could only run ARM apps, most of which had to come from the Windows Store.
The whole idea of Windows 10 on ARM was to get away from that, and that's why we have emulated apps. Windows on ARM is just supposed to be Windows, at least from an end user perspective. Microsoft doesn't want you to have to think about what you can and can't do. You should be able to use your ARM PC like any other.
For the performance gap, it's worth noting that Qualcomm is moving at a pretty rapid pace when it comes to PC chipsets. The Snapdragon 850 and Snapdragon 8cx were both huge leaps from their predecessors, so if the company continues to innovate at such a rapid pace, hopefully we'll get to a point where emulation isn't even noticeable.
22 Comments - Add comment