- Apr 12, 2001
Apple yesterday announced plans to build future Macs with its own custom silicon chips, and to ease the transition away from Intel processors, Apple revived the "Rosetta" feature that allowed PowerPC apps to run on Intel processors during the PowerPC to Intel transition.
Now revived, Rosetta will allow users to run apps that contain x86_64 instructions on Apple silicon, which means Intel-based apps will continue to work on Macs using custom Apple chips.
Rosetta is meant to provide developers with time to create native versions of apps, and there are a few limitations that are worth noting. As outlined in developer documentation shared this week, while Rosetta will be able to translate most Intel-based apps, it will not work with Virtual Machine apps that virtualize x86_64 computer platforms.
That means Apple's future Macs with Apple-designed chips will not natively support running current versions of software like VMWare or Parallels to run x86 Windows within the virtualization software. Other native solutions may appear, but will require efforts from 3rd party developers.
Right now, Macs have a Boot Camp feature that allows Windows to be run on them, but Apple has announced no similar feature for Macs equipped with Apple silicon. Kernel extensions also aren't able to be translated by Rosetta.
Along with Rosetta, Apple has launched a new Universal App Quick Start Program for developers, which provides "tools, resources, and support" for testing and optimizing universal apps for macOS Big Sur.Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers. However, Rosetta doesn't translate the following executables:
- Kernel extensions
- Virtual Machine apps that virtualize x86_64 computer platforms
Rosetta translates all x86_64 instructions, but it doesn't support the execution of some newer instruction sets and processor features, such as AVX, AVX2, and AVX512 vector instructions. If you include these newer instructions in your code, execute them only after verifying that they are available. For example, to determine if AVX512 vector instructions are available, use the sysctlbyname function to check the hw.optional.avx512f attribute.
Developers can apply to participate in the program, which provides a Developer Transition Kit that looks similar to a Mac mini but is equipped with an A12Z Bionic chip from the iPad Pro as well as 16GB RAM and a 512GB SSD, among other features.
The DTK will allow developers to begin creating apps that work with both Intel chips and Apple silicon, while Rosetta will provide support during the transitionary period. Apple said it will introduce the first Mac with a custom chip in 2020, and that it would take two years to transition the entire Mac lineup to its own chips.
More information on Rosetta, how it works, and the exclusions can be found on Apple's developer website.
Article Link: Rosetta Won't Support x86 Virtualization Apps Running Windows