大多數的人應該都知道 MacBook 因為用料好、設計優良,用超過十年只換過電池而且還正常服役的機子大有人在,但隨著蘋果全面轉向 M 系列晶片後,越來越多的軟體就不支援 Intel 處理器的老蘋果(含黑蘋果),不過最近有一個開源專案「Maclator」,定位就是「反向 Rosetta」:讓 Intel Mac 或黑蘋果電腦可以跑 arm64 的 macOS 應用程式。
反向Rosetta來了:Maclator 讓 Intel 老 Mac 與黑蘋果運行 arm64 App
蘋果的 Rosetta 2 是讓 Apple Silicon 跑 Intel 程式,Maclator 反過來,讓 x86 的 Intel Mac 跑 arm64 程式。它載入 arm64 的 Mach-O,搭配原生的 arm64 macOS 用戶態環境執行,底層是直譯器加 x86-64 即時編譯,再配 AOT 快取。系統呼叫與 Mach trap 能直通就交給 Intel 宿主核心,語意對不上的地方再模擬,Metal 呼叫則橋接到 Intel Mac 自己的 GPU。
直譯器打底,JIT 熱了才編
Maclator 的執行核心分兩層。底層是一套 AArch64 參考直譯器,覆蓋資料處理、載入儲存、SIMD 含 FP16,是語意正確性的基準。上層是用 iced-x86 寫的 x86-64 即時編譯,冷區塊先直譯,執行超過 24 次才轉成原生碼,區塊連結用可修補槽加每執行緒間接分支快取。直譯器不只是備胎,JIT 遇到沒實作的指令會逐條退回直譯執行。跑過一次的翻譯結果存在 AOT 持久快取,下次啟動直接沿用,Electron 這種函式庫大戶第二次開明顯變快。
系統呼叫層走混合路線。BSD 系統呼叫與 Mach trap 語意對得上就直通宿主核心,對不上再模擬,libdispatch 的工作佇列、workloop 與 kevent 也自己仿了一套。[4]子行程生成也接得上,arm64 的 Mach-O 會自動用 Maclator 重新啟動並繼承參數。IOKit 只墊了最小的殼,假裝提供 Apple Silicon 限定的診斷服務,這也是多數硬體相關 App 跑不起來的根因。
法律設計頗為謹慎。專案本身不含任何 Apple 二進位檔,arm64 的用戶態環境要使用者自己從 Apple 更新伺服器經 ipsw 下載,授權責任自負。
戰績:VS Code 可打字,Chromium 吃到硬加速
作者在 Intel Core i5-4440、macOS 26.7 的老機器上驗證出一份清單。arm64 命令列工具如 fastfetch、neatvi 可跑,自帶的 AppKit 計算機可跑,VS Code 1.139 arm64 版可跑,打字延遲約 40 毫秒。最亮眼的是 Chromium 157 arm64 快照版,經 ANGLE 與 Metal 橋接吃到本機 AMD Radeon RX 460 的硬體加速,canvas 60fps,WebGL 與 WebGPU 全通。balenaEtcher 2.1.7 能啟動,裝置存取還沒測。
跑不起來的清單也很誠實:音訊、多數 IOKit 硬體、沙盒 App、Swift 重度的蘋果自家 App、CAMetalLayer 系 App 都還不行。作者在 README 置頂標示實驗性研究專案,預告用起來邊角粗糙是正常的。
GPU 橋接從 10fps 最佳化到 60fps
GPU 橋接是這個專案最硬核的部分。做法是在客端注入 arm64 的攔截函式庫,把 Metal 建裝置呼叫換成代理物件,再經由自訂系統呼叫把指令送到宿主的 x86-64 橋接函式庫執行真正的 Metal。客與宿主共用同一個位址空間,頂點與緩衝指標可以直接傳,不用拷貝。第一版走 plist 逐訊 RPC,動畫 canvas 只能跑 10fps,97% 的時間卡在單一呼叫的描述子解析。第二版改成批次快徑,同場景直接衝上 vsync 上限 60fps,400 個圓弧同屏也不掉幀。
效能文件記下 VS Code 的調校軌跡。初期敲鍵後畫面要 600 至 1400 毫秒才更新,現在壓到約 100 毫秒,按鍵分派約 39 毫秒,冷啟動到閒置從 4.5 分鐘縮到 80 秒。立功的是原子操作與 NEON 向量指令的原生 JIT、V8 頻繁改寫程式碼時的精準失效、更大的分支快取,以及 Electron 函式庫的 AOT 持久化。測試機只是 Haswell i5 加 12GB 記憶體,數字就是在這種老硬體上量的。
從閉源套娃到開源,半個月走完
作者 Signal_Reference746 半個月前在 r/hackintosh 發文,當時 Maclator 還是閉源,只能跑 Rosetta 套 Maclator 的套娃,連 GUI 都起不來,目標是年底跑起 NetSurf 瀏覽器。當時他不敢開源,怕大家 clone 下去發現和想像差太多。兩週後專案開源,有人做了 GUI 版,支援多開 arm64 App,還有人補上 macOS 15 支援。從套娃實驗到 VS Code 可用,前後不到一個月。
Reverse Rosetta (ARM64 to x86-64 Translator)
byu/Signal_Reference746 inhackintosh
開發流程也有章法。安裝要 Intel Mac 跑 macOS 26 Tahoe,加 Xcode 命令列工具與 Rust 工具鏈,約 10GB 磁碟空間,首次下載 5.5GB 的 arm64 共享快取。文件相當齊全,架構、GPU 橋接、效能實測、除錯各有一份獨立文件,連效能測試與 JIT 差分自測工具都附在儲存庫裡。
中國 B 站有人實測 LM Studio 能正常跑起來,後續進展值得期待,尤其是使用高階 X86 電腦跑黑蘋果的使用者:
GitHub – Maclator(覺得有用記得幫作者按星星)
結語
Maclator 證明反向 Rosetta 不是空想,Chromium 硬加速跑起來的那一刻,Intel 老 Mac 的壽命就多了一種演算法。但它仍是研究型專案,音訊與沙盒兩關沒過之前,日常主力還輪不到它。對黑蘋果與老機玩家來說,先 star 再觀望,是目前最務實的姿勢。











