Apple offers enhanced Linux support for macOS Ventura

Apple is expanding support for its Rosetta 2 x86-64-to-Arm binary translator to Linux virtual machines running under the upcoming macOS 13, codenamed Ventura.

The next version of macOS was announced Monday at Apple’s World Developers Conference, and the new version has a number of changes that will be significant for Linux users. The company has revealed the system requirements for the beta operating system, which you can read on the preview page.

One level of relevance of Linux is that macOS 13 still supports Intel-based Macs, but only recent ones, made in 2017 and later. Thus, the owners of older machines, including the author, will soon be cut. Some will run Windows with Bootcamp, but others will of course switch to Linux.

The main focus, of course, is on newer Macs with M1 processors based on Apple’s Arm. For these, an interesting new feature is support for Rosetta 2 on Arm Linux distributions.

Those outside the loop may want to refer to our Arm Macs release coverage. The original Rosetta, in Mac OS X 10.4 to 10.6, allows you to run PowerPC applications on the first Intel Macs, using technology later acquired by IBM.

Rosetta 2 does similar, but better for x86-64 applications on Arm-like macOS. It not only translates the x86-64 machine code to the Arm code, but also stores it for later.

macOS has a built-in hypervisor since macOS 10.10 “Yosemite” in 2014. More recently, Apple has improved the functions of the hypervisor. For example, it got Virtio support for macOS 12. Virtio means that operating systems running on virtual machines “know” that they are invited and can request services from the host through special drivers instead of emulated hardware.

But one thing the full-featured hypervisor can’t do is run an x86-64 operating system on a virtual machine on an Arm Mac. This would require a large number of tools that intend to translate only one application at a time. The new feature is the next best: Extending Rosetta 2 translation functionality to guest operating systems running macOS 13.

On a Mac M1, the built-in hypervisor can only run compiled operating systems for the Arm instruction set, and for now, that doesn’t include Windows. Instead, what the new feature will do is let an Arm of Linux architecture running macOS 13 ask the host operating system to translate the x86-64 binaries. This should allow Linux x86-64 applications to run on Arm Linux with macOS.

While it’s an interesting tech trick, it seems very specialized. Most Linux applications are open source, and in principle can only be compiled to run on Arm, but some are closed source: Google Chrome is a popular example. The fact is that many of them already have native versions of macOS. And of course there is WINE, but there is already a native macOS WINE, included in Arm.

A target audience may be Docker developers working on Mac. This will allow them to work with x86-64 containers on Mac M1.

We can’t help but wonder if calling Rosetta 2 from Linux is just a step towards a bigger goal, but we still can’t guess what it could be. ®

note of the ship

It would be negligent not to mention that while Microsoft does not currently support Windows in Apple Silicon, a fearless third-party developer is trying to do just that. It reminds us of the competition to incorporate Windows XP into the first Intel Macs in 2006. It currently uses the same “m1n1” hypervisor as Asahi Linux.

Leave a Comment

Your email address will not be published. Required fields are marked *