The first Windows 10 computers with ARM-based chips are coming soon, including the Asus NovaGo, HP Envy x2, and Lenovo Miix 630.
While these won’t be the first devices with ARM-based chips to run something called Windows, they’re different from Windows phones or Windows RT devices in that they’ll run a full-fledged desktop version of Windows that performs almost like Windows on a computer with an Intel or AMD processor.
Microsoft has posted some new documentation for Windows 10 on ARM explaining how x86 emulation works and some troubleshooting tips for developers. But the company is also outlining some “limitations of apps and experiences on ARM.”
Update: Microsoft has removed the page describing the “limitations.” It’s unclear if that’s because it was made public ahead of schedule, was inaccurate, or maybe Microsoft just wasn’t happy with all the negative press that came out this weekend.
Chip architecture (x86 and ARM32 go, x64 no go)
Microsoft is confirming that you’ll be able to run most applications designed for x86 chips thanks to emulation. But 64-bit apps designed for Intel and AMD chips will not currently be supported.
Applications and built-in Windows experiences compiled for ARM64 should be good to go. Microsoft says that includes Windows 10 features like Explorer, the Start Menu and Cortana. The company says Notepad and some other key Windows apps have also already been compiled to run natively on ARM64 devices.
When it comes to Universal Windows Platform apps (things you can download from the Microsoft Store), Windows 10 on ARM supports x86 and ARM32 apps… although if there’s an ARM32 version available that’ll always be the one that’s installed.
Interestingly it doesn’t seem like there’s any support for native ARM64 Universal Windows Platform apps yet.
Games, drivers, and other features that might not work
Microsoft notes that games and other applications that require hardware-accelerated OpenGL or “use a version of OpenGL later than 1.1” don’t work.
Keep in mind that OpenGL 1.2 was released in 1998… so an awful lot of games probably won’t work.
Microsoft also says that “games that rely on ‘anti-cheat’ drivers are not supported,” which means that games with DRM aren’t going to work.
Windows 10 on ARM also only supports ARM64 drivers. That means any hardware that relies on an x64 or x86-specific driver isn’t going to work unless the driver is rewritten to support ARM64 architecture.
Other things that won’t work on Windows 10 on ARM include:
- App that customize the native Windows experience by doing things like adding a shell extension (such as a cloud storage app that tries to add an “upload to cloud” option to the right-click menu in Windows Explorer), or input method editors or assistive technologies that use native OS components to load non-native components
- Apps that assume any device with an ARM-based OS is using a mobile version of Windows may do things like display in the wrong orientation or use a mobile layout.
- Windows Hypervisor Platform is not supported, so you can’t run virtual machines using Hyper-V.
Microsoft’s suggested workarounds: make new versions of your apps
If you’re an end user rather than a developer, you may be able to run the Program Compatibility Troubleshooter or adjust emulation settings to get some apps to work better. But there’s no guarantee that’ll resolve all of the issues.
For the most part, if a Windows application doesn’t work on Windows 10 for ARM, Microsoft suggests developers recompile it to use supported technologies.
For example, the solution for an app that’s only currently available for x64 architecture? Make an ARM or x86 version.
Have an app that users OpenGL 4.2? Make a version that uses DirectX 9 or later instead.
Have a driver that isn’t designed for ARM? Recompile it to work with ARM.
Which is all well and good, but part of the appeal of Windows 10 on ARM is supposed to be that it’s compatible with legacy Windows applications in a way that Windows RT never was. Asking developers to do more work to add support for ARM isn’t all that different from what Microsoft has been doing (with limited success) for years: asking developers to port their apps to the new Universal Windows Platform and distribute them through the Windows Store.
The good news is that some (maybe even many) legacy Windows applications should work out of the box on upcoming Windows 10 on ARM devices like the HP Envy x2, Asus NovaGo, and Lenovo Miix 630. But unless PC makers sell an awful lot of those computers, it’s hard to imagine that developers will have much incentive to develop for the platform. And if developers don’t adopt the platform, it might be tough for Microsoft and PC makers to convince customers to buy those new Windows on ARM PCs.
So there’s a bit of a chicken and egg problem here. Maybe if there weren’t quite so many limitations on what Windows on ARM supports, that wouldn’t be the case. But getting millions of existing Windows apps to run on devices with an entirely different chip architecture was already a pretty big challenge. It’s not surprising that there are some limitations.
Since this seems like a total 32-bit version of Windows, I wonder if it actually still includes the NTVDM which would give it support for 16-bit DOS/Windows applications? If so, that’d be pretty cool to be able to run some old DOS apps and games almost natively without having to install a separate emulator.
This is turning out to be Microsoft again calling on app developers to feed into their app store ecosystem. Hasn’t worked yet.
Round 2 of why Windows on ARM will be a predictable failure.
To be fair, it’s better than what RT promised and failed to deliver, but it’s still not enough to make mainstream ARM-based computers take over the market.
They’re not cheaper and they don’t do as much? I’m sold.
I still cannot fathom why they went after the high end with this, all day laptops are a solved problem and x86 laptops with built-in 4g modems have become harder to find because they weren’t selling.
Don’t see why anyone would get a QSD 835 Windows 10 PC rather than an Intel Atom 8750 Windows 10 PC…. let alone something a bit better like the Core i7-7Y75 (from Sep 2016).
“Have an app that users OpenGL 4.2? Make a version that uses DirectX 9 or later instead.”
Yeah screw a more open cross platform API, go for a proprietary one instead. I mean only supporting OpenGL 1.1, what a load of nonsense.
There are more limitations in there than anticipated, granted.
Having said that we should give this system a chance, if the buying public pushes for Windows on ARM, we might get more Linux on ARM and MacOS on ARM.
The added competition to the Intel-AMD duopoly can only forces improvements on all platforms.
I’ll put my money where my mouth is and I’ll get the ASUS. Every quest starts with one step.
At least there’s already Linux on ARM. That’s pretty much what’s usually run on them. Even some companies are looking into/are using ARM in their data centers running Linux. If you’re talking about consumer desktop Linux on ARM, then Linux still has a ways to go even on x86…
As for MacOS, there’s been rumors but ARM on Apple PCs is going to be decided by Apple and not the public. That’s how it has always been with Apple.
I’d like Windows on ARM to succeed but with these current limits, I’m having a hard time justifying throwing my money at it. MS knows the limits of their product and if there aren’t impossible to solve technical/legal limits in fixing some of them, then I could see spending money.
Right now, this seems way too beta and I’ve stopped being an early adopter. I only pay for what products do now and not what they might do later.
Datacentres have been looking into that for years but the uptake is still limited. A webserver here or there, that sort of thing. If it backed AWS Lambda where you upload a script and some conditions for running it, now that’d be a big win as the end user doesn’t care about the architecture, only whether there’s a python interpreter.
This is essentially Windows RT + x86emu (which some of us had going back during the 1st gen Surface RT days). As usual, Microsoft’s take-away from their Windows RT experience is that it was the name that was the problem. “Windows 10 for ARM” should fix it! 😉
I don’t see how this re-spin of Windows RT will fare better than its predecessor. I say this as someone who preferred the Windows RT versions of the Surface over the Surface Pro models.
Who cares? ARM notebooks running Windows are outrageously expensive anyway!
“… some things that Windows 10 on ARM won’t do” well #1: Sell.
Seems like a list of what Windows 10 on ARM will do would be much shorter.
So why use ARM?
With all these incompatibilities and the performance hit on emulated x86, this sounds DOA.
This is what RT should have been, it might have had a chance back then.
This doesn’t seem to be on the path for success. You have limitations combined with the premium prices of the upcoming Windows on ARM devices. The potential advantages doesn’t seem enough to justify getting these.
If people don’t buy into these device, at least, MS knows why (voting with your wallet and all that). Hopefully, MS decides for a longer term plan and tries to improve Windows on ARM instead of killing it if sales aren’t stellar at the start.
It’s reassuring that while MS stopped supporting RT in production, they’ve continued to improve Windows on ARM internally and this is what it is now. So, it does seem MS does have long term plans/hopes with this.
Not a Windows user but still curious as to how this will play out. Hopefully online reviews will toss a bunch of x86 programs at these things to see how they perform.
RT wasn’t even the first time Microsoft entered ‘the ARMs race’. I remember when they went after the PDA market. They threw some serious bank at every CPU architecture (ARM, MIPS, StrongARM, SuperH) after arriving late to the PDA party (without any vision for the platform).
When they gained a foothold, they started to abandon several architectures until finally they abandoned the small device market entirely. Palm was a solution. Windows CE was mostly about mhz speeds.
It seems that this time — by trying to provide some legacy support, giving people what they want — they may actually stand a chance with people sold on price, battery life, Office products and perhaps a minimal ChromeOS-like experience.
Still… from a technical standpoint I already dislike the system – too much pseudo/hybrid junk going on: UWP, legacy x86, ARM-based programs, “telemetry”… it’s a total mess that doesn’t provide any real solutions.
So, if you keep using a company in-house app written in Delphi in 2003 and want to throw out that old ThinkPad T43, Microsoft got you covered. But if you want to replace your daily notebook with an inexpensive alternative with long battery life, look elsewhere unless you are comfortable with using Edge. Photoshop CS2 might work with these restrictions thou, and it’s also a free app now, so in theory you could put together a very cheap but reasonably powerful workstation with some compromises.
Adobe CS2 is not free
A while ago (in 2016 maybe?) Adobe made it free. I don’t know if it was a time-limited thing or not, but you could register on their site and get licence codes. I have one, and it worked. I was under the impression that as an aging software they made it free.
EDIT: yep, you can still register, go to “other downloads” and under CS2 you’ll find the full package complete with licence codes. It’s free.
“Applications and built-in Windows experiences compiled for ARM64 should be good to go.”
“Interestingly it doesn’t seem like there’s any support for native ARM64 apps yet.”
Just to clarify. Are you using “application” to refer to desktop software and “app” to Windows store software or something else?
Yeah, sorry, meant to say UWP apps.
That’s good to hear since I only use desktop applications. Hopefully, it’s a matter of turning on a compile switch to compile for both x86/x64 and ARM32/64.
Officially not, but there are instructions how to compile Windows drivers to ARM64. Thus unofficially you probably can compile application to ARM64 and also use .NET. You could even successfully use .NET written application on Windows RT, but of course not supported by Microsoft.
Ok, way too many limitations now that AMD is almost back in the game at a very competitive level stick to X86…end of story. Now the wait for a low power APU from AMD…
Well no chip will match Arm for low power but we will get x86 always connected PC’s with mobile broadband so yeah it’s not looking good for Arm PC’s which should have been a great idea.
What is MS smoking that they didn’t offer a universal binary that covers 64-bit x86 & Arm for Win32, even if it was a new executable type that would have been the way to go.
Then pay as many Win32 software developers as possible to create new universal 64-bit versions of software (not even on the Win Store just recompile) and have them ready to go on launch day. The Win32 hybrid emulation should have been the backup system not the primary.
The only way to extract full performance from these systems is via UWP which is dead, the other parts of MS know this which is why they are moving to PWA (web apps).
Just a really low effort out reach which will kill these systems.
Comments are closed.