Microsoft Provides Windows on ARM Details
by Andrew Cunningham on February 9, 2012 6:00 PM ESTWe've known that Microsoft has been planning an ARM-compatible version of Windows since well before we knew anything else about Windows 8, but the particulars have often been obscured both by unclear signals from Microsoft itself and subsequent coverage of those unclear signals by journalists. Steven Sinofsky has taken to the Building Windows blog today to clear up some of this ambiguity, and in doing so has drawn a clearer line between the version of Windows that will run on ARM, and the version of Windows that will run on x86 processors.
Up until now, we've operated under the assumption that a new version of Windows called Windows 8 would be released this year, and that it would run on both x86 (32-bit and 64-bit - throughout this article I'll use x86 to refer to both architectures) and ARM processors - Sinofsky's post makes it clear that the ARM version of Windows, officially referred to as Windows on ARM (WOA), is considered to be a separate product from Windows 8, the same way that products like Windows Server and Windows Embedded share a foundation with but are distinct from Windows 7. Windows on ARM has a "high degree of commonality" and "very significant shared code" with Windows 8 - much of the user's interaction with the OS will be the same on either platform, and much of the underlying technology we've seen in our Windows 8 coverage so far will be present in both versions, but they're distinct products that will be treated differently by Microsoft.
This post is quite lengthy and represents what is likely to be our best look at WOA for at least a little while - we'll get to see some of its features in the Windows 8 Consumer Preview when it is released at the end of the month, but for now Windows on ARM is only being tested internally, and on customized hardware that will be sent to some developers and hardware partners at about the same time. It will be a little while before we see anything remotely similar to shipping hardware.
The Windows Desktop, Office, and x86 Apps
One of the biggest recurring questions I've seen about Windows on ARM is whether the standard Windows desktop would be available for use on those devices as it will be on Windows 8 machines - the answer is yes, it definitely will be. The desktop can be invoked from the Start screen, and once there users can perform standard Windows Explorer operations, launch the desktop version of Internet Explorer, and other tasks either via touch (for which Explorer has apparently been optimized) or via keyboard and mouse input. The desktop will only consume resources when it is launched, meaning that there are no performance or battery life implications for users who stick with the Metro interface for everything - the desktop is there if you want it, but one of Microsoft's stated goals with the Metro interface is to make it so that you don't need to use the desktop as a fallback.
Microsoft will also be bundling versions of Microsoft Word, Excel, PowerPoint, and OneNote with Windows on ARM systems. These Office apps will be a part of the new Office 15 family of products (suggesting, but not guaranteeing, that we may see a full x86 version of that suite before the end of the year as well), but will be touch-optimized versions of the applications rather than ports of the standard suite. The Windows on ARM products will "maintain fidelity" with their x86 counterparts (meaning that a file created in Word or Powerpoint on an x86 machine will look the same on an ARM machine), but will otherwise be redesigned to fit the platform - an early version of Excel is shown above.
That said, Microsoft is firm in its insistence that it will not support running, emulating, or porting existing x86 apps on the Windows on ARM desktop - apps can only be downloaded and installed through the Windows Store, and only apps written to target the new WinRT APIs can be distributed through the store (however, the store will be able to distribute and update both ARM and x86 versions of apps in the event that the app uses any code native to either architecture). Microsoft suggests that current Windows developers should be able to take significant bits of their existing code and wrap them in a Metro layer, but acknowledges that bringing over existing apps will require a bit of work - WinRT is clearly the wave of the future where Windows is concerned, but it'll be up to individual developers to decide how, when, and if to bring their programs over.
Supported Devices and Release Date
Windows on ARM is being written to run on ARM SoCs from NVIDIA, Qualcomm, and Texas Instruments, and it will only be available on devices designed to run it - you won't be able to buy a license for Windows on ARM and install it on an existing tablet, or a tablet designed to run Android. Microsoft is working with partners to deliver compatible hardware, and the company's goal is to start shipping devices running Windows on ARM at the same time as x86 devices running Windows 8 (currently slated for late this year).
In addition to SoC type, Microsoft will have a set of broad guidelines for Windows on ARM tablets that are similar to those for current Windows phones (the "chassis specification," in Microsoft parlance) - likely a set of supported screen resolutions and a list of required hardware devices designed to provide a middle ground between the uniformity of the iPad and the diversity-to-the-point-of-insanity of Android tablets. On Windows phones, these requirements are in place to give consumers some choice while also limiting developer headaches and ensuring a standardized look and feel across different devices from different manufacturers - the requirements for Windows on ARM will have the same aims, and we'll talk a little bit more about some of the hardware that will be common to WOA devices later on in this post.
In treating Windows on ARM as a separate product, Microsoft has left itself some wiggle room to let its release date slip without holding up Windows 8 (wiggle room is very important to the post-Vista Windows team, and they generally don't give hard dates unless they expect to be able to hit them). Microsoft obviously wants to ship before the end of the year because, let's face it, they don't want to give Apple, Google, Amazon, and the rest another holiday season all to themselves, but at this point in the game a botched or half-baked release in time for Christmas could actually be worse for Microsoft's market and mindshare than a well-executed release a few months later. Expect a concurrent release with Windows 8, but know that Microsoft hasn't yet completely committed to it.
When it is shipped, Windows on ARM should come as a single edition of Windows from a feature standpoint (though the company notes that no decisions regarding new Windows product editions have been finalized) - Microsoft promises to "adjust the features ... such that [WOA] is competitive in the marketplace and offers a compelling value proposition to customers of all types." That doesn't tell us much, but I think we should expect the consumer-oriented features that you'd find in a Home Premium version of Windows along with business-minded features (like domain joining and device encryption) thrown in to increase WOA's appeal to enterprises. Whether the decision to ship a single Windows on ARM SKU will have any effect on the x86 version's army of different editions remains to be seen.
Drivers, Updates, and Hardware
So, since Windows on ARM will only be available on devices designed specifically for it, Microsoft can actually keep track of what hardware WOA devices are guaranteed to be using. This means that all software, from OS patches to device firmware to specific drivers, can and will be distributed using Windows Update. Apple has achieved something similar in OS X - Macs are many and subtly varied, especially when you take multiple model years into consideration, but ultimately there is a finite set of hardware in the field, and Apple can keep every Mac in use up-to-date with drivers, firmware, and OS updates through Software Update, rather than the broad array of different first and third-party updaters required to patch those separate elements on an x86 Windows box (and I promise that I'm just comparing the two to give you a frame of reference, not because I consider one system to be inherently superior to the other).
To reduce the number of drivers it will have to keep up to date, Microsoft is relying heavily on "class drivers" to support hardware in both WOA and Windows 8 - for those of you just tuning in, a class driver is designed to support all hardware manufactured to certain standards, rather than targeting specific devices. They're why you can freely plug in different USB keyboards and flash drives to a Windows computer and have them recognized by the machine without needing to pop in a driver disk first.
A lot of the work Microsoft is putting into class drivers is also applicable to Windows 8 - we've already looked at new class drivers for USB 3.0 controllers, mobile broadband chips, and motion sensors, and we should also see class drivers for printers, Bluetooth, Embedded MultiMediaCard (eMMC) storage, and drivers for different busses and input devices (like the Windows, power, and volume buttons).
Where Microsoft can't create class drivers, it's trying to enforce some common specifications - WOA devices will all have DirectX-capable GPUs and drivers, which will power Metro apps, the Windows UI, and GPU acceleration in Internet Explorer among other things. This baseline has enabled Microsoft to improve on the fallback software GPU driver to enable a nicer-looking display on devices without a specific driver (and also for system diagnostic and information screens). This new soft GPU driver will also be available in Windows 8, where it will replace the standard VGA driver that has been a part of Windows for just about as long as Windows has been around.
WOA systems will also require UEFI firmware and Trusted Platform Module (TPM) hardware across the board to support its secure boot and data encyption features, both of which will also be available to Windows 8 devices with the correct hardware (TPMs have been used to encrypt hard drives with BitLocker since Windows Vista and UEFI is slowly replacing BIOS in OEM PCs, but Windows 8 should push the adoption of both in a wider range of computers).
Conclusions
To see what Microsoft is trying to do with Windows on ARM, the most applicable template to examine is the one the company followed with Windows Phone 7. In both cases, Microsoft is entering an established market where competitors have established footholds through very different strategies (in each case, Apple and its tighty-controlled iOS on one end, Google with its infinitely malleable Android on the other, and a few other competitors fighting for scraps in between) and has tried to forge a middle path. Windows Phone 7 has been a bit of a slow starter because of Microsoft's low profile in the smartphone field and because of some lackluster handsets, but the platform has some very vocal fans - if the company can achieve a similar balance in Windows on ARM and get it to market on competitive hardware by the end of the year, that (combined with Android's relative weakness in the tablet market so far) might just be enough to establish Windows as a major player in the tablet space.
As usual with these Building Windows post summaries, I've relayed and distilled the most pertinent information for Windows users and enthusiasts here. If you'd like to read the full post, which also includes some details about how Microsoft is testing Windows on ARM in its labs and some of the more technical details involved in "porting" Windows from x86 to ARM, it is linked below for your convenience.
Source: Building Windows 8 blog
61 Comments
View All Comments
Lugaidster - Saturday, February 11, 2012 - link
Again, slightly incorrect. Manufacturers have strict limitations on what they can include in their SoCs. Of course there will be differences in driver, but nothing as extreme as multiple HALs. There will only be one abstraction layer. EFI and ACPI are mandatory and there's only one instruction set. Unless there's something I forgot from reading the post from Microsoft, I only see one version (WoA) for all three manufacturers (TI, Qualcomm and Nvidia).Cheers
cfaalm - Friday, February 10, 2012 - link
Considering they want to make splash with this, they better be in control of the hardware WOA is on or else they'd be in no man's land if they didn't. It's not a bad idea to take a page from Apple's book this time. Someone will find a way to get hold of a WOA-distro someday ;-)name99 - Saturday, February 11, 2012 - link
MS have had more than thirty years of experience with the alternative model, and became very rich off it. Don't you think that if they're abandoning it, they're doing so for some pretty good reasons?[Or perhaps you'd prefer that they stick to the old ways and become as relevant to computing as Bull, or Wang, or DEC, or all those other computer companies that saw a changing world around them but refused to change with it?]
Unimaginative - Sunday, February 12, 2012 - link
Because you see so many Consumer-grade ARM tablets sold without operating systems, and the others available make it so easy to install an alternate OS to the one they are sold with...I think the greater emphasis should be on; "That said, Microsoft is firm in its insistence that it will not support running, emulating, or porting existing x86 apps on the Windows on ARM desktop..."
This comes across as an immediate sales and marketing cluster-fun. How do you explain to Average Joe that his new tablet with 'Windows' won't run the applications he's used on 'Windows' for years, let alone new Metro applications for his Windows 8 x86 machine? Unless Microsoft have worked a very classy method of differentiating them I can't see this going well with the masses.
Guspaz - Thursday, February 9, 2012 - link
Well, it's unfortunate that Microsoft is restricting the platform to approved devices, and not doing their own emulation, but there may be room for a third party to develop a userland x86 emulator. The problem will be that there may be no way to do that if Microsoft forces everything through the app store.B3an - Thursday, February 9, 2012 - link
X86 emulation is a bad idea, as pointed out in the MS blog post. It will only drain the battery faster and use more resources. I'm glad MS are not doing this.FunBunny2 - Thursday, February 9, 2012 - link
I'll go out on a limb, and say that all that Office stuff will include a "runtime" that re-codes X86 instructions on the fly. It's a fact that there isn't an X86 cpu been made in years, a decade plus/minus, that has X86 ISA in silicon; those chips are RISC with a X86 de-coder. Lots more easy than re-writing all that Office code for the ARM ISA; can't happen.fluxtatic - Friday, February 10, 2012 - link
Wat? You got some sauce on this?danielkza - Friday, February 10, 2012 - link
Office isn't written in x86 assembly, it's written in high level languages like C/C++/C#. You don't need to rewrite the program to get it to run in a new architecture, you just need to recompile it targeting ARM.FunBunny2 - Friday, February 10, 2012 - link
Most of a Windoes program consists of calls to the Windoes API's, thus OS, not chip, dependent.