Final decision: No ARM32 support (only ARM64) #406
Replies: 11 comments 10 replies
-
Technically it can't support ARM32 Desktop if Microsoft don't open up desktop Win32 APIs on ARM32 MSVC (there is a hard block in Win32 headers that checks for ARM32 and fail). |
Beta Was this translation helpful? Give feedback.
-
But on the other hand, .NET 5 just dropped Windows ARM32 support, so Reunion following that is not a bad thing. |
Beta Was this translation helpful? Give feedback.
-
To clarify, does the lack of ARM32 ISA support also imply 32bit x86 apps won't be emulated on Windows anymore? If so, then it's probably a good idea for folks interested in that kind of thing to request 32bit x86 only app developers to at least port their apps to 64bit x86 if not ARM64. I'm thinking of the standard Visual Studio. VS has resisted moving to 64bit for a long time now and I'm wondering if that will change. This should be relevant to Project Reunion because Visual Studio is the tooling/IDE through which one would consume the library and with computers seeming to move in the direction of ARM, it would make more and more sense for Windows developers to start using Windows on ARM devices for development. Further, if Microsoft is going to port VS to 64bit (which I've read would be a lot of effort), they might as well start porting it to ARM64 because emulation as it stands is pretty slow. Before you ask if there is really a market for that, remember Xcode runs on the M1 Mac just fine. :) Developers often want to use the devices they target. |
Beta Was this translation helpful? Give feedback.
-
Well, the "ARM32 [...] we never built the support for Win32 apps" is a lie. Back in the day, there were couple dozens of apps circling the internet, crosscompiled by modified MinGW GCC that run on jailbroken Windows RT perfectly well. It was just loader-locked by strictly requiring binaries to be signed by certificate Microsoft didn't give anyone. Win32 is still there, and everything relies on that layer. While I understand the devs don't make marketing decisions, I know good amount enthusiasts and independent devs that still hope, that Microsoft would somehow unlock their old Surface devices, so that they'd become more than trash again. The discussion on 64-bit Visual Studio is going on for quite a few years now. There are many reasons, especially all existing extensions being 32-bit. But one rarely discussed thing is that just recompiling as 64-bit will make it slower. Software with heavy use of pointers tends to. I've done some synthetic measurement here if anyone's interested. Also I'd absolutely love ARM64 native Visual Studio on my NovaGo laptop (Snapdragon 835). Using the emulated one is painful. |
Beta Was this translation helpful? Give feedback.
-
I'm disappointed by the short lead time here; posting this on a Friday with a Tuesday deadline is definitely antithetical to the Project Reunion principle of working out in the open. That aside, I agree with this proposal. |
Beta Was this translation helpful? Give feedback.
-
All in for this decision, since Arm32 deprecated very soon. I think going with this option is much better instead of wasting resources on Arm32, we can use that resources to expand Project Reunion in more ways. |
Beta Was this translation helpful? Give feedback.
-
To add to all the other answers, as far as I understand it, Apple’s M1 CPU doesn't support ARM32 instructions at all. So this proposal is only logical, since people will run Windows in emulation on M1 Macs. What's also important is to indeed make sure all stock apps are also ported to ARM64 — AFAIK some apps (Microsoft Store for example) don't run on Parallels on M1 Macs now. |
Beta Was this translation helpful? Give feedback.
-
Supported. Please drop the support for ARM32. |
Beta Was this translation helpful? Give feedback.
-
To be able to give a good answer it would be very helpful to know where Windows 10 is going. Since Windows 10 Desktop ARM64 already supports x86 Emulation and also soon AMD64 Emulation. It would be interesting to know how and if will ARM32 work on Windows 10 in the future, when ISA support is not there anymore. We also don’t know if Microsofts own Chips (SQ) will drop support for ARM32 or not. All we were hearing from Build sessions so far was always: “Go ARM64 or ARM32, they are both equally supported.” Overall, I would say given that Project Reunion aims for 17763 it would be bad to not be able to use that for Platforms like IoT Core which still supports ARM32 for a long time. For me personally, I never saw a big reason to ever jump to ARM64. All of my current UWP Apps are still ARM32 only and I don't see a reason yet to upgrade to ARM64. |
Beta Was this translation helpful? Give feedback.
-
From the standpoint of simplifying the work of the Project Reunion team, providing higher quality deliverables for the supported architectures, and the pending removal of hardware ARM32 support, I agree with the plan to not include ARM32 support in this project. |
Beta Was this translation helpful? Give feedback.
-
Final decision: Proposed decision confirmed: For ARM architectures, only ARM64 will be supported. We appreciate all the feedback and discussion, thank you everyone! Moving this to the final decisions category. |
Beta Was this translation helpful? Give feedback.
-
We'd love your feedback on this topic, we'll be making a decision midday PST on 2/2, please let us know if you have any feedback before then!
Proposal: Reunion won't support ARM32 (only ARM64)
Background info: ARM32 has only been supported in Windows on UWP, we never built the support for Win32 apps. In addition, future ARM processors are deprecating ARM32 ISA support. All of our efforts are centered around ARM64, both native and emulation for X64 apps running on ARM64. Our Microsoft apps are planning on migrating to only ARM64.
Proposed decision: Given the deprecation of ARM32 ISA support (hardware), the migration of applications to ARM64 generally and the specific migration of Office ARM32 UWP to ARM64, there are no significant clients for ARM32 support and the trend in the marketplace is clear. Project Reunion will not produce ARM32 binaries, the only native flavor we will produce is ARM64. No statements are being made here regarding hybrid streams (e.g. ARM64EC), such support will be the topic of a different decision.
Final decision (2/10/2021): Proposed decision confirmed: For ARM architectures, only ARM64 will be supported. We appreciate all the feedback and discussion, thank you everyone!
Big thanks to Eho on our team for capturing and writing up all this info :)
Beta Was this translation helpful? Give feedback.
All reactions