Apple offers improved Linux support in macOS Ventura

Penguin fans will be able to use Rosetta 2 to run x86 binaries in forthcoming update


Apple is extending support for its Rosetta 2 x86-64-to-Arm binary translator to Linux VMs running under the forthcoming macOS 13, codenamed Ventura.

The next version of macOS was announced at Apple's World Wide Developer Conference on Monday, and the new release has a number of changes that will be significant to Linux users. The company has disclosed the system requirements for the beta OS, which you can read on the preview page.

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

The primary focus is naturally on newer Macs with Apple's own Arm-based M1 processors. For those, an interesting new feature is support for Rosetta 2 under Arm Linux distros.

Those out of the loop may want to refer back to our coverage of the launch of the Arm Macs. The original Rosetta, in Mac OS X 10.4 to 10.6, let you run PowerPC apps on early Intel Macs, using tech subsequently acquired by IBM.

Rosetta 2 does similar but better for x86-64 apps on Arm-flavored macOS. It not only translates x86-64 machine code into Arm code, but it caches it for later, too.

macOS has had a built-in hypervisor since macOS 10.10 "Yosemite" in 2014. More recently, Apple has improved the hypervisor's features. For instance, it gained Virtio support on macOS 12. Virtio means that OSes running in virtual machines "know" that they are guests, and can request services from the host via special drivers rather than emulated hardware.

But one thing the integral hypervisor can't do is run an x86-64 OS in a VM on an Arm Mac. That would be asking an awful lot of a tool that's intended to translate a single app at a time. The new feature is the next best thing: it extends the Rosetta 2 translation functionality into guest OSes running under macOS 13.

On an M1 Mac, the built-in hypervisor can only run operating systems compiled for the Arm instruction set, and for now, that does not include Windows. Instead, what the new functionality will do is let an Arm-architecture Linux running under macOS 13 ask the host OS to translate x86-64 binaries for it. This should allow x86-64 Linux applications to run under Arm Linux under macOS.

While an interesting technological trick, this does seem very specialized. Most Linux apps are open source and can, in principle, just be recompiled to run on Arm, but there are some which are closed source: Google Chrome is a popular example. The thing is, many of those already have native macOS versions. And of course there is WINE, but there's already a native macOS WINE, including on Arm.

One target audience may be Docker developers working on Macs. This will enable them to work with x86-64 containers on M1 Macs.

We can't help but wonder if calling Rosetta 2 from Linux is just a step towards some larger goal, but we can't yet guess what that might be. ®

Bootnote

It would be remiss of us not to mention that, although Microsoft does not currently support Windows on Apple Silicon, an intrepid third-party developer is trying to do exactly that. It reminds us of the competition to shoehorn Windows XP onto early Intel Macs way back in 2006. This currently uses the same "m1n1" hypervisor as Asahi Linux.


Other stories you might like

  • Workers win vote to form first-ever US Apple Store union
    Results set to be ratified by labor board by end of the week

    Workers at an Apple Store in Towson, Maryland have voted to form a union, making them the first of the iGiant's retail staff to do so in the United States.

    Out of 110 eligible voters, 65 employees voted in support of unionization versus 33 who voted against it. The organizing committee, known as the Coalition of Organized Retail Employees (CORE), has now filed to certify the results with America's National Labor Relations Board. Members joining this first-ever US Apple Store union will be represented by the International Association of Machinists and Aerospace Workers (IAM).

    "I applaud the courage displayed by CORE members at the Apple store in Towson for achieving this historic victory," IAM's international president Robert Martinez Jr said in a statement on Saturday. "They made a huge sacrifice for thousands of Apple employees across the nation who had all eyes on this election."

    Continue reading
  • FabricScape: Microsoft warns of vuln in Service Fabric
    Not trying to spin this as a Linux security hole, surely?

    Microsoft is flagging up a security hole in its Service Fabric technology when using containerized Linux workloads, and urged customers to upgrade their clusters to the most recent release.

    The flaw is tracked as CVE-2022-30137, an elevation-of-privilege vulnerability in Microsoft's Service Fabric. An attacker would need read/write access to the cluster as well as the ability to execute code within a Linux container granted access to the Service Fabric runtime in order to wreak havoc.

    Through a compromised container, for instance, a miscreant could gain control of the resource's host Service Fabric node and potentially the entire cluster.

    Continue reading
  • Linus Torvalds says Rust is coming to the Linux kernel 'real soon now'
    Maintainer lack of familiarity won't be an issue, chief insists, citing his own bafflement when faced with Perl

    At The Linux Foundation's Open Source Summit in Austin, Texas on Tuesday, Linus Torvalds said he expects support for Rust code in the Linux kernel to be merged soon, possibly with the next release, 5.20.

    At least since last December, when a patch added support for Rust as a second language for kernel code, the Linux community has been anticipating this transition, in the hope it leads to greater stability and security.

    In a conversation with Dirk Hohndel, chief open source officer at Cardano, Torvalds said the patches to integrate Rust have not yet been merged because there's far more caution among Linux kernel maintainers than there was 30 years ago.

    Continue reading

Biting the hand that feeds IT © 1998–2022