Assuring Apple Silicon

Jason Sturges
CodeX
Published in
2 min readNov 30, 2021

How to verify apps are actually running as arm64 on Apple Silicon

Photo by Jan Genge on Unsplash

Application packages can be verified via the Finder by right-clicking on the application and selecting Get Info:

There are three possibilities:

  • Intel — Executable is built for Intel and must be converted via Rosetta at launch
  • Universal — Executable contains two versions of the compiled code, one runs natively on Apple silicon while the other runs natively on Intel-based Macs. Note that you can optionally run the Intel variant by enabling Open using Rosetta.
Universal executable structure
  • Apple Silicon — Executable runs natively on Apple’s arm64 processor

Once an application has been launched, the Activity Monitor will denote which executable is running via the Kind field.

Blender, running natively on Apple silicon

Note that depending on how an app is launched, it can run in multiple modes. Shells or task runners that launched via Intel may invoke child executables as Intel under the process tree.

Node.js running as Intel and Apple silicon

Above, two node processes are running natively on Apple silicon; however, the others are running Intel via Rosetta due to how a task runner launched their process.

This is important for universal applications — just because the arm64 assembly is available doesn’t guarantee its optimized execution is being leveraged.

--

--

Jason Sturges
CodeX
Writer for

Avant-garde experimental artist — creative professional leveraging technology for immersive experiences