Microsoft Announces ARM64EC

Microsoft today announced ARM64EC, a new way for developers to build native apps for Windows 11 on ARM. This technology is being used by Microsoft Office and Visual Studio, and it lets developers mix and match native ARM64 code with emulated x86/x64 code in the same process.

“ARM64EC is a new application binary interface (ABI) for Windows 11 on ARM that runs with native speed and is interoperable with x64,” Microsoft’s Marc Sweetgall explains. “An app, process, or even a module can freely mix and match ARM64EC and x64 as needed. The ARM64EC code in the app will run natively while any x64 code will run using Windows 11 on ARM’s built-in emulation.”

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

In the past, developers interested in creating apps that ran on Windows on ARM were forced to recompile the entire app. With ARM64EC, developers can bring over parts of an existing app one at a time, identifying those codebases that would benefit the most from running natively. The rest of the app, meanwhile, will simply run in emulated mode. Over time, developers can choose to recompile more of their apps as ARM64EC, as needed, improving the PC’s performance and battery life.

ARM64EC also makes it much easier to port over apps that support add-ons and third-party dependencies. Both Office and Visual Studio fall into this category.

“We’re motivated by the potential of ARM64EC and excited to see the kinds of apps developers can build for Windows 11 on ARM using this technology,” Sweetgall says. “Internally, we’ve rebuilt the binaries of Windows 11 on ARM itself with ARM64EC so that any system code loaded by x64 apps runs with native speed.  In addition, the Office team is using ARM64EC in the coming 64-bit Office for ARM so that existing x64 plugins will work seamlessly.”

Tagged with

Share post

Please check our Community Guidelines before commenting

Conversation 18 comments

  • dallasnorth40

    Premium Member
    28 June, 2021 - 1:36 pm

    <p>Wow, maybe it’s time to take another look at that Surface Pro X.</p>

    • Paul Thurrott

      Premium Member
      28 June, 2021 - 2:22 pm

      <p>Hm. There’s one more piece to this puzzle: We still need better ARM processors. I expect those by the end of the year. </p>

      • waethorn

        28 June, 2021 - 2:43 pm

        <p>I guess the performance and platform requirements will put the final nail in the coffin of hope for running this on one of those 4-8GB Raspberry Pi 4’s then.</p>

      • shark47

        29 June, 2021 - 9:32 am

        <p>Question is, how much better and does Qualcomm care about the PC market? </p>

        • Greg Green

          30 June, 2021 - 8:02 pm

          <p>A lot and a little, respectively.</p>

    • wolters

      Premium Member
      28 June, 2021 - 2:58 pm

      <p>I have a SQ2 Based Surface Pro X with 16GB RAM and 512GB Storage that acts as my secondary laptop/tablet, so I am OK with installing the insider build on it (now as I write this). I’ll comment on performance in future forum posts or comments. </p>

      • wolters

        Premium Member
        28 June, 2021 - 3:38 pm

        <p>I will say, I did get a "Green Screen of Death" on my Surface Pro X before it rebooted and Windows 11 loaded…will see how it goes from here. </p>

    • cseafous

      Premium Member
      28 June, 2021 - 4:07 pm

      <p>I was thinking the same thing. But I think waiting until the next version of the Surface Pro X would be the safer bet. However, if the Surface Pro 8 comes out with LTE or 5G, then I may just go that route instead.</p>

  • locust_infested_orchard_inc.

    28 June, 2021 - 1:59 pm

    <p>Articles’ quotes:</p><p><br></p><p>"<em style="color: rgb(0, 0, 0);">Internally, we’ve rebuilt the binaries of Windows 11 on ARM itself with ARM64EC so that any system code loaded by x64 apps runs with native speed</em><span style="color: rgb(0, 0, 0);">"</span></p><p><br></p><p>"<em style="color: rgb(0, 0, 0);">any x64 code will run [on ARM] using Windows 11 on ARM’s built-in emulation</em><span style="color: rgb(0, 0, 0);">"</span></p><p><br></p><p><span style="color: rgb(0, 0, 0);">So does this mean ARM’s built-in x64 emulation shall allow pure x64 applications to run at native speed, or the running at native speed only applies to dual-coded applications (part ARM, part x64 = "</span><em style="color: rgb(0, 0, 0);">mix and match ARM64EC and x64</em><span style="color: rgb(0, 0, 0);">" ?</span></p>

    • SWCetacean

      Premium Member
      28 June, 2021 - 10:38 pm

      <p>Only the arm64 parts of programs will run at native speed. The x64 parts will run with the emulation penalty. The wording is not that clear, but it comes from the "<em style="color: rgb(0, 0, 0);">any system code loaded by x64 apps"</em><span style="color: rgb(0, 0, 0);"> part. System code probably means system-level libraries that are consumed by the apps. </span></p><p><br></p><p><span style="color: rgb(0, 0, 0);">In other words, this looks like a super-charged version of CHPE (compiled hybrid portable executable) technology used for x86 emulation that is now extended to x64 and available for developers to use.</span></p>

  • lvthunder

    Premium Member
    28 June, 2021 - 2:03 pm

    <p>You would have thought they would have talked about this at Build.</p>

    • djross95

      Premium Member
      28 June, 2021 - 2:37 pm

      <p>Boy, no kidding…</p>

    • straker135

      Premium Member
      28 June, 2021 - 3:09 pm

      <p>Microsoft don’t exactly have a strong record of pushing their efforts in the ARM space…</p>

  • james.h.robinson

    Premium Member
    28 June, 2021 - 3:56 pm

    <p>This is great news, Mr. Thurrott. Thanks for authoring this article, it made my Monday. </p>

  • Truffles

    28 June, 2021 - 9:26 pm

    <p>Wow. That sounds like it’s going to be one hell of a buggy mess. I pity the devs tasked with maintaining those programs.</p>

    • codymesh

      28 June, 2021 - 10:56 pm

      <p>??? not requiring a wholesale re-compile is a godsend for devs, especially for complex applications that surely take time to port. This helps them maintain the program <em>easier</em></p>

      • bkkcanuck

        29 June, 2021 - 12:28 pm

        <p>The issue I see — is the complex pieces are almost always going to be performance will be gained… I also think there will be more issues introduced by trying to piecemeal it, but maybe that is the point… get the devs to release a half done app — get lots of feedback after they have sort of been locked in about how crappy it is… and then they have to rush to fix it by doing the hole thing.</p>

  • arnstarr

    29 June, 2021 - 7:44 am

    <p>It’s great how MS are supporting all historic ARM based products with Windows 11. Right back to Snapdragon 850.</p><p>People with those older ARM CPU products will be pleased. </p>

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC