How to recognize if an app is ARM64 on Windows

I’ve had my Surface Pro X for a more than a year now, which is an ARM64 device. Now, while it can run x86 or x64 apps through emulation, it’s always best if apps have native versions for ARM64 available. I’ve been working on bringing Git for Windows to ARM64 and have already seen a ~2x performance improvement over the emulated x86 version, which clearly shows it’s worth the effort of making apps available natively 🚀

If you’re a Windows on ARM user, you probably want to know if your app is running on ARM natively. There are multiple ways of checking this.

Option 1: through file properties

The fastest and simplest option if you ask me 😊 – it only works on ARM64 devices though. Right-click on an executable (in this case it’s Creative Cloud.exe), then open the “Compatibility” tab.

Look closely at the “Windows 10 on ARM” section. If the button in this section is grayed out, it means that the executable is a native ARM64 one. That’s great; you’ll have the best performance and battery life with such apps! 🚀

Windows file properties dialog, tab "Compatibility", section "Windows 10 on ARM"

Option 2: using ROM Properties

There’s a great project on GitHub called ROM Properties. There’s a lot you can do with it, but the feature I use is the additional tab in Windows Explorer’s properties screen. Let’s have a look:

File Explorer properties, tab "ROM Properties".

It clearly shows you the CPU this application was compiled for. The benefit of this tool compared to the first one is that you can use it on any Windows 10 architecture, so that’s x86, x64 and ARM64. That means that on a x64 machine you can see that an app was compiled for ARM64, and this also works the other way around.

A native ARM64 version of ROM Properties wasn’t available at the time of writing this article, so I came up with a custom build for ARM64 which you can download from GitHub.

Some final words

I’m excited to see Windows 10 on ARM gaining more momentum while people discover the benefits like improved battery life, always-on functionality and built-in mobile connectivity. The ARM architecture is here to stay, which recently got confirmed by Apple – they’re switching their entire desktop and laptop lineup from Intel-based processors to their own ARM-based “Apple Silicon”.

In order to push the ARM64 ecosystem a little further, I’m helping several open source projects like NodeJS, DDEV, GitHub Desktop and Git for Windows to launch native ARM64 versions of their apps. It’s the power of open source software – everyone can contribute towards a better future 🚀

1 Comment

  • Kotaro
    January 19, 2022 at 6:13 pm

    thanks for writing this article I didn’t see many posts on this topic and this answered my question perfectly!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.