Skip to content

zhaofengli/rosetta-spice

Repository files navigation

rosetta-spice (WIP)

rosetta-spice patches RosettaLinux to enable features and fix issues:

  • Enables AOT caching without involvement of the virtualization app
    • This requires the RosettaLinux version from Sonoma
  • Fixes segfaults when running patched binaries (NixOS/nixpkgs#209242)
    • No longer needed since Sonoma Beta 5 (23A5312d)!
  • Allows the use of another RosettaLinux version than what's supplied by the host

Usage

Enable the NixOS module on the guest VM. The host MacOS machine does not need modification.

Example System Flake

The NixOS module can be enabled on an aarch64-linux NixOS virtual machine via a configuration similar to the following:

{
  description = "System Configuration";

  inputs = {
     (...other inputs here...)
     rosetta-spice.url = "github:zhaofengli/rosetta-spice";
  };

  outputs = {rosetta-spice, ...}: {
    nixosConfiguration = {
      myHost = lib.nixosSystem {
        modules =
          [
            rosetta-spice.nixosModules.rosetta-spice
            (...other modules here...)
          ];
      };
    };
  };
}  

Notes

This tool does not bypass the licensing check. You must mount the Rosetta share at /run/rosetta for this to work. To quote the original message:

Rosetta is only intended to run on Apple Silicon with a macOS host using Virtualization.framework with Rosetta mode enabled

About

RosettaLinux augmentation tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published