Skip to main content

Microsoft: x86 Apps Will Run On ARM Chips At Near-Native Performance

Windows 10 on ARM architecture

Earlier this year, Qualcomm announced that its next-generation chips will be the first to fully support Windows 10, including all the programs built for the x86 architecture. In a recent video, Microsoft demonstrated how both x86 and Universal Windows Platform (UWP) apps would run on ARM chips. It also talked about the underlying technology enabling x86 apps to run on ARM chips with near-native performance.

Windows 10 On ARM Not Like Windows RT

Windows RT launched alongside Windows 8 in 2012. It was basically a version of Windows 8 for ARM chips, and it lacked any support for x86 programs. It primarily targeted tablets, and it was supposed to be the Windows version that would bring Intel some ARM competition in the PC market.

The operating system only supported UWP apps, though, which had to be developed from scratch. Developers didn’t adopt UWP apps at the rate Microsoft was expecting, which ended up negatively impacting the sales of Windows RT devices. An operating system for which people typically expect to have “all the apps”--a reasonable expectation given the association with Windows--isn’t as appealing when it actually has very few useful applications.

By contrast, from a user’s point of view, the new Windows 10 on ARM (which may not be the final official name) should work the same way as an x86 version of Windows. You’ll have access to both UWP and x86 applications, just like you do on the regular version of Windows. The only difference is that x86 apps will run emulated in the background at “near-native speeds.”

Microsoft recently announced Windows 10 S, too, which makes things a little bit more confusing. It’s a little like Windows RT, in the sense that by default only UWP apps work on it, but you can upgrade to the full Windows experience for an extra $50. Because ARM chips are now fully supported in Windows 10 (or at least Qualcomm’s chips are), we may see some Windows 10 S devices with ARM processors that can also be upgraded to the full version of Windows for $50.

X86 Apps On ARM At Near-Native Speeds

According to Microsoft, the x86 Win32 apps run unmodified on Windows 10. This only makes sense; if Microsoft wanted this project to be a success, there wasn’t any other way to do it, anyway. Even many x86 apps haven’t been updated in years, so it would’ve been impractical to expect developers to update them to work on ARM. Microsoft had to find a way to make x86 apps work automatically on ARM chips without requiring any extra work from developers.

Google also learned this lesson, when it wanted developers to port Android apps to Chrome OS. Eventually, Google realized that it could simply put the whole Android framework in a container, and in that way, all Android apps in the Play Store could also run on Chrome OS, at near-native speeds.

Windows 10 on ARM will translate all x86 instructions to ARM64 at runtime, and then they’ll be cached both in memory and on disk for future use. The translation for an app will happen only once, which should save battery life and CPU usage because the x86 apps won’t have to be emulated every time you open them.

To make things even more efficient, Microsoft will use as much native ARM code as possible in Windows 10 on ARM. That includes parts of the OS itself (such as native system DLLs), the Edge browser, the shell, and so on. The idea is to limit emulation to third-party apps, and run pretty much everything else natively.

ARM Competition

Initially, Windows on ARM will work only on Qualcomm’s Snapdragon 835 chips. Microsoft likely wants to limit the higher complexity of the ARM chip environment so that it doesn’t have to support dozens of ARM processor variants from day one. However, Microsoft will likely end up supporting high-end ARM chips from MediaTek and Samsung, which should have similar performance, before long.

This should spark heated competition in the PC market, at least in the budget notebook category. ARM chips have typically cost much less than even Intel’s lowest-end chips (which one of the main reasons Intel couldn’t make it in the mobile market). However, without full x86 app support, ARM couldn't make significant strides in the PC market. Because of this new Windows on ARM, though, high-end ARM chips should have a much better opportunity to compete head-to-head against Intel's own budget offerings.

Until now, there wasn’t any point in making ARM chips with a higher power envelope than what is typically considered acceptable in a smartphone or tablet. However, if things go well for ARM chip makers in the PC market, we could eventually see more powerful ARM chips that aren't constrained by a low TDP. That means ARM chips could eventually compete more directly against Intel's higher-end products, too.

Qualcomm said that the first Windows on ARM devices using its chips will appear in the second half of 2017.

Lucian Armasu is a Contributing Writer for Tom's Hardware US. He covers software news and the issues surrounding privacy and security.