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
Lucian Armasu is a Contributing Writer for Tom's Hardware US. He covers software news and the issues surrounding privacy and security.
  • No thanks.
    Reply
  • derekullo
    Why not just install on an actual x86 chip instead of emulating it?

    I would assume anyone using photoshop can afford to buy an x86 pc.

    https://www.adslzone.net/app/uploads/2017/01/snapdragon-835-vs-intel-i7-7700k-geekbench.jpg

    Shows an i5-6600k is about twice as fast as a Snapdragon 835 on Geekbench.

    Near native performance could mean anything from a 1-10% penalty.

    It's nice that it is being offered but the majority of people already have an x86 computer capable of running Photoshop and other apps.

    They would have to:
    1. Choose to buy a computer with a Snapdragon 835.
    2. Accept 1/2 of the performance of an i5 or 1/3 the performance of an i7 as acceptable.


    It reminds me of a story I read a few weeks ago about prisoners assembling a makeshift computer from spare parts they found and hacking the prison's wifi/computers with kali.

    I guess now if they could only get their hands on an arm processor they could install windows and play wow from prison.

    Priorities lol.
    Reply
  • mr0000000000
    @DEREKULLO - you have to acknowledge the price difference as well as the difference in cooling needed between a 6600K and a Snapdragon 835. This allows for a LOT of flexibility in form factor while also being offered at better prices.
    Reply
  • bloodroses
    @derekullo
    Well, Microsoft did try using an actual x86 chip with the Atom CPUs on the phone and tablet market. Outside the Surface Pro, they've failed miserably.

    What I'm seeing here with what they're doing is less about getting ARM on desktop than it is Windows on smart gadgets such as phones and tablets. Microsoft knows they've been getting cannibalized in those markets, so they're doing what they can to adapt to change.

    With that said, I did find the title quite misleading as no ARM chip can currently run against anything outside low end x86 chips; native speeds or not. Basically, don't expect games like Battlefield 1 on an ARM CPU anytime soon.
    Reply
  • extremepenguin
    Fingers crossed for an iPad like device that can run my Moms card making software and Facebook games with support for her printer and scanner for under $500 because that is basically exactly what she wants and will get her off my case.
    Reply
  • TechyInAZ
    19681596 said:
    Why not just install on an actual x86 chip instead of emulating it?

    I would assume anyone using photoshop can afford to buy an x86 pc.

    https://www.adslzone.net/app/uploads/2017/01/snapdragon-835-vs-intel-i7-7700k-geekbench.jpg

    Shows an i5-6600k is about twice as fast as a Snapdragon 835 on Geekbench.

    Near native performance could mean anything from a 1-10% penalty.

    It's nice that it is being offered but the majority of people already have an x86 computer capable of running Photoshop and other apps.

    They would have to:
    1. Choose to buy a computer with a Snapdragon 835.
    2. Accept 1/2 of the performance of an i5 or 1/3 the performance of an i7 as acceptable.


    It reminds me of a story I read a few weeks ago about prisoners assembling a makeshift computer from spare parts they found and hacking the prison's wifi/computers with kali.

    I guess now if they could only get their hands on an arm processor they could install windows and play wow from prison.

    Priorities lol.

    Your comparing apples to oranges, a snapdragon is going to be for the lower end market, not high end desktop CPUs.

    This is awesome either way. FINALLY we can get rid of x86 once and for all and move to ARM entirely, something we should be doing already in my opinion.
    Reply
  • Jake Hall
    Yeah, no thanks. Sorry Freak777, meant to vote you up
    Reply
  • zodiacfml
    Thanks for the Geekbench link. I couldn't believe that Intel has lagged that much and allow ARM based SoC's to catch up. I knew it is their mistake to wait for AMD. Intel's lead should be far from what they are now if they continued with the tick-tock cadence
    Reply
  • derekullo
    19681716 said:
    @DEREKULLO - you have to acknowledge the price difference as well as the difference in cooling needed between a 6600K and a Snapdragon 835. This allows for a LOT of flexibility in form factor while also being offered at better prices.

    19681731 said:
    @derekullo
    Well, Microsoft did try using an actual x86 chip with the Atom CPUs on the phone and tablet market. Outside the Surface Pro, they've failed miserably.

    What I'm seeing here with what they're doing is less about getting ARM on desktop than it is Windows on smart gadgets such as phones and tablets. Microsoft knows they've been getting cannibalized in those markets, so they're doing what they can to adapt to change.

    With that said, I did find the title quite misleading as no ARM chip can currently run against anything outside low end x86 chips; native speeds or not. Basically, don't expect games like Battlefield 1 on an ARM CPU anytime soon.

    ARM could be cheap, ARM could even be free but for a single $200 difference in price your Photoshop and handbrake renders are rendered twice as fast. (Intel Core i5-7500)

    Edit: Forgot about Ryzen 5 1600 even higher performance than the i5 at the same price point $200.

    Why run a high powered application on basically a high end netbook cpu.

    (Besides just to say you can.)

    Had they mentioned running word, excel, checking email, Super Nintendo emulators ... I would not have taken issue.

    More options are good but not every new option is a good option just because it is new.

    You could raise the point of ARM is more efficient and it is.

    But if I'm rendering something in Handbrake or Photoshop I don't really care about frames rendered per watt especially if it's for a job with a time constraint.

    I'm not waiting 3 times as long to render it on ARM just to save a few watts when I could just use an i7 and move on to other work or play.

    Of course you could use ARM in a laptop to render photoshop / handbrake on the go, but at that point i would still rather an i7 to render quicker and just plug into an outlet when needed.

    ARM does have it's place in netbooks and extremely light gaming.

    It would do well with a Geforce 1050 at 720p in most games.
    Reply
  • HarisHashim
    @DEREKULLO

    This is more for the case of, I didnt / forgot to bring my big machine but I have to execute some x86 binaries.

    I hope in longterm we will have x86 binary execution in other OS such as Android too!
    Reply