With their new processor, Apple’s M1 Macs deliver ground-breaking performance, but applications built to run on Intel chips may need to use the all new Rosetta translation technology in order to run. What is it and what does it do?
Supporting the journey to Apple Silicon
Apple’s decision to migrate to Apple Silicon is history in action. The company now controls the future of all of its platforms and its processors are already impressing users with their performance and stability.
The M1 chip boasts an 8-core CPU and the world’s fastest integrated graphics on a Mac. CPU performance promises to be around 3.5x faster on a MacBook Air, with 5x faster GPU performance, and up to 9x faster machine learning.
That said, applications are built to run on specific processors, and not every developer has done all the work necessary to make their apps run natively on Apple Silicon Macs. M1-powered Macs can run native, universal (in which the installer carries code for both Intel and Apple chips) and Intel apps.
Apple is encouraging developers to release universal apps where possible and is making it possible to run Intel apps on Apple silicon using emulation technology called Rosetta 2.
What is Rosetta 2?
Rosetta 2 is an emulator designed to bridge the transition between Intel and Apple processors. In short, it translates apps built for Intel so they will run on Apple Silicon.
There are also some apps (including Microsoft Office apps) that are translated the first time you run them. That need to translate on first run means the apps may initially launch a little more slowly than normal (up to 20 seconds, in some cases), but you won’t experience the same delay the next time you run the application.
The entire process takes place in the background, and while it may impact performance a little, early reports suggest the performance boost of moving to the M1 chip more than makes up for this.
Here’s what Apple says:
“Rosetta is a translation process that allows users to run apps that contain x86-64 instructions on Apple silicon,” its developer page reads. “Rosetta is meant to ease the transition to Apple silicon, giving you time to create a universal binary for your app. It is not a substitute for creating a native version of your app.”
What is the translation process, exactly?
“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,” Apple explains.
Can I run an x86 plug-in with my app?
When using an M1 Mac you’ll find it will always prefer to run arm64 instructions on Apple silicon. However, sometimes an app will carry both arm and X86 instructions, and if this is the case the user can relaunch the app using Rosetta translation from the app’s Get Info window in the Finder. Select the app, press Command-I and tick the Open using Rosetta check box.
This is only really necessary if you need to run an old plug-in within an app that runs natively on M1, for example.
Who supports Rosetta 2?
Every Apple app and all its pro apps already natively support the M1 chip. Developers are also creating Universal applications that will run natively on both Intel and M1-powered Macs. Apps that aren’t yet available in native or universal form may need a small update to enable support for Rosetta 2, but will then run perfectly well.
Key apps such as Word already run on the M1, and Adobe promises an M1 native version of Photoshop early next year, with Lightroom coming “soon.” Of course, you can also run iOS apps on the M1 chip, if developers allow.
What can’t Rosetta 2 translate?
Rosetta cannot translate kernel extensions or Virtual Machine apps that virtualize x86_64 computer platforms. Developers should be aware that Rosetta is also unable to translate AVX, AVX2, and AVX512 vector instructions.
A little history
Apple has used the Rosetta name before. When it migrated the Mac from PowerPC processors to Intel chips, it used something of the same name to perform the same function — enabling PowerPC apps to run on Intel chips.
While the name and aim remain the same, there’s a big difference between that form of Rosetta and the version we are using today because Apple has developed the destination processor, which means it had the needs of Rosetta in mind while it designed the M1.
That means it has been able to build some of the elements it requires to deliver this support on the chip itself. This is why some apps working in Rosetta emulation on an Apple Silicon Mac actually run faster than they do on Intel.
What is performance like?
As I’ve already explained, I’ve been using an M1 Mac mini for a while. In my experience, most applications perform just as well — they are often significantly faster — when running on the M1 chip than on the equivalent Intel-powered Mac.
It is also noteworthy that these processors deliver excellence in memory handling. Apple has developed a tech it calls Unified Memory Architecture (UMA) that shares memory across all the functions of the processor. Because memory, processor and other system elements are all hosted on the chip, you can expect excellent performance. This is particularly visible on graphically intensive apps, which I’ve found run even faster than before.
How long will Rosetta 2 be available?
We don’t know if Rosetta 2 will always be available.
Historically, Rosetta was included within Mac OS X 10.4.4 Tiger, became a downloadable option in OS X 10.6 Snow Leopard, but disappeared the following year. (In that case, the transition was completed earlier than anticipated when Apple stopped selling Macs based on the older architecture.)
Apple has committed to complete the transition between Intel and Apple Silicon processors within two years, which suggests it will be around to support that, and will continue to be available in subsequent releases. Apple knows that people will still be purchasing new Macs running Intel processors throughout this transition.
With this in mind, it seems plausible to think Apple will retain support for Rosetta 2 within the macOS into at least 2023. For more information on Rosetta, take a look at this Apple Developer note.