Repolode
linuxkid473

linuxkid473/maclator

Runs arm64 macOS apps on Intel Macs by emulating arm64 code in a reverse-Rosetta layer, with optional Metal bridging to the host GPU.

Open-source alternative to:Rosetta 2

Stars
424
Forks
35
Open issues
7
Last commit
8 days ago

What is it?

Maclator loads an arm64 Mach-O binary together with the arm64 macOS userland (dyld and the arm64e dyld shared cache) and executes the arm64 code using an interpreter plus an x86-64 JIT. System calls and Mach traps are passed to the Intel host kernel where semantics match and emulated where they do not. The userland must be downloaded by the user from an Apple Silicon macOS image; the repository itself contains no Apple binaries.

The project targets Intel Macs that can no longer get newer macOS features or apps built only for arm64. Metal calls can be bridged to the Intel machine's GPU, which the project demonstrates with an arm64 Chromium build using ANGLE/Metal acceleration. Its README lists working examples such as fastfetch, a small AppKit calculator, VS Code and Electron-based apps, while audio, most IOKit hardware, sandboxed apps and CAMetalLayer-based apps are not yet supported.

Maclator is an experimental research project under the MIT license, requiring macOS 26 on an Intel Mac and roughly 10 GB of disk for the one-time sysroot download.

Key features

  • 01Executes arm64 macOS binaries on Intel Macs using an interpreter and x86-64 JIT.
  • 02Loads the arm64e dyld shared cache from a user-downloaded Apple Silicon image.
  • 03Forwards compatible syscalls and Mach traps to the host kernel and emulates the rest.
  • 04Bridges Metal calls to the Intel Mac's GPU, enabling hardware-accelerated Chromium.
  • 05Includes an AOT cache and documented setup, usage and troubleshooting guides.

Use cases

  • Running arm64-only command-line tools on an Intel Mac that cannot upgrade macOS.
  • Testing how arm64 Electron apps such as VS Code behave on Intel hardware.
  • Researching binary translation, JIT compilation and macOS system call emulation.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/linuxkid473/maclator && cd maclator
  2. 2

    Build and install maclator and the GPU bridge to ~/bin

    scripts/install.sh
  3. 3

    Download the arm64e dyld shared cache (about 5.5 GB) into ~/maclator-sysroot

    scripts/fetch-sysroot.sh
  4. 4

    Run an arm64 binary with maclator

    maclator ./some-arm64-binary

Things to know

  • Experimental research project; many apps will not run.
  • Requires an Intel Mac running macOS 26 with about 10 GB of free disk space.
  • Audio, most IOKit hardware, sandboxed apps and CAMetalLayer-based apps are not supported.

In collections

Topics

#emulator#arm64#macos#jit#binary-translation#metal#intel-mac#rosetta

FAQ

What is maclator?
Runs arm64 macOS apps on Intel Macs by emulating arm64 code in a reverse-Rosetta layer, with optional Metal bridging to the host GPU. Maclator loads an arm64 Mach-O binary together with the arm64 macOS userland (dyld and the arm64e dyld shared cache) and executes the arm64 code using an interpreter plus an x86-64 JIT. System calls and Mach traps are passed to the Intel host kernel where semantics match and emulated where they do not. The userland must be downloaded by the user from an Apple Silicon macOS image; the repository itself contains no Apple binaries.
Is maclator free to use? What license does it have?
maclator is open source under the MIT license. Check the license terms before using it in commercial products.
Is maclator still maintained?
Actively maintained. The last commit to maclator was on Oct 31, 2026.
What can I use maclator for?
Running arm64-only command-line tools on an Intel Mac that cannot upgrade macOS. Testing how arm64 Electron apps such as VS Code behave on Intel hardware. Researching binary translation, JIT compilation and macOS system call emulation.
How do I install maclator?
Clone the repository: git clone https://github.com/linuxkid473/maclator && cd maclator Build and install maclator and the GPU bridge to ~/bin: scripts/install.sh Download the arm64e dyld shared cache (about 5.5 GB) into ~/maclator-sysroot: scripts/fetch-sysroot.sh Run an arm64 binary with maclator: maclator ./some-arm64-binary
Where can I get maclator?
The source code and installation instructions are on GitHub: https://github.com/linuxkid473/maclator

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects