macOS 13 Adding Ability To Use Rosetta In ARM Linux VMs For Speedy x86_64 Linux Binaries
Besides the great engineering that has gone into Apple Silicon, making the Arm-based Macs feasible has been their Rosetta software that does a mighty damn fine job at running Intel (x86_64) macOS binaries on Apple Silicon Macs with great performance. From my own testing of the Apple M1 and Rosetta's binary translation performance for x86_64 applications on the Armv8 Mac Mini, it's done a mighty impressive job -- and seems to be the case at large considering the success of the new Macs and limited issues with the Rosetta x86_64 translation.
With macOS 13, Apple has announced that Apple Silicon systems running ARM Linux virtual machines will now be able to access Rosetta for translating of x86_64 Linux binaries... In other words, great Linux x86_64 support when running within Linux (Arm-based) VMs.
This Rosetta access is done using the macOS Virtualization Framework. This Rosetta integration does not allow using Linux x86_64 distributions on Apple Silicon Macs but simply the user-space application binary support within the VMs using an Arm Linux host. Similarly, this Rosetta use depends on the macOS Virtualization Framework and any other integrations so will not work outside of macOS -- i.e. no luck running on non-Apple ARM Linux servers or Asahi Linux and the like wanting to run bare metal on Apple Macs.
More details via the Apple documentation. There will also be a WWDC presentation tomorrow on the topic of Arm Linux VMs.
It will be very interesting to see how well this Rosetta for Linux x86_64 binaries works out in practice and how the performance and reliability is compared to the open-source Box86/Box64 and FEX-Emu solutions for x86_64 Linux binaries on AArch64. It will also be interesting to see if ultimately this works well for graphics programs too and if Vulkan be wrangled to work in the stack using the likes of MoltenVK for in turn allowing Linux games to work on Apple Silicon -- or Steam Play for Windows games on Linux on macOS.