What you need to know
- Microsoft announced ARM64EC, which allows developers to mix and match different types of code for Windows 11 on ARM apps.
- ARM64EC allows developers to switch part of an app's codebase to run on ARM natively while other parts of the app run in emulation.
- The technology also lets developers make apps for Windows 11 on ARM even if they have dependencies that run on x64.
Microsoft announced a new technology called ARM64EC (Emulation Compatible) this week. It allows developers to switch over parts of their apps to run natively on Windows 11 on ARM devices. This means that developers can incrementally transition their apps to run on ARM. It's a major boost for the development of Windows 11 on ARM apps and should open doors for apps that couldn't migrate due to certain dependencies.
Some apps have plugins and dependencies that don't support ARM. Until ARM64EC, any app with one of these dependencies or plugins couldn't be made to run natively on Windows 11 on ARM (or Windows 10 on ARM). Microsoft explains the current limitations in a developer blog post.
"Traditionally, rebuilding an app for ARM has meant recompiling the entire app. The result is a great native experience for the customer that unlocks the full power of the ARM device," explains Microsoft. "However, from a developer perspective, porting an app can be all-or-nothing, since all the binaries within a process need to be rebuilt before a customer can see the benefit."
In contrast to the current options, ARM64EC lets developers pick and choose parts of an app to switch over to native performance. Any parts recompiled with ARM64EC will perform with native speeds while the rest of the app will run in emulation.
With ARM64EC, developers can pick the most important part of their apps to switch over to native ARM performance. They can then migrate the rest over as they have more time or as dependencies gain support for ARM.
Microsoft rebuilt the binaries of Windows 11 on ARM with ARM64EC, which allows system code loaded by x64 apps to run with native speed. Microsoft's Office team also used ARM64EC to make the upcoming 64-bit Office for ARM (opens in new tab) that can use x64 plugins.
Developers can download the latest Windows Insider SDK (opens in new tab) and Visual Studio Preview (opens in new tab) to start working with ARM64EC. A Microsoft doc (opens in new tab) also has steps to help add ARM64EC configuration.
Microsoft promises more information about ARM64EC in the future, presumably including when it will be generally avaialble.
Sean Endicott brings nearly a decade of experience covering Microsoft and Windows news to Windows Central. He joined our team in 2017 as an app reviewer and now heads up our day-to-day news coverage. If you have a news tip or an app to review, hit him up at firstname.lastname@example.org (opens in new tab).
All exciting thanks. Will developers do it though? M1 is a success because developers don't have to immediately re-write apps. Do we know why Microsoft can't translate x86 code into ARM instructions like M1 so x86 emulation isn't needed? 32-Bit Microsoft 365 already works flawlessly. An ARM64 version can only be a good thing. But it's not Microsoft 365, Teams, Adobe Photoshop or Lightroom that are the problem these are already ARM64. It's everything else.
Apple’s M1 (and the upcoming M-series processors) use translation, yes, but Microsoft uses emulation instead. Microsoft can’t ”just translate it”, as if there was a book called ”How to translate x86_64 code to ARM” (Sorry if it sounds rough, btw 🙂 — it’s not supposed to be). Apple has a whole team dedicated to CPU architecture design, from their purchase of PA Semi over a decade ago and Apple is a hardware-design company that applies custom-written OS code and first-party software as a complete package. They don’t make custom chips for everything, though: wifi chips are from whatever manufacturer they find, like Broadcom. Modems are from Qualcomm, but they are soon transitioning to custom modem designs. Intel Macs were basically standard PCs, except add-on Apple T2 chips with security chips, video encoder acceleration, etc. The T2 chip itself was an old A10 (iPhone 7-generation) chip. Microsoft designs hardware to some extent, but it is mostly the exterior design, with mostly standard hardware components on the inside. They are a software company who has achieved extreme success with selling Windows, Office and other products since the 1970s, but they are not really a hardware-design company. Remember: M1 technology goes all the way back to the first custom Apple A4 in 2010 — it was not invented yesterday. This is what the revolution is about: Apple has invented the future through a combination of a small set of standard ARM-licensed chip design and their own entirely custom design. This includes Rosetta generation 2 software, which is tech they have built on top of wisdom from the first Rosetta tech in Intel Macs running PowerPC code.
True but M1 has x86 instructions in the design. I guess I meant why can't Microsoft and Qualcomm do similar. You'd think Microsoft and Qualcomm combined can do better than emulation. Microsoft is translating Android apps to x86 on Windows 11. So there's precedence. I just don't think enough developers will take up Microsoft's offer with ARM64EC. Only one example but Logitech still doesn't support ARM on Windows or MacOS. It's the age old chicken and egg problem.
Because Qualcomm is not msft property, they cannot tell QC what to do if they don't see it benifcial. The two only sit together in the Surface in ARM recently and QC certainly is not interested much and that shows how 'well' the cpu being run on the Gen arm surface.
Exactly this. I used to work with Lumia products (in Nokia/Microsoft) and we definitely were not the number one customer for Qualcomm. One has to remember that when companies “partner together” most of is just PR talk. I have seen that so many times personally.
There isn't a benefit to Microsoft. Apple has a different idea about ARM, they are converting everything to that new design so they have a reason to make it work the way they do. MS sees ARM as a high efficiency branch focused on productivity machines, they don't need to do everything at native speeds, most intensive tasks they are just pushing to the cloud for the processing (XCloud)
Correct. For Microsoft, ARM is an option. For Apple, ARM will be the only choice.
Nice general explanation of the complexities surrounding moving from x86 to ARM. Microsoft's greatest strength, that they support a mind boggling range of hardware and software, is also their greatest weakness. What Apple has pulled off with M1 and translation is a wicked clever trick that is built upon a decade's worth of targeted hardware and software development. Microsoft being, loosely a general purpose software company with lots of partners, everything becomes a giant committee more or less. It is a miracle anything works let alone as well as it does. Microsoft and ARM are a thing but it is going to take, compared to Apple, a bit longer to get sorted out.
😁😂 When Microsoft gain a skill, they call it technology.
WTF, are you rambling about?
Wait for the translation.
Ooh, this really is a game changer.
I want to kick out x86 as soon as possible and go to ARM
the problem is that intel licensed some SiFive IP, a RISC-V company
1. I doubt of x86 will ever be fully replaced.
2. Intel primarily licensed RISC-V tech for microcontrollers.
Get the best of Windows Central in in your inbox, every day!
Thank you for signing up to Windows Central. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.