Rosetta is a
dynamic binary translator developed by
Apple Inc.
Apple Inc. is an American multinational corporation and technology company headquartered in Cupertino, California, in Silicon Valley. It is best known for its consumer electronics, software, and services. Founded in 1976 as Apple Comput ...
for
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, an application compatibility layer between different
instruction set architecture
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
s. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the
Rosetta Stone
The Rosetta Stone is a stele of granodiorite inscribed with three versions of a Rosetta Stone decree, decree issued in 196 BC during the Ptolemaic dynasty of ancient Egypt, Egypt, on behalf of King Ptolemy V Epiphanes. The top and middle texts ...
, the artifact which enabled translation of
Egyptian hieroglyph
Ancient Egyptian hieroglyphs ( ) were the formal writing system used in Ancient Egypt for writing the Egyptian language. Hieroglyphs combined ideographic, logographic, syllabic and alphabetic elements, with more than 1,000 distinct characters. ...
s.
The first version of Rosetta was introduced in 2006 in
Mac OS X Tiger
Mac OS X Tiger (version 10.4) is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005, for US$129.95 as the successor to Mac OS X 10.3 Panther. Inc ...
as part of the
Mac transition from PowerPC processors to Intel processors, allowing
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
applications to run on
Intel-based Macs. Support for Rosetta was dropped with
Mac OS X Lion (10.7) in 2011.
Rosetta 2 was introduced in 2020 as a component of
macOS Big Sur
macOS Big Sur (version 11) is the seventeenth software versioning, major release of macOS, Apple Inc., Apple's operating system for Macintosh computers. It was announced at Apple's Worldwide Developers Conference (WWDC) on June 22, 2020, and w ...
, and as part of the
Mac transition from Intel processors to Apple silicon, allowing
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
applications to run on
Apple silicon
Apple silicon is a series of system on a chip (SoC) and system in a package (SiP) processors designed by Apple Inc., mainly using the ARM architecture family, ARM architecture. They are used in nearly all of the company's devices including Mac ...
-based Macs.
Most Rosetta 2 features will be removed from macOS with version 28 in 2027.
Background
Macintosh
Mac is a brand of personal computers designed and marketed by Apple Inc., Apple since 1984. The name is short for Macintosh (its official name until 1999), a reference to the McIntosh (apple), McIntosh apple. The current product lineup inclu ...
has used CPUs with several different
instruction set architectures
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
(ISA): the
Motorola 68000 series
The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit computing, 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and ...
,
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
, Intel
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
, and
ARM64
AArch64, also known as ARM64, is a 64-bit version of the ARM architecture family, a widely used set of computer processor designs. It was introduced in 2011 with the ARMv8 architecture and later became part of the ARMv9 series. AArch64 allows ...
in
Apple silicon
Apple silicon is a series of system on a chip (SoC) and system in a package (SiP) processors designed by Apple Inc., mainly using the ARM architecture family, ARM architecture. They are used in nearly all of the company's devices including Mac ...
. Each ISA is incompatible, necessitating a transition plan based on a software layer to
emulate the previous ISA on the succeeding one.
With the launch of
Power Macintosh
The Power Macintosh, later Power Mac, is a family of personal computers designed, manufactured, and sold by Apple Inc., Apple Computer, Inc as the core of the Mac (computer), Macintosh brand from March 1994 until August 2006.
Described by ''Mac ...
, the
Mac 68K emulator is part of
System 7
System 7 (later named Mac OS 7) is the seventh major release of the classic Mac OS operating system for Macintosh computers, made by Apple Computer. It was launched on May 13, 1991, to succeed System 6 with virtual memory, personal file shari ...
.1.2 and later. This emulator uses PowerPC features and is embedded at the lowest levels of the operating system, integrated with the
Mac OS nanokernel
The Mac OS nanokernel is an operating system kernel that serves as the basis of most PowerPC based system software versions 7 through 9 of the classic Mac OS, predating Mac OS X.
The initial revision of this software is a single tasking system w ...
. This means that the nanokernel is able to intercept PowerPC interrupts, translate them to 68k interrupts (then doing a mixed mode switch, if necessary), and then execute 68k code to handle the interrupts. This allows 68k and PowerPC code to be interspersed within the same
fat binary
A fat binary (or multiarchitecture binary) is a computer executable program or library which has been expanded (or "fattened") with code native to multiple instruction sets which can consequently be run on multiple processor types. This results ...
.
Rosetta
Apple launched Rosetta in 2006 upon the
Mac transition to Intel processors
The Mac transition to Intel processors was the process of switching the central processing units (CPUs) of Apple's line of Mac and Xserve computers from PowerPC processors over to Intel's x86-64 processors. The change was announced at the 200 ...
from PowerPC. It is in
Mac OS X Tiger 10.4.4 "Tiger", the version that launched the
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
-based Macs, and allows many unmodified
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
applications to automatically run on Intel-based Mac computers. Rosetta is based on
QuickTransit
QuickTransit was a cross-platform virtualization program developed by Transitive Corporation. It allowed software compiled for one specific processor and operating system combination to be executed on a different processor and/or operating sys ...
technology. It has no
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
, and launches transparently, which led Apple to describe Rosetta as "the most amazing software you'll never see".
Rosetta is optionally installable in
Mac OS X 10.6 "Snow Leopard".
Rosetta is neither included nor supported in
Mac OS X 10.7 "Lion" (released in 2011) or later.
Because of the greater architectural differences between Intel and PowerPC processors, Rosetta operates at a higher level than the 68000 emulator does, as a
user-level program that can only intercept and emulate user-level code. It translates
G3,
G4, and
AltiVec instructions, but not
G5. Although most commercial software for PowerPC-based Macs was compatible with these requirements and G4 systems were still widely used, developers must update any applications that rely on G5-specific instructions to work on Rosetta. Apple advised that applications with heavy user interaction but low computational needs (such as
word processor A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Early word processors were stand-alone devices dedicated to the function, but current word ...
s) would be best suited to use with Rosetta, and applications with high computational needs (such as games,
AutoCAD
AutoCAD is a 2D and
3D computer-aided design (CAD) software application developed by Autodesk. It was first released in December 1982 for the CP/M and IBM PC platforms as a desktop app running on microcomputers with internal graphics control ...
, or
Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe for Windows and macOS. It was created in 1987 by Thomas and John Knoll. It is the most used tool for professional digital art, especially in raster graphics editin ...
) would not.
Rosetta 2
In 2020, Apple announced Rosetta 2 would be bundled with
macOS Big Sur
macOS Big Sur (version 11) is the seventeenth software versioning, major release of macOS, Apple Inc., Apple's operating system for Macintosh computers. It was announced at Apple's Worldwide Developers Conference (WWDC) on June 22, 2020, and w ...
, to aid in the
Mac transition to Apple silicon
The Mac transition to Apple silicon was the process of switching the central processing units (CPUs) of Apple's line of Mac computers from Intel's x86-64 processors to Apple-designed Apple silicon ARM64 systems-on-a-chip.
Apple CEO Tim Coo ...
. The software permits many applications compiled exclusively for execution on
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
-based processors to be translated for execution on Apple silicon.
In addition to the
just-in-time (JIT) translation support, Rosetta 2 offers
ahead-of-time compilation
In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount ...
(AOT), with the x86-64 code fully translated, just once, when an application without a universal binary is installed on an Apple silicon Mac.
Rosetta 2's performance has been praised greatly. In some benchmarks, x86-64-only programs performed better under Rosetta 2 on M1 than native x86-64. One of the key reasons why Rosetta 2 provides such a high level of translation efficiency is the support of x86-64
memory ordering
Memory ordering is the order of accesses to computer memory by a CPU. Memory ordering depends on both the order of the instructions generated by the compiler at compile time and the execution order of the CPU at runtime. However, memory order is ...
in the M1 SoC. The SOC also has dedicated instructions for computing x86 flags.
Since
macOS Ventura
macOS Ventura (version 13) is the nineteenth major release of macOS, Apple's operating system for Macintosh computers. The successor to macOS Monterey, it was announced at WWDC 2022 on June 6, 2022, and launched on October 24, 2022. macOS V ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
guest operating system
Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization emulates the hardw ...
virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
s can install Rosetta 2 as a guest runtime binary to run x86-64 Linux apps.
At
WWDC
The Worldwide Developers Conference (WWDC) is an information technology conference held annually by Apple Inc. The conference is currently held at Apple Park in California. The event is used to showcase new software and technologies in the macO ...
2025, Apple stated that most Rosetta 2 features will be removed from macOS with version 28 in 2027, with support limited to unmaintained games.
See also
* – combined 68k/PPC applications that run natively on both processors
*
Mac 68k emulator – a similar feature in
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
that translates
680x0 instructions to
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
instructions
*
Universal binary – combined PPC/Intel applications that run natively on both processors
*
Universal 2 binary – combined Intel/ARM applications that run natively on both processors
References
External links
*
*
*
Does it ARM?Rosetta 2 compatibility index
{{DEFAULTSORT:Rosetta (Software)
MacOS-only software made by Apple Inc.
MacOS emulation software
MacOS
PowerPC emulators
x86 emulators
Department of Computer Science, University of Manchester
Rosetta Stone in popular culture