Repolode
linuxkid473

linuxkid473/maclator

在 Intel Mac 上运行 arm64 macOS 应用的“反向 Rosetta”模拟器,可将 Metal 调用桥接到主机 GPU。

可替代:Rosetta 2

Star
424
Fork
35
未关闭 Issue
7
最近提交
7天前

这是什么?

Maclator 会同时加载 arm64 Mach-O 可执行文件与 arm64 macOS 用户态环境(dyld 及 arm64e dyld 共享缓存),通过解释器加 x86-64 JIT 执行 arm64 代码。系统调用和 Mach trap 在语义一致时交给 Intel 主机内核处理,不一致时由模拟层实现。用户态文件需从 Apple Silicon 的 macOS 镜像中自行下载,仓库本身不包含 Apple 二进制文件。

该项目面向已无法升级系统、又希望运行仅支持 arm64 应用的 Intel Mac。Metal 调用可桥接到 Intel 机器的 GPU,项目演示了 arm64 版 Chromium 通过 ANGLE/Metal 实现硬件加速。目前已可运行的示例包括 fastfetch、简单的 AppKit 计算器、VS Code 及部分 Electron 应用;音频、大部分 IOKit 硬件、沙盒应用和基于 CAMetalLayer 的应用尚不支持。

Maclator 是一个处于实验阶段的研究项目,采用 MIT 许可证,需要运行 macOS 26 的 Intel Mac,并需约 10 GB 磁盘空间用于一次性下载系统根目录。

核心功能

  • 01通过解释器和 x86-64 JIT 在 Intel Mac 上执行 arm64 macOS 程序。
  • 02加载用户从 Apple Silicon 系统镜像下载的 arm64e dyld 共享缓存。
  • 03将兼容的系统调用和 Mach trap 转发给主机内核,其余部分由模拟层实现。
  • 04将 Metal 调用桥接到 Intel Mac 的 GPU,可使 arm64 版 Chromium 硬件加速。
  • 05提供 AOT 缓存,以及安装、使用和排障文档。

适用场景

  • 在无法升级系统的 Intel Mac 上运行仅支持 arm64 的命令行工具。
  • 测试 VS Code 等 arm64 Electron 应用在 Intel 硬件上的表现。
  • 研究二进制翻译、JIT 编译以及 macOS 系统调用模拟。

快速上手

  1. 1

    克隆仓库

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

    构建 maclator 和 GPU 桥接组件并安装到 ~/bin

    scripts/install.sh
  3. 3

    将 arm64e dyld 共享缓存(约 5.5 GB)下载到 ~/maclator-sysroot

    scripts/fetch-sysroot.sh
  4. 4

    使用 maclator 运行 arm64 二进制文件

    maclator ./some-arm64-binary

使用前须知

  • 这是实验性研究项目,许多应用无法运行。
  • 需要运行 macOS 26 的 Intel Mac,并且至少约 10 GB 可用磁盘空间。
  • 不支持音频、大多数 IOKit 硬件、沙盒化应用以及基于 CAMetalLayer 的应用。

收录于专题

标签

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

常见问题

maclator 是什么?
在 Intel Mac 上运行 arm64 macOS 应用的“反向 Rosetta”模拟器,可将 Metal 调用桥接到主机 GPU。 Maclator 会同时加载 arm64 Mach-O 可执行文件与 arm64 macOS 用户态环境(dyld 及 arm64e dyld 共享缓存),通过解释器加 x86-64 JIT 执行 arm64 代码。系统调用和 Mach trap 在语义一致时交给 Intel 主机内核处理,不一致时由模拟层实现。用户态文件需从 Apple Silicon 的 macOS 镜像中自行下载,仓库本身不包含 Apple 二进制文件。
maclator 可以免费使用吗?用的什么许可证?
maclator 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
maclator 还在维护吗?
活跃维护中。maclator 最近一次提交是在 2026年10月31日。
maclator 适合用来做什么?
在无法升级系统的 Intel Mac 上运行仅支持 arm64 的命令行工具。 测试 VS Code 等 arm64 Electron 应用在 Intel 硬件上的表现。 研究二进制翻译、JIT 编译以及 macOS 系统调用模拟。
maclator 怎么安装和运行?
克隆仓库: git clone https://github.com/linuxkid473/maclator && cd maclator 构建 maclator 和 GPU 桥接组件并安装到 ~/bin: scripts/install.sh 将 arm64e dyld 共享缓存(约 5.5 GB)下载到 ~/maclator-sysroot: scripts/fetch-sysroot.sh 使用 maclator 运行 arm64 二进制文件: maclator ./some-arm64-binary
在哪里获取 maclator?
源代码和安装说明在 GitHub 上:https://github.com/linuxkid473/maclator

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目