独自のarm64エミュレーターを使い、iPhoneやiPadにmacOSをダウンロード・インストールして実行するiOS/iPadOSアプリ。
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
リポジトリをクローンする
git clone https://github.com/linuxkid473/maclator && cd maclator - 2
maclatorとGPU bridgeをビルドし、~/binにインストールする
scripts/install.sh - 3
arm64e dyld共有キャッシュ(約5.5 GB)を~/maclator-sysrootにダウンロードする
scripts/fetch-sysroot.sh - 4
maclatorでarm64バイナリを実行する
maclator ./some-arm64-binary
使う前に知っておきたいこと
- 実験的な研究プロジェクトです。多くのアプリは動作しません。
- macOS 26を実行するIntel Macと、約10 GBの空きディスク容量が必要です。
- オーディオ、ほとんどのIOKitハードウェア、サンドボックス化されたアプリ、CAMetalLayerベースのアプリには対応していません。
収録されている特集
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
QEMUをベースにした軽量なCPUエミュレータフレームワーク。アーキテクチャに依存しないAPIで、複数のアーキテクチャのマシンコードを実行できます。
macOSとLinuxにPHP 5.6〜8.7の複数バージョンをインストールできるHomebrew tap。
AndroidエミュレーターやAndroidスマートフォン、iOSシミュレーター、iPhoneを並べてミラーリング・操作・設定変更できる、無料のオープンソースmacOSアプリ。
Apple Silicon搭載MacでWineを使い、Windowsアプリやゲームを実行するためのSwiftUI製GUIラッパー。