Rosetta 2 is Apple’s key to making the ARM transition less painful

Our biggest burning question about Apple’s ARM silicon

Earlier this week, on what Tim Cook called a “historic day,” Apple announced that it’s moving Macs away from Intel processors to its own silicon chips. The first Mac with Apple silicon is coming by the end of 2020, but Apple expects the full transition process to take two years.

The new Macs will use arm64, the same CPU architecture that recent iOS devices use (Intel-based Macs use an architecture called x86-64). That’s an exciting move, because it means that they’ll be able to run iOS and iPadOS apps alongside those made for macOS. But it also means that apps that were developed for Intel’s architecture originally won’t run natively on Apple’s upcoming hardware.

That’s where Rosetta 2 comes in: It’s an emulator built into macOS Big Sur that will enable ARM Macs to run old Intel apps. Rosetta 2 essentially “translates” instructions that were written for Intel processors into commands that Apple’s chips can understand. Developers won’t need to make any changes to their old apps; they’ll just work. (The original Rosetta was released in 2006 to facilitate Apple’s transition from PowerPC to Intel. Apple has also stated that it will support x86 Macs “for years to come,” as far as OS updates are concerned. The company shifted from PowerPC to Intel chips in 2006, but ditched support for the former in 2009; OS X Snow Leopard was Intel-only.)

Apple Rosetta 2 icon Rosetta 2 will allow apps built for Intel chips to run on Apple’s new processors without any work from the developer Screenshot: Dan Seifert / The Verge

You don’t, as a user, interact with Rosetta; it does its work behind-the-scenes. “Rosetta 2 is mostly there to minimize the impact on end-users and their experience when they buy a new Mac with Apple Silicon,” says Angela Yu, founder of the software-development school App Brewery. “If Rosetta 2 does its job, your average user should not notice its existence.”

There’s one difference you might perceive, though: speed. Programs that ran under the original Rosetta typically ran slower than those running natively on Intel, since the translator needed time to interpret the code. Early benchmarks found that popular PowerPC applications, such as Photoshop and Office, were running at less than half their native speed on the Intel systems.

We’ll have to wait and see if apps under Rosetta 2 take similar performance hits. But there are a couple reasons to be optimistic. First, the original Rosetta converted every instruction in real-time, as it executed them. Rosetta 2 can convert an application right at installation time, effectively creating an ARM-optimized version of the app before you’ve opened it. (It can also translate on the fly for apps that can’t be translated ahead of time, such as browser, Java, and Javascript processes, or if it encounters other new code that wasn’t translated at install time.) With Rosetta 2 frontloading a bulk of the work, we may see better performance from translated apps.

Apple’s Rosetta 2 features Apple claims improved performance over the original version of Rosetta from 2006. Screenshot: Dan Seifert / The Verge

Demos have also looked promising. Apple showed off Rosetta using the animation software Maya and the game Shadow of the Tomb Raider in 1080p; both looked functional in the keynote.

There are a few caveats, though.

First, Rosetta 2 isn’t intended to be a long-term solution. Apple hasn’t said how long it will be around; Rosetta, released with OS X Tiger, was only discontinued with OS X Lion three versions later. It’s a tool that will make Apple’s transition period easier, but Apple certainly intends for its developers to get started on native ARM ports of their x86 apps sooner rather than later. Apple’s own apps, including Final Cut Pro and Logic, already run natively on ARM. The company has already announced Developer Transition Kits with an ARM processor inside to help app makers update and test their software — and it noted in the keynote that Microsoft is already working on Office, and Adobe is working on Creative Cloud. Apple showed off native versions of Word, Excel, PowerPoint, Lightroom CC, and Photoshop, as well as its own Final Cut Pro in the WWDC keynote.

Apple is encouraging developers to create native apps; Rosetta 2 is designed to be an interim solution

That said, Apple clearly understands that not all developers will have ports ready for the first ARM launch — and customers who buy the first ARM systems in the fall will want to use their favorite programs immediately. Rosetta 2 also means developers don’t need to scramble to re-optimize their products by the time the first ARM Macs come out. (The process of porting macOS apps to Apple silicon is beyond the scope of this guide, but you’ll find detailed instructions on Apple’s developer website.)

“Changing the language that the CPU speaks is a huge deal,” says Ken Gillette, co-founder and CTO of Pocket Prep, a mobile test-prep company that has developed over 100 applications for Apple’s ecosystem. “It would be very difficult if every application needed to be updated before the new computers were available. It would result in a large effort to make changes in a short period of time.”

“[Rosetta] will make the process of purchasing a new Mac seamless for end users,” Gillette says. “If Apple didn’t do this, the process would be much more painful, as many apps consumers use on a daily basis would be missing from their brand-new machines.”

Apple Silicon processor feature list The various features and capabilities of Apple’s new ARM-based Mac processors. Screenshot: Sean Hollister / The Verge

Another thing to note is that the engine also won’t support everything. It’s not compatible with some programs, including virtual machine apps, which you might use to run Windows or another operating system on your Mac, or to test out new software without impacting the rest of your system. (You also won’t be able to run Windows in Boot Camp mode on ARM Macs. Microsoft only licenses the ARM version of Windows 10 to PC manufacturers.) Rosetta 2 also can’t translate kernel extensions, which some programs leverage to perform tasks that macOS doesn’t have a native feature for (similar to drivers in Windows).

Rosetta 2 should help Apple avoid some of the headaches Microsoft has seen with its own ARM transition

Third, even if Rosetta 2 is fully functional, there are still open questions about how well ARM Macs might work. In its keynote, Apple emphasized the efficiency of its new chips, claiming that they will “give the Mac industry-leading performance per watt.” The company also promised better graphic experience, machine-learning capabilities, and battery life. But it skirted around the issue of raw power — so while ARM Macs may be more efficient than their Intel predecessors, they may also be less powerful. Apple also didn’t clarify whether it plans to produce new GPUs of its own, or whether its CPUs will interface with third-party GPUs.

ARM processors that we’ve seen on Windows PCs like the Surface Pro X have outperformed their Intel competitors when it comes to battery life and LTE compatibility. But we have also encountered some performance issues with ARM PCs, though that’s at least partially due to the fact that the emulation layer Microsoft uses to run x86 apps on ARM can only run 32-bit Windows apps (not modern 64-bit x86 apps) and many 32-bit programs are discernibly slower than 64-bit programs.

If everything works as Apple has promised, Rosetta 2 means that hopefully none of that mess will happen with macOS.

Related Posts

Latest Stories

Search stories by typing keyword and hit enter to begin searching.