This week, Microsoft announced a new initiative with Qualcomm aimed at bringing full 32-bit Win32 compatibility to ARM devices running Windows 10 in 2017. It’s a significant change from the company’s previous ARM strategy, and it could finally clear the way for the kind of cross-platform compatibility that Microsoft promised (but didn’t actually deliver) when it launched Windows RT back in 2012.
It’s always surprised me how quickly the market turned on Microsoft over the question of ARM support. In 2011, when Microsoft first began talking about Windows on ARM, it was hailed as making a smart move that would protect its own future. ARM hardware was tearing up the smartphone world, Intel didn’t have any equivalent SoCs for x86 systems to push into tablets or smartphones, and Microsoft’s Windows monopoly seemed in serious jeopardy. A Windows-based ARM tablet or notebook seemed a smart way for Microsoft to build a bridge to these product segments, and we saw prototype hardware from multiple companies (called “smartbooks”) in the run-up to Windows 8’s debut.
Once Windows RT actually hit shelves, however, analyst goodwill vanished. Microsoft’s decision to make the GUI and features of its Windows RT operating system identical to Windows 8 was a recipe for consumer confusion; customers bought RT devices expecting full Windows support and were extremely unhappy when the devices only ran a handful of mostly terrible “Metro” applications. The Tegra 3 SoC that powered the first-generation Surface RT was a quad-core Cortex-A9 and not particularly powerful, which made x86 emulation out of the question. Microsoft followed up with the faster Surface 2, but retired Windows RT thereafter. While Windows 10 Mobile still runs on ARM hardware, Microsoft never released the kind of x86 emulation that would allow mobile ARM devices to access the full suite of Win32 applications — until now.
Microsoft’s original WinRT development structure called for the deprecation of Win32 in favor of other languages and frameworks. This didn’t play out as intended.
Next year, Microsoft and Qualcomm will launch devices based on unspecified Qualcomm hardware (our bet is on the Snapdragon 835) that can run both ARM and 32-bit Win32 applications via emulation. Windows itself will run using native 64-bit ARM code, but x86 applications will also be supported, provided they ship with 32-bit binaries that are compatible with Microsoft’s emulation layer. Microsoft is calling these systems “cellular PCs” and it hopes they’ll avoid the problems that kept Surface RT satisfaction low and prevented its first Windows on ARM efforts from gaining traction.
But these efforts aren’t just part of a new Microsoft effort to make-nice with the ARM ecosystem — they’re actually essential if the company wants to continue to deliver cutting-edge devices that allow for seamless transitions between desktops and PCs. From 2011 to 2015, Intel’s investment in Atom and its own mobile ecosystem meant that Microsoft had a go-to partner for x86 devices and a plausible roadmap for building a device that could transition from smartphone to PC via Continuum, all on a single architecture. Intel’s decision to cancel Atom’s mobile SoCs killed that idea, and AMD is currently occupied trying to break into the server market and regain lost consumer market share. Zen doesn’t have a sub-2W SoC on the horizon, and Microsoft wanted to continue with its own projects now, not wait for a hardware vendor to meet its needs. Intel’s cost structures made this difficult in any case, and while AMD could theoretically have served as a vehicle, Sunnyvale killed development on the small “cat” cores that would’ve been most likely to power such an initiative in any case.
Microsoft will offer always-on connectivity options to these cellular PCs, with data plans sold directly from the Windows Store, and a long-term blurring of the line between desktop and smartphone. We’ve said before that this kind of option could be incredibly useful in certain circumstances — I’d love the ability to plug my phone into a monitor and have it configure itself as a PC, but actually making that happen with acceptable performance and features could still be tricky. There are also questions about how well the device would function alongside other Windows hardware — what I’d really like is a seamless option to switch between a cellular PC and standard desktop or laptop on the same display, or even to mount the cellular PC as a virtual desktop within another instance of Windows. Microsoft’s plans for Continuum are fairly advanced, but I’m not sure anything quite that ambitious is actually on the horizon.
The x86 emulator Microsoft has created is tuned specifically to run on Qualcomm hardware and increases performance by only handling CPU calls, according to PC World. All I/O requests, storage accesses, or GPU accesses are handled natively by ARM software, which should speed performance significantly. That said, we wouldn’t plan on necessarily doing much gaming — Qualcomm GPUs technically support DX11 and DX12 natively, but I wouldn’t want to bet on any degree of optimization or that Qualcomm would spend a great deal of effort optimizing their drivers for x86 games. Business and general app compatibility are the major focus here, not 3D performance.
This kind of cross-compatibility would make Windows a great deal more appealing, but it’s still an open question whether there’s enough of a market left for Windows 10 Mobile to move the dial. Microsoft’s decision to gut Nokia and kill its own smartphone development sent a pretty clear signal that Windows 10 was effectively dead as a mobile OS. It’s just not clear if enough people are interested in this type of feature to spark a meaningful revival in the company’s mobile fortunes.