3 ms·
They do have lots of experience porting Windows to multiple platforms. They don't have very good experience managing the user experience of Windows transitionin
by ack_complete 3y ago
They do have lots of experience porting Windows to multiple platforms. They don't have very good experience managing the user experience of Windows transitioning between platforms.
I was one of the early adopters of Windows on ARM, the Windows 10 native port to ARM64 (ARMv8). At release, practically the only native development tool was WinDbg -- neither Visual Studio nor Windows Performance Analyzer had been ported. You could install Visual Studio in x86 emulation mode but it wouldn't run reliably as the toolchain would keep throwing heap errors, so cross-compilation was required and debugging was harder. There was basically zero information about what was and wasn't supported -- you'd just start porting and run into something like there being no OpenGL acceleration support. Or even more fun, that there was no ARM64 version of the Visual C++ Redistributable published, so you couldn't distribute a program that was dynamically linked to the CRT -- and the Visual Studio support staff didn't even know what ARM64 was and pointed to the x64 redist. This didn't start getting ironed out until around three months after Windows on ARM machines had started shipping.
And assuming you got past these problems, Windows has no universal binary system, so it's your job to figure out how to properly get the right platform executable installed and launched without any support from the OS. This was really bad in the early days of x64, where XP would just say "invalid executable" when trying to launch a x64 program on x86; these days it displays a slightly less cryptic "Machine Type Mismatch" error dialog with no further help.
Microsoft is trying to fix these problems now, but they're years late and the amount of software available as native ARM64 is still very low. Oh, and they already dropped support for the early gen Snapdragon 835 and 850 devices in Windows 11, which means no x64 emulation or ARM64EC support, and an even tinier effective market. In contrast, Apple managed the ARM transition much, much better -- they had native tooling, documentation, and development systems lined up in advance and a much more polished user experience on day one.
- pjmlp 3y agoAre you sure regarding ARM64EC? I doubt that they are dropping it any time soon, specially when they just announced the Arm Advisory Service.
- ack_complete 3y agoThey aren't dropping ARM64EC, it's still fully supported and how Visual Studio and Office run native. It is based on x64 emulation support, however, so it requires Windows 11. Snapdragon 835 is officially unsupported by Windows 11; 850 is conditionally supported, but IIRC at one point it didn't support hardware 3D acceleration in x64 apps.