Windows 10 on Arm was first demonstrated at Computex 2017 on a reference platform based on Qualcomm Snapdragon 835 processor, at the time, I thought the expected 2-in-1 hybrid laptops based on the solution may bring cheaper Window 10 devices that work just like their x86 competitors, and offers longer battery life.
Several models including HP Envy x2 (2017) and ASUS NovaGo TP370 were then announced at the end of 2017, and prices were quite higher than most expected with pricing for the ASUS model starting at $600 with 4GB RAM and 64GB storage. But to be fair, Snapdragon 835 are used in premium LTE smartphones like Xiaomi Mi 6 that sell for around $400 and up. At least, we are still promised good battery life of over 20 hours of continuous use (e.g. playing a Full HD video).
When the laptop were announced, I read several blogs and news outlets claiming the Arm mobile PCs work just like Intel / AMD x86 laptops, but is that true? Sort of, as Microsoft has now provided more details about Windows 10 on Arm. While you’ll be able to run any 32-bit x86 programs on Arm thanks to emulation, 64-bit x64 programs won’t run at all, and when it comes to native Arm program only 32-bit Arm UWPs (Universal Windows Program) will be available, and as I understand it, 64-bit Arm programs are not supported at all for now. However, based on a discussion last January on MSDN, ARM64 user space will eventually supported with for example Edge potentially ported to ARM64, and an ARM64 SDK will be released. Microsoft is not looking a x64 emulation on Arm at all, so any 64-bit program on Arm will have to be native.
While apps needs to be 32-bit, all drivers for Arm platforms will have to be ARM64 since the OS itself is 64-bit. The drivers will have to be recompiled for Arm specifically, and if the driver maintainer (usually hardware manufacturer) does not do it for you, you’ll be out of luck.
If a developer has written a 32-bit Arm UWP program with Windows 10 Mobile, it may not fully work depending on the API used, and may have to be modified to work on Windows 10 for Arm. Other issues include the lack of Hyper-V support, so it may not be possible to run Virtual Machine (at least with hardware acceleration), and if an app uses OpenGL 1.2 (introduced in 1998) or greater, it would have to be rewritten to support DirectX 9 to 12.
While there are workaround for most issues, developers would have to work on it, and issues may be expected at least at the beginning. It could be Windows 10 on Arm will look very similar to Android on x86 with many apps not fully optimized for the platform. We’ll have to see wait and see.
I also noticed Microsoft only mentioned Windows 10 Pro or Windows 10 S for Arm, which could mean there’s no such thing as a Windows 10 Home for Arm, so you’d only have the option to run a fairly expensive operating system, or a free one with some serious limitations.