开源项目 Stela 让 x86 PC 运行 Apple Silicon 程序
Stela 是一个 GPL-2.0 开源 UEFI 启动程序,通过 arm64e 到 x86-64 的 AOT/JIT 翻译器、面向 NVIDIA 显卡的 Metal 驱动以及 Apple Silicon 硬件模型,让普通 x86-64 PC 尝试启动 macOS 与多数应用。项目当前处于 v0.1.0,速度缓慢且兼容性有限,官方坦言启动成功率低,仍需大量硬件适配与测试。
报道正文
本文目录7 个章节
Stela
A general purpose Apple Silicon layer for x86-64 PCs. It is a UEFI boot program with an arm64-to-x86-64 translator, a Metal driver for NVIDIA GPUs and a model of Apple silicon hardware. macOS and most apps start, but it is slow and needs much more testing, as of v0.1.0
[!WARNING] Stela is very much still in development. Your current chances of it booting are low, major hardware support/fixes are on the way.
Translator
An ahead-of-time and just-in-time compiler translates arm64e code to x86-64. It covers more than 3,000 AArch64 instruction encodings, maps guest registers to host registers and caches translated code. It runs on any x86-64-v2 CPU, Intel or AMD.
NVIDIA driver
The Metal driver supports GTX 16 and RTX 20 series GPUs and newer. It compiles AIR, Metal's shader IR, directly to NIR, Mesa's IR, and supports the Metal3 and Apple7 GPU families.
Requirements
- An x86-64-v2 CPU (about 2011 or newer), UEFI with Secure Boot off, 8 GB of RAM.
- An NVIDIA GTX 16 or RTX 20 series GPU or newer.
- A USB stick of 8 GB or more.
- An empty GPT partition of at least 60 GB.
- Network access during the install, which downloads macOS.
Stela currently models the Mac mini (M2) and runs macOS 27.
Install
- Download
stelafrom the releases page. - Run
sudo ./stela setup(Linux, macOS) or double-clickstela.exe(Windows). - Choose the USB stick, the macOS version and the Mac model, then confirm. Setup erases the USB stick.
- Boot the PC from the USB stick.
Build
You need Rust and LLVM with Clang 21 or newer.
git clone https://github.com/tylertms/Stela
cd Stela
cargo xtask distThis writes target/release/stela. The first build fetches and compiles
Linux, Mesa and LLVM sources and takes a long time.
Legal
Stela contains no Apple software. You are responsible for following Apple's software license agreement and terms of use.
Stela's code is GPL-2.0-or-later. See LICENSE and NOTICE.