Microsoft prepping emulator that runs x86 apps on ARM

Posted on Tuesday, November 22 2016 @ 13:54 CET by Thomas De Maesschalck
MS logo
Word is going around that Microsoft is developing an emulator that will allow ARM-based systems to run applications designed for the x86 version of Windows. The functionality is believed to be part of the "Redstone 3" update for Windows 10, which is slated for a Fall 2017 release.

By offering people the capability to run x86 apps on ARM, Microsoft believes it can make Windows Mobile's Continuum feature more attractive. At the moment, Microsoft's ARM-based products aren't really desirable because there's no broad ecosystem as there is for Google's Android and Apple's iOS.

The software giant is still pinning a lot of hope on Continuum, and the emulation could change things a bit in Microsoft's favor. Furthermore, because Continuum is designed to be used when the phone is plugged in, the inefficiency of the emulation would be less of a concern. Here's how ARS Technica sees it:
This isn't such a big deal for Windows on phones because phone applications have to be purpose-built to include a phone user interface, but it was one of the things that made Windows RT tablets, including Microsoft's own Surface, broadly undesirable. And even while it isn't an issue for phone apps per se, it limits Microsoft's ambitions somewhat with Windows Mobile's Continuum feature. With Continuum, a Windows Mobile phone can connect to a keyboard, mouse, and screen, and the phone can run desktop-style applications. Currently, Continuum is limited to running UWP applications; these apps can offer dual user interfaces, adapting to whether being used in phone mode or Continuum mode. It would be logical and obvious to extend this to allow true Windows desktop applications to run in Continuum mode—but that raises the x86/ARM incompatibility issue once more.
Evidence for the feature was discovered by Twitter using Walking Cat, who reports about code that hints at some kind of hybrid executables that mix x86 and ARM code in a single process. How it will work remains a bit uncertain, it's believed x86 emulation may be just for the high-level application code, and that the system will switch to native ARM every time operating system functions are used. this would reduce the performance impact of the emulation.



About the Author

Thomas De Maesschalck

Thomas has been messing with computer since early childhood and firmly believes the Internet is the best thing since sliced bread. Enjoys playing with new tech, is fascinated by science, and passionate about financial markets. When not behind a computer, he can be found with running shoes on or lifting heavy weights in the weight room.



Loading Comments