Earlier this week, on what Tim Cook called a “historic day,” Apple announced that it is driving Macs away from Intel processors to its own silicon chips. Apple’s first silicon Mac will arrive in late 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). It’s an exciting move, because it means they’ll be able to run iOS and iPadOS apps alongside those built for macOS. But it also means that applications that were developed for the Intel 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 allow ARM Macs to run old Intel applications. Rosetta 2 essentially “translates” instructions that were written to Intel processors into commands that Apple’s chips can understand. Developers will not need to make any changes to their old applications; they will only work. (The original Rosetta was released in 2006 to ease Apple’s transition from PowerPC to Intel. Apple has also stated that it will support x86 Macs “for years to come” when it comes to operating system updates. The company switched from PowerPC. to Intel chips in 2006, but dropped support for the first in 2009; OS X Snow Leopard was only from Intel.)
You, as a user, do not interact with Rosetta; does her job behind the scenes. “Rosetta 2 is primarily 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 App Brewery school of software development. “If Rosetta 2 does its job, its average user shouldn’t notice its existence.”
However, there is one difference you can perceive: speed. Programs that ran under the original Rosetta generally ran slower than those that ran natively on Intel, as 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 Intel systems.
We will have to wait and see if the applications in Rosetta 2 have similar performance. But there are a couple of reasons to be optimistic. First, the original Rosetta converted all instructions in real time as it executed them. Rosetta 2 can convert an application upon installation, effectively creating an ARM-optimized version of the application before opening it. (You can also translate apps that can’t be translated ahead of time, such as browser processes, Java, and Javascript, or if you find other new code that wasn’t translated at installation.) With Rosetta 2 loading a lot of the work, we can see better performance from translated applications.
The demonstrations have also looked promising. Apple showed Rosetta using the Maya animation software and the game. Shadow of the Tomb Raider in 1080p; both seemed functional on the keynote.
However, there are a few caveats.
First, Rosetta 2 is not intended to be a long-term solution. Apple has not said how long it will last; Rosetta, released with OS X Tiger, was only discontinued with OS X Lion three versions later. It’s a tool that will ease Apple’s transition period, but Apple certainly intends for its developers to start on the native ARM ports of their x86 applications sooner rather than later. Apple’s own apps, including Final Cut Pro and Logic, already run natively in ARM. The company has already announced developer transition kits with an ARM processor inside to help app makers update and test their software, and noted in the keynote that Microsoft is already working on Office, and Adobe is working in Creative Cloud. Apple showed native versions of Word, Excel, PowerPoint, Lightroom CC, and Photoshop, as well as its own Final Cut Pro in the WWDC keynote.
That said, Apple clearly understands that not all developers will have ports ready for the first ARM release, and customers who purchase the first ARM systems in the fall will want to use their favorite programs right away. Rosetta 2 also means that developers don’t need to struggle to re-optimize their products when the first ARM Macs are released. (The process of porting macOS applications to Apple Silicon is beyond the scope of this guide, but you will find detailed instructions on the Apple developer website.)
“Changing the language the CPU speaks is a big problem,” says Ken Gillette, co-founder and CTO of Pocket Prep, a mobile test prep company that has developed more than 100 apps for the Apple ecosystem. “It would be very difficult if each application needed to be updated before the new computers were available. It would be a great effort to make changes in a short period of time. ”
“[Rosetta] it will make the process of buying a new Mac perfect for end users, “says Gillette.” If Apple did not do this, the process would be much more painful, as many applications that consumers use on a daily basis would be missing from their new machines. “
Another thing to keep in mind is that the engine will not support everything either. It is not compatible with some programs, including virtual machine applications, that you can use to run Windows or another operating system on your Mac, or to test new software without affecting the rest of your system. (You also won’t be able to run Windows in Boot Camp mode on Mac ARM. Microsoft only licenses the ARM version of Windows 10 to PC manufacturers.) Rosetta 2 also cannot translate kernel extensions, which some programs take advantage of to perform tasks so that macOS does not have a native function (similar to drivers in Windows).
Third, even if Rosetta 2 is fully functional, there are still open questions about how well ARM Macs might work. In its opening speech, Apple emphasized the efficiency of its new chips, claiming that “they will give the Mac the industry-leading performance per watt.” The company also promised a better graphics experience, machine learning capabilities, and battery life. But it sidestepped the issue of raw horsepower, so while ARM Macs may be more efficient than their Intel predecessors, they may also be less powerful. Apple also didn’t say whether it plans to produce new GPUs of its own or whether its CPUs will connect to third-party GPUs.
The ARM processors 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’ve also found some performance issues with PC ARM, though that’s at least in part due to the fact that the emulation layer that Microsoft uses to run x86 apps on ARM can only run 32-bit Windows apps (not modern apps x86 64-bit) and many 32-bit programs are noticeably 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.