Microsoft has come up with some strange ideas over the years. Their latest one, which has been coming from a while, is running Windows on ARM processors once again, with the help of Qualcomm and some daring device manufacturers. This new Windows on ARM initiative was announced in 2016 and formally launched last year, and now we have laid our hands on the very first Windows on ARM device, the HP Envy x2, for some serious benchmarking.
The HP Envy x2 is not running an Intel or AMD x86 processor, but an ARM-based Qualcomm Snapdragon 835, the same system-on-a-chip used by many of 2017’s flagship Android smartphones. It will soon be joined by other devices from Asus and Lenovo, using the same SoC for what should be largely the same results.
Now you might remember Microsoft’s attempt to get Windows running on ARM hardware way back at the launch of Windows 8 with a variant of the OS known as Windows RT. The infamous OS and the products that ran it were complete failures, to the embarrassment of Microsoft, and that was down to one simple fact: you couldn’t run any traditional x86 applications, so you were limited to the crappy and very limited Metro-style apps found in the Windows Store.
This time, things are different. The new Windows on ARM can run desktop x86 apps through emulation, which makes the whole platform actually useful. Apps in the Windows Store will still provide the best experience, as most are UWP apps that natively support ARM, but if you need to run your favorite desktop apps, that should be possible in this new iteration.
…provided you don’t run into the many limitations of Windows on ARM.
Only 32-bit apps can be emulated, at least for now. Programs that only have a 64-bit version will not work at all. x86 drivers of any kind are not supported, which is fine for plug-and-play peripherals with generic Windows drivers, but anything that requires a specific driver will not work unless there’s an ARM64 driver available, which is unlikely.
The list of limitations continues. Games that use a version of OpenGL newer than 1.1 won’t work, games that use anticheat technology won’t work, apps that customize Windows may not work, Hyper-V is not supported, and even some ARM apps that assume you are using a phone won’t work for now.
So the question is, what does work and how well does it work? We're going to go through some benchmarks first exploring emulated x86 and native ARM performance, and then discussing more general aspects on the platform. And boy, you’re in for a ride with this one.
If you’ve seen our laptop coverage before, we run a wide range of benchmarks covering many different common workloads. However with Windows on ARM, the limitations of the platform mean a large chunk of these benchmarks don’t work. Some didn’t work as they were 64-bit only, and others didn’t work for unknown reasons. Several benchmarks that I normally run as a 64-bit app I needed to redownload as 32-bit to get working, and sometimes those still didn’t work.
PCMark 8 works but the Creative test crashes and the Work test takes so long it’s pointless to run. PCMark 10 launches but the standard test is not supported. Cinebench R15 is 64-bit only and doesn’t run. Premiere is also a 64-bit only app these days. Blender has a 32-bit version but requires OpenGL 2.1 so it doesn’t work. MATLAB stopped providing a 32-bit version recently, but older x86 versions don’t work. And Sandra doesn’t work as I believe it needs to use an x86 driver. That’s eight benchmarks that don’t work, while nine did work, so about half.
My experiences with real-world apps was a little better than this, as key apps that we use like Chrome, Photoshop, Excel, Word, Netflix, Plex and Steam all worked fine. Moving on to the tests...