Just shy of a year after announcing that Windows was once again going to be available on ARM systems, the first two systems were announced today: the Asus NovaGo 2-in-1 laptop, and the HP Envy x2 tablet.
Branded as Always Connected PCs, the new Windows on ARM systems are positioned as bringing together the best of PCs and smartphones. They have PC form factors, with the productivity enabled by a real keyboard, touchpad, and general purpose operating system capable of running regular Windows software, but they bring with them the seamless switching between LTE and Wi-Fi, instant on, multiple working day battery life, and slimline, lightweight packaging that we’re accustomed to on our phones.
The Asus laptop boasts 22 hours of battery life or 30 days of standby, along with LTE that can run at gigabit speeds. HP’s tablet offers a 12.3 inch, 1920×1280 screen, 20 hours battery life or 29 days of standby, and a removable keyboard-cover and stylus. Both systems use the Snapdragon 835 processor and X16 LTE modem, with HP offering up to 8GB RAM and 256GB storage to go with it.
Both systems also ship with Windows 10 S, the version of Windows 10 that’s only able to install and run apps from the Microsoft Store. As with other Windows 10 S systems, including the Surface Laptop, the systems will be freely upgradable to Windows 10 Pro, at least initially.
This ability to upgrade is particularly important because the new Always Connected PCs are different from Microsoft’s previous Windows-on-ARM attempt, Windows RT. Windows RT was a version of Windows 8 for ARM processors, and it too could only run applications from what was then called the Windows Store. But Windows RT had two constraints not found on these new systems: there was no facility to unlock it, and run non-Store apps, and there was no facility to run existing x86 programs. On Windows RT, not only did software have to come from the Store, it also had to be compiled specifically for ARM processors.
That’s not so with Always Connected PCs. They contain an x86 emulator that will enable most 32-bit x86 applications to run unmodified. This includes x86 applications in the Store and, when upgraded to the full Windows 10 Pro, arbitrary desktop applications. Full details of the x86 emulator haven’t been disclosed yet, with the performance in particular currently unknown, but we do know some broad elements of its design.
The emulator runs in a just-in-time basis, converting blocks of x86 code to equivalent blocks of ARM code. This conversion is cached both in memory (so each given part of a program only has to be translated once per run) and on disk (so subsequent uses of the program should be faster, as they can skip the translation). Moreover, system libraries—the various DLLs that applications load to make use of operating system features—are all native ARM code, including the libraries loaded by x86 programs. Calling them “Compiled Hybrid Portable Executables” (or “chippie” for short), these libraries are ARM native code, compiled in such a way as to let them respond to x86 function calls.
While processor-intensive applications are liable to suffer a significant performance hit from this emulation—Photoshop will work in the emulator, but it won’t be very fast—applications that spend a substantial amount of time waiting around for the user—such as Word—should perform with adequate performance. As one might expect, this emulation isn’t available in the kernel, so x86 device drivers won’t work on these systems. It’s also exclusively 32-bit; software that’s available only in a 64-bit x86 version won’t be compatible.
For the most part, Windows 10 on ARM should be identical to that on x86. The most notable exception is perhaps that there’s no Hyper-V virtualization, and since so many of its features depend on Hyper-V, no version of Windows 10 Enterprise for ARM. And unlike Windows 10 Mobile, the full Windows 10 for ARM doesn’t include a telephony stack, so you won’t be able to place voice calls from your PC either. Microsoft and HP both say that they’re talking to mobile network operators for pricing, data plan availability, and related issues.
Microsoft’s previous ARM efforts have been 32-bit. This new version of Windows 10 is Microsoft’s first 64-bit ARM operating system. It’ll run x86 and 32-bit ARM applications from the Store, and in due course, 64-bit ARM applications. However, Microsoft hasn’t yet finalized its 64-bit ARM SDK. Many pieces are in place (there’s a 64-bit ARM compiler, for example), but the company isn’t yet taking 64-bit ARM applications submitted to the Store, and there aren’t any 64-bit ARM desktop applications either. This SDK should arrive at some point in the coming months.
There’s no immediate rush, however; these systems aren’t due to ship until Spring 2018, for prices that are still to be determined. Lenovo is also working on an Always Connected PC, but that hasn’t been revealed yet.