(via Daring Fireball…)
Nice high-level overview from Apple’s developer documentation team. One pedantic note worth emphasizing (I made this mistake in my M1 MacBook Pro review) — Rosetta is translation, not emulation, and technically that’s a big deal:
To the user, Rosetta is mostly transparent. If an executable contains only Intel instructions, macOS automatically launches Rosetta and begins the translation process. When translation finishes, the system launches the translated executable in place of the original. However, the translation process takes time, so users might perceive that translated apps launch or run more slowly at times.
The system prefers to execute an app’s
arm64instructions on Apple silicon. If a binary includes both
x86_64instructions, the user can tell the system to launch the app using Rosetta translation from the app’s Get Info window in the Finder. For example, a user might enable Rosetta translation to allow the app to run older plug-ins that don’t yet support the