Jump to content

Windows 10 for ARM - Details and Limitations Revealed

GoodBytes

As Windows 10 for ARM is coming to an official release with devices powering it, Microsoft revealed some details to its OEM partners on what the OS can and can't do, as well as potential issues that might arise, at least early on.

 

Some details:

  • Windows 10 for ARM is a 64-bit OS. Yay! So expect laptops and tablet being powered by 4GB of RAM or more.
     
  • As excepted and demoed by Microsoft the past, it will feature a Win32 emulation layer, allowing the programs you love be able to run on it (well.... put a star on that, I'll get to that)

 

Limitations

  • ARM64 drivers only. Being a 64-bit OS on ARM, as expected, it needs ARM64 drivers for Windows 10 to operate. This is noted to highlight the fact that the Win32 emulation layers stops at programs, and doesn't extent to drivers. So in other words, don't expect to plug your nice GeForce 1080 Ti on a ARM based CPU until Nvidia makes drivers for it.
     
  • x64 apps are not supported. This is where the star from bullet point 2 above comes in. The emulation layer is currently limited to 32-bit programs. No plans mentioned if it will ever have 64-bit app support. We don't know for sure the limitation for this. But it is probably a mixture of the ARM chip limitations mixed with the emulation system implemented by Microsoft.
     
  • Some games, possibly many games, won't run (keep in mind that many games, even if they could run, would probably be the PowerPoint presentation version instead, if you get what I mean). This is because, at least to my knowledge, beside Nvidia's Tegra chips of late, no ARM processors fully support the latest and greatest OpenGL, Vulkan, let alone DirectX. The Snapdragon 835, the minimum chip to run Windows 10 for ARM is limited to OpenGL ES mostly, so games that are made for OpenGL later than 1.1, will not run (I guess it would be fine if the game is a native ARM64 app, and coded in OpenGL ES). That said, Microsoft does say that x86 apps that use DirectX 9, DirectX 10, DirectX 11, and DirectX 12 will run. This probably because the company has been working hard with Qualcomm  on making lots of translations to make it work on the limitations of the Snapdragon 835 chip. The result is don't expect any good performance. This is like playing a game in DirectX10.1 using 10,1 features, but your GPU has DirectX 10. The game will work... but the performance on those .1 feature would be awful.
     
  • No Hyper-V support. If you though you can run a virtual machine on it, due to the ARM chip limitation in supporting technologies that are now commonly found on x86 processors that some VM requires to operate like Hyper-V, (and those that don't requires but supports if is there, faces with big performance hit). This also means that any Virtualization-Based Security (VBS) software, software that uses Hypervisor-Enforced Code Integrity (HVCI)  will not work either. And that Windows Defender Credential Guard and Windows Defender Application Guard isn't available.

 

Potential issues:

  • Some UWP native apps might detect the device as a phone (Windows 10 Mobile) as many apps checks if it is running on an ARM chip, and assume a phone, and the interface will assume as such. Microsoft has added a new API for developers to use to allow to know if its a ARM based laptop/tablet or a phone, and can behave accordingly. This means that at release, some native UWP apps might appear strange on your device until they are updated. This does not affect Win32 apps ported to the Store. Those will run fine (assuming they are in 32-bit)
     
  • Apps that customize the Windows may not work correctly. Due to the changes of the OS core, and the fact native OS components cannot load non-native components of the OS anymore. This means beside system tweak tools, software like assistive technologies, and cloud storage apps might be affected and not operate properly or at all. They need to be adapted.
     
  • Microsoft says that if your x86 app does not work as expected, to try to use the comparability options or use the compatibility troubleshooting wizard.

 

Quote
  • Only ARM64 drivers are supported. As with all architectures, kernel-mode drivers, User-Mode Driver Framework (UMDF) drivers, and print drivers must be compiled to match the architecture of the OS. While ARM OS has the capabilities to emulate x86 user-mode apps, drivers implemented for other architectures (such as x64 or x86) are not currently emulated and thus not supported on this platform. Any app that works with its own custom driver would need to be ported to ARM64. In limited scenarios, the app may run as x86 under emulation but the driver portion of the app must be ported to ARM64. For more info about compiling your driver for ARM64, see Building ARM64 Drivers with the WDK.
  • x64 apps are not supported. Windows 10 on ARM does not support emulation of x64 apps.
  • Certain games don’t work. Games and apps that use a version of OpenGL later than 1.1 or that require hardware-accelerated OpenGL don’t work. In addition, games that rely on "anti-cheat" drivers are not supported on this platform.
  • Apps that customize the Windows experience may not work correctly. Native OS components cannot load non-native components. Examples of apps that commonly do this include some input method editors (IMEs), assistive technologies, and cloud storage apps. IMEs and assistive technologies often to hook into the input stack for much of their app functionality. Cloud storage apps commonly use shell extensions (for example, icons in Explorer and additions to right-click menus); their shell extensions may fail, and if the failure is not handled gracefully, the app itself may not work at all.
  • Apps that assume that all ARM-based devices are running a mobile version of Windows may not work correctly. Apps that make this assumption may appear in the wrong orientation, present unexpected UI layout or rendering, or failing to start altogether when they attempt to invoke mobile-only APIs without first testing the contract availability.
  • The Windows Hypervisor Platform is not supported on ARM. Running any virtual machines using Hyper-V on an ARM device will not work.

 

 

 

All in all, if you plan to get such system in a work environment, make sure that the security software used are indeed compatible with the system. Don't assume it will work. If you are a student, or your typical "average user" than you are most likely not affected by anything. If you plan to get this system with an external GPU, well, you have the driver limitation issue, but I would still not recommend it, as not only your game would need to pass through the WIn32 emulation layer (assuming it is in 32-bit also), but also the ARM chip isn't as fast as your desktop friend. And if you do plan to play games, expect mobile games on it, or very old games. Playing modern games would probably be too taxing for the chip due to the multiple layers it needs to run on (well "layers"... I mean translation of DirectX calls and x86 emulation), and of course the lack of performance of the chip in running not only all this, but a heavy OS. If you are a student in a computer related field and needs to run a VM, this system might not be an option for you.

 

Source: https://docs.microsoft.com/en-us/windows/uwp/porting/apps-on-arm-limitations

 

If you were interested in Windows 10 for ARM system, are you still interested? Will you be affected by these limitations?

 

Link to comment
Share on other sites

Link to post
Share on other sites

so.. the limitations are those of essentially every other ARM OS?

 

sounds okay to me..

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Blademaster91 said:

It seems too limited to make it worth using over Chrome OS or even Android,I don't see the point unless you have to use Powerpoint or Excel.

Not even for that, Libre Office can be compiled for ARM too... (if its not pre-compiled already that is :D )

Edited by jagdtigger
Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, TheOriginalHero said:

Im still confused as to the purpose of these products

Intel CPUs are too expensive, x86 CPUs consumes too much power, and requires a "large" heatsink.

ARM based CPU are cheaper, far cheaper, your device will have a solid all day battery life, if not more.

It also opens doors to Windows powered tablets and low cost laptops.

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, Blademaster91 said:

It seems too limited to make it worth using over Chrome OS or even Android,I don't see the point unless you have to use Powerpoint or Excel.

How so, if I may ask?

 

I mean, you can't run any Win32 programs on Chrome OS, and you are limited to Android apps at best (granted they are many), if you pick the right laptop for support, if not to web apps designed for ChromeOS. Considering that most apps are still 32-bit on Windows, including big ones, I don't see a real impact of lack of 64-bit. To be fair, beside toying with ChromeOS device, I have not dived in... so I am probably missing something, and hence ask why?

 

Also, you can get Word, Excel and PowerPoint Android mobile app on ChromeOS (if it can run Android apps)

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, GoodBytes said:

How so, if I may ask? Last I checked, you can't run any Win32 programs on Chrome OS, and you are limited to Android apps at best, if you pick the right laptop for support, if not to web apps designed for ChromeOS. Not to mention that you have no reduced experience if you go offline. To be fair, beside toying with ChromeOS device, I have not dived in... so I am probably missing something, and hence ask why?

 

Also, you can get Word, Excel and PowerPoint Android mobile app on ChromeOS (if it can run Android apps)

Play store>Windows store + Win32.


 

Link to comment
Share on other sites

Link to post
Share on other sites

40 minutes ago, GoodBytes said:

How so, if I may ask? Last I checked, you can't run any Win32 programs on Chrome OS, and you are limited to Android apps at best, if you pick the right laptop for support, if not to web apps designed for ChromeOS. Not to mention that you have no reduced experience if you go offline.

I can see this working for pro use where someone might need cheap Windows laptops that can still be easily managed,though you can do most other basic stuff with ChromeOS or Android,not to mention Windows store still doesn't compare to Android play store.

42 minutes ago, GoodBytes said:

Intel CPUs are too expensive, x86 CPUs consumes too much power, and requires a "large" heatsink.

ARM based CPU are cheaper, far cheaper, your device will have a solid all day battery life, if not more.

It also opens doors to Windows powered tablets and low cost laptops.

There were plenty of low cost tablets & laptops with Windows,until Intel gave up on Atom. Those never gained enough market share even though they ran a full version of Windows.

Edit- This is interesting though, Windows on a laptop that could last all day is still exciting.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, GoodBytes said:

The Snapdragon 845, the minimum chip to run Windows 10 for ARM

Unless things had changed, shouldn't this be the 835? (I would think since Win10A runs ok-ish on a 821)

Link to comment
Share on other sites

Link to post
Share on other sites

46 minutes ago, manikyath said:

so.. the limitations are those of essentially every other ARM OS?

No? There are plenty of ARM OSes that does not have limitations like the OS being 64bit-only or them being incompatible with 64 bit programs. 

Link to comment
Share on other sites

Link to post
Share on other sites

Very excited for these. Maybe we’ll see a nice 500 Uni-machine with some good battery and decent build. 

Bleigh!  Ever hear of AC series? 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, tjcater said:

Unless things had changed, shouldn't this be the 835? (I would think since Win10A runs ok-ish on a 821)

Woops, typo! Thanks!

Link to comment
Share on other sites

Link to post
Share on other sites

51 minutes ago, LAwLz said:

No? There are plenty of ARM OSes that does not have limitations like the OS being 64bit-only or them being incompatible with 64 bit programs. 

the thing is, unless you're running some sort of high power ARM chip (like, past the point they start shoving x86 into devices) the x86 emulation is literally a gimmick to make spotify run. at the point you're running the kind of software thats x64 only, chances are it wont run any decent speed anyways.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, GoodBytes said:

How so, if I may ask?

 

I mean, you can't run any Win32 programs on Chrome OS, and you are limited to Android apps at best (granted they are many), if you pick the right laptop for support, if not to web apps designed for ChromeOS. Considering that most apps are still 32-bit on Windows, including big ones, I don't see a real impact of lack of 64-bit. To be fair, beside toying with ChromeOS device, I have not dived in... so I am probably missing something, and hence ask why?

 

Also, you can get Word, Excel and PowerPoint Android mobile app on ChromeOS (if it can run Android apps)

just a train of tought here, would it be possible, and would MS and google allow, to make a much more efficient android emulator (or a way to more directly run the apps, maybe think along the lines of "wine") for this OS, making it essentially the "perfect facebook machine"

Link to comment
Share on other sites

Link to post
Share on other sites

tl;dr: get an iPad

One day I will be able to play Monster Hunter Frontier in French/Italian/English on my PC, it's just a matter of time... 4 5 6 7 8 9 years later: It's finally coming!!!

Phones: iPhone 4S/SE | LG V10 | Lumia 920 | Samsung S24 Ultra

Laptops: Macbook Pro 15" (mid-2012) | Compaq Presario V6000

Other: Steam Deck

<>EVs are bad, they kill the planet and remove freedoms too some/<>

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, manikyath said:

just a train of tought here, would it be possible, and would MS and google allow, to make a much more efficient android emulator (or a way to more directly run the apps, maybe think along the lines of "wine") for this OS, making it essentially the "perfect facebook machine"

Considering x86 Android machines exist, and there are already plenty of apps compatible with this arrangement, emulation wouldn't even be necessary if Windows could run the .apks natively.

My eyes see the past…

My camera lens sees the present…

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, GoodBytes said:

Intel CPUs are too expensive, x86 CPUs consumes too much power, and requires a "large" heatsink.

ARM based CPU are cheaper, far cheaper, your device will have a solid all day battery life, if not more.

It also opens doors to Windows powered tablets and low cost laptops.

This is the idea at least. Right now, all ARM based Windows laptops that have been announced costs 600-800 dollars, at which point you might as well get a far more powerful and capable x86 laptop. Windows on ARM has to be ~300 dollars or less in order to be competitive if you ask me.

 

9 minutes ago, manikyath said:

the thing is, unless you're running some sort of high power ARM chip (like, past the point they start shoving x86 into devices) the x86 emulation is literally a gimmick to make spotify run. at the point you're running the kind of software thats x64 only, chances are it wont run any decent speed anyways.

I agree with that.

I just don't get the whole "same limitations as other ARM OSes", because a lot of other ARM OSes such as GNU/Linux has none of the limitations this has, apart from hardware related ones such as most ARM chipsets not supporting full OpenGL.

Things like running 32 bit drivers or 64bit applications on ARM, on GNU/Linux is not an issue.

 

7 minutes ago, manikyath said:

just a train of tought here, would it be possible, and would MS and google allow, to make a much more efficient android emulator (or a way to more directly run the apps, maybe think along the lines of "wine") for this OS, making it essentially the "perfect facebook machine"

It seems like emulation won't work on this version of Windows so that's probably out of the question, and a lot of Android apps relies on Play Services which Microsoft would have to reverse engineer to make a compatibility layer for.

Android apps that don't use Play services would probably be OK for them to make a compatibility layer for though.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, LAwLz said:

agree with that.

I just don't get the whole "same limitations as other ARM OSes", because a lot of other ARM OSes such as GNU/Linux has none of the limitations this has, apart from hardware related ones such as most ARM chipsets not supporting full OpenGL.

Things like running 32 bit drivers or 64bit applications on ARM, on GNU/Linux is not an issue.

*as long as the packages are compiled for, or will compile on ARM.

 

also, from what i understand, for as long as you have "windows 10 ARM" drivers, you can run them just fine, the limitation is just within the x86 emulation, which iirc is also there on the x86 emulation someone shoved onto the pi a while back.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, LAwLz said:

t seems like emulation won't work on this version of Windows so that's probably out of the question, and a lot of Android apps relies on Play Services which Microsoft would have to reverse engineer to make a compatibility layer for.

Android apps that don't use Play services would probably be OK for them to make a compatibility layer for though.

didnt mean microsoft as much as "some dude"

 

and seeing the pretty wide supply and flavours of andoid emulators for the PC out there... i dont think it'd be exceptionally hard. remember: android's open source. dont need to reverse engineer something you have access to.

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, Zodiark1593 said:

Considering x86 Android machines exist, and there are already plenty of apps compatible with this arrangement, emulation wouldn't even be necessary if Windows could run the .apks natively.

i was thinking along the way of the emulation layer being able to be cut out because it's on ARM now, meaning they can essentially cut off that layer of compatibilty. its about making a layer where it would seem like the apk's run native.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, tsk said:

Play store>Windows store + Win32.


 

not really considering the number of 32-bit apps.

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, manikyath said:

*as long as the packages are compiled for, or will compile on ARM.

Yes, which is pretty much all of the open source ones.

 

16 minutes ago, manikyath said:

also, from what i understand, for as long as you have "windows 10 ARM" drivers, you can run them just fine, the limitation is just within the x86 emulation, which iirc is also there on the x86 emulation someone shoved onto the pi a while back.

Well, there are some limitations as explained earlier which are not related to the emulator. Things like 64-bit drivers only, or lack of virtualization support.

Like I said, Windows 10 on ARM doesn't really share any limitations with let's say GNU/Linux on ARM, except the hardware specific things like a lack of OpenGL support in GPUs.

 

24 minutes ago, manikyath said:

and seeing the pretty wide supply and flavours of andoid emulators for the PC out there... i dont think it'd be exceptionally hard. remember: android's open source. dont need to reverse engineer something you have access to.

Android emulators typically work by actually emulating a full Android OS, with Google Play Services loaded. Google Play Services are not open source.

It seems like VMs won't work so your only option is a compatibility layer. In order to a compatibility layer which actually supports a lot of Android apps, you would need to reverse engineer and re-implement the Google Play Services, and that could potentially count as copyright infringement. Not to mention that Google often makes changes to all the proprietary protocols used. The developers of microG (open source implementation of Google Play Services) often struggles with this.

Link to comment
Share on other sites

Link to post
Share on other sites

So the OS is 64 bit but it can only run 32 bit apps? lol that's useful /s

Therre's a reason you pretty much need a 64 bit OS these days, >4 GB of RAM or not.  More and more programs are just not even offering a 64 bit version.

Solve your own audio issues  |  First Steps with RPi 3  |  Humidity & Condensation  |  Sleep & Hibernation  |  Overclocking RAM  |  Making Backups  |  Displays  |  4K / 8K / 16K / etc.  |  Do I need 80+ Platinum?

If you can read this you're using the wrong theme.  You can change it at the bottom.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×