Stela
一个面向 x86-64 PC 的通用 Apple Silicon 层。它是一个 UEFI 启动程序,包含 arm64 到 x86-64 的翻译器、面向 NVIDIA GPU 的 Metal 驱动以及 Apple silicon 硬件的模型。macOS 和大多数应用可以启动,但速度很慢,且截至 v0.1.0 仍需大量测试。
Stela 仍处于开发阶段。目前它成功启动的几率很低,重大硬件支持与修复正在推进中。
Translator
一个提前编译(ahead-of-time)与即时编译(just-in-time)编译器将 arm64e 代码翻译为 x86-64。它覆盖超过 3,000 种 AArch64 指令编码,将客户机寄存器映射到主机寄存器,并缓存翻译后的代码。它可在任意 x86-64-v2 CPU 上运行,Intel 或 AMD 均可。
NVIDIA driver
该 Metal 驱动支持 GTX 16 和 RTX 20 系列及更新的 GPU。它将 AIR(Metal 的着色器 IR)直接编译为 NIR(Mesa 的 IR),并支持 Metal3 和 Apple7 GPU 家族。
Requirements
- 一个 x86-64-v2 CPU(约 2011 年或更新),关闭 Secure Boot 的 UEFI,8 GB 内存。
- 一块 NVIDIA GTX 16 或 RTX 20 系列或更新的 GPU。
- 一个 8 GB 或更大的 USB 盘。
- 一个至少 60 GB 的空 GPT 分区。
- 安装期间需要网络访问,用于下载 macOS。
Stela 目前模拟 Mac mini (M2),运行 macOS 27。
Install
- 从 releases 页面下载 stela。
- 运行 sudo ./stela setup(Linux、macOS)或双击 stela.exe(Windows)。
- 选择 USB 盘、macOS 版本和 Mac 机型,然后确认。安装程序会擦除 USB 盘。
- 从 USB 盘启动 PC。
要更新用旧版本制作的 USB 盘,请下载新的 stela,插入该盘并运行 sudo ./stela setup update stela(Linux、macOS)或 stela.exe setup update stela(Windows)。
Build
你需要 Rust 以及 Clang 21 或更新版本的 LLVM。
git clone https://github.com/tylertms/Stela
cd Stela
cargo xtask dist
这会生成 target/release/stela。首次构建会获取并编译 Linux、Mesa 和 LLVM 源码,耗时较长。
Legal
Stela 不包含任何 Apple 软件。你有责任遵守 Apple 的软件许可协议和使用条款。
Stela 的代码采用 GPL-2.0-or-later。参见 LICENSE 和 NOTICE。
Community
Discord Server