Repolode
linuxkid473

linuxkid473/maclator

reverse-Rosettaレイヤーでarm64コードをエミュレートし、必要に応じてMetalをホストGPUにブリッジすることで、Intel Mac上でarm64版macOSアプリを実行します。

代替できる製品:Rosetta 2

スター
424
フォーク
35
未解決の Issue
7
最終コミット
7 日前

これは何?

Maclatorは、arm64 Mach-Oバイナリをarm64版macOSユーザーランド(dyldおよびarm64e dyld shared cache)とともに読み込み、インタープリターとx86-64 JITを使ってarm64コードを実行します。システムコールとMachトラップは、動作が一致する場合はIntelホストのカーネルに渡し、一致しない場合はエミュレートします。ユーザーランドはApple Silicon搭載MacのmacOSイメージからユーザー自身がダウンロードする必要があり、リポジトリにはAppleのバイナリは含まれていません。

このプロジェクトは、新しいmacOSの機能やarm64専用アプリを利用できなくなったIntel Macを対象としています。Metal呼び出しをIntel MacのGPUにブリッジでき、ANGLE/Metalアクセラレーションを使うarm64版Chromiumでその様子を確認できます。READMEにはfastfetch、小規模なAppKit製計算機、VS CodeやElectronベースのアプリなど、動作する例が記載されています。一方、オーディオ、大半のIOKitハードウェア、サンドボックス化されたアプリ、CAMetalLayerベースのアプリにはまだ対応していません。

MaclatorはMITライセンスの実験的な研究プロジェクトです。Intel MacでmacOS 26が必要で、初回のsysrootダウンロード用に約10 GBのディスク容量が必要です。

主な機能

  • 01インタープリターとx86-64 JITを使って、Intel Mac上でarm64版macOSバイナリを実行します。
  • 02ユーザーがApple Silicon搭載Macのイメージからダウンロードしたarm64e dyld shared cacheを読み込みます。
  • 03互換性のあるシステムコールとMachトラップをホストカーネルに渡し、それ以外はエミュレートします。
  • 04Metal呼び出しをIntel MacのGPUにブリッジし、Chromiumのハードウェアアクセラレーションを可能にします。
  • 05AOTキャッシュを備え、セットアップ、使い方、トラブルシューティングのガイドを用意しています。

ユースケース

  • macOSをアップグレードできない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 bridgeをビルドし、~/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 とは?
reverse-Rosettaレイヤーでarm64コードをエミュレートし、必要に応じてMetalをホストGPUにブリッジすることで、Intel Mac上でarm64版macOSアプリを実行します。 Maclatorは、arm64 Mach-Oバイナリをarm64版macOSユーザーランド(dyldおよびarm64e dyld shared cache)とともに読み込み、インタープリターとx86-64 JITを使ってarm64コードを実行します。システムコールとMachトラップは、動作が一致する場合はIntelホストのカーネルに渡し、一致しない場合はエミュレートします。ユーザーランドはApple Silicon搭載MacのmacOSイメージからユーザー自身がダウンロードする必要があり、リポジトリにはAppleのバイナリは含まれていません。
maclator は無料で使えますか?ライセンスは?
maclator は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
maclator は今もメンテナンスされていますか?
活発にメンテナンス中。maclator の最終コミットは 2026年10月31日 です。
maclator は何に使えますか?
macOSをアップグレードできないIntel Macで、arm64専用のコマンドラインツールを実行する。 VS Codeなどのarm64版ElectronアプリがIntelハードウェア上でどう動作するかをテストする。 バイナリ変換、JITコンパイル、macOSのシステムコールエミュレーションを研究する。
maclator のインストール方法は?
リポジトリをクローンする: git clone https://github.com/linuxkid473/maclator && cd maclator maclatorとGPU bridgeをビルドし、~/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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト