AppleはWWDCでゲーム移植ツールキットを発表しました。開発者はmacOSへの移植前に、WindowsゲームがApple Silicon上でどのように動作するかを確認できるようになりました。ツールキットのインストールと使い方をご紹介します。
WWDC '23 で、Apple は Game Porting Toolkit (GPTK) をリリースしました。これは基本的に、Apple Silicon Mac で Windows ゲームを実行できるようにする WINE API 変換テクノロジの再パッケージ版です。
WINE は、Windows ネイティブの DirectX およびその他の API 呼び出しを、Apple の Metal グラフィック エンジンおよび UNIX の一部である標準 POSIX API にマッピングすることで、Mac 上で動作します。
WINEはMacのネイティブAPIへの直接的なブリッジングと変換を提供することで、Windowsゲームをネイティブ速度で実行することを可能にします。MetalはApple Silicon Macで効率的に動作するように最適化されているため、Windowsゲームをネイティブに近い速度で実行できます。
WINE はエミュレーターではなく、Mac 上のネイティブ API への Windows の直接マッピングを提供します。
SteamのProton移植ツールと同様に、GPTKを使用すると、Apple Silicon MacにほとんどのWindowsゲームをインストールして実行できますが、すべてではありません。WINEはまだ進化を続けているため、将来的には互換性の向上が期待できます。
ただし、GPTKのセットアッププロセスは少し複雑で、ターミナルスキルが必要です。また、多くのソフトウェアコンポーネントをダウンロードしてソースコードからビルドする必要があるため、インストールには1時間以上かかります。
GPTKのRead Meにはかなり詳しい説明が記載されており、複数のゲームブロガーがさらに詳しい説明をオンラインで公開しています。ここではそれらの説明を簡潔にまとめたいと思います。
macOS SonomaとGPTKのインストール
GPTK をインストールするには次のものが必要です:
- Apple Silicon Mac
- Apple開発者アカウント
- macOS Sonoma ベータ3以降
- Xcode 15 ベータ版
- Xcode 15 ベータ版のコマンドラインツール
- Intel x86版Homebrewパッケージマネージャー
- Apple Silicon Mac 向け Apple Rosetta 2 エミュレータ
- ゲーム移植ツールキット .dmg ダウンロード
上記のコンポーネントを入手するには、まず Apple ID を使用して Apple Developer アカウントにログインし、次にhttps://developer.apple.com/download/にアクセスして macOS 14 ベータ 3 をダウンロードします。
macOS ベータ版をダウンロードした後、https://developer.apple.com/download/all/から開発者コンポーネントを入手します。
Xcode 15 ベータ 4、Xcode 15 ベータ 4 用のコマンド ライン ツール、および Game Porting Toolkit ベータ 1.0.2 のダウンロードが必要になります。
まず外付けストレージデバイスを用意し、そこにmacOS Sonomaベータ版をインストールしてください。その後、システム設定で起動ディスクとして設定し、そのボリュームから再起動して、そこからXcodeベータ版とGPTKをインストールしてください。
Sonomaベータ版は、既存のmacOS Venturaにインストールする必要があります。Appleのディスクユーティリティを使用して、外付けストレージデバイスをAPFSとして消去し、その上にmacOS Venturaを新規インストールしてください。
ディスクユーティリティで消去した外部ストレージデバイス上のすべてのデータが消去されることに注意してください。事前にMacから重要なデータをすべてバックアップしておくことをお勧めします。
macOS Ventura インストーラーは Mac App Store からダウンロードできます。
完了したら、Apple メニューから「システム設定」に移動し、左側のサイドバーで 「一般」->「起動ディスク」を選択します。
数秒後、システム設定にMacが起動できるすべてのボリュームが表示されます。Venturaをインストールしたボリュームを選択してください。
以下の例では、外付け USB ドライブに「Test」という名前のボリュームを作成しました。
新しい外部ボリュームを起動ディスクとして設定します。
[再起動]ボタンをクリックします。
Mac が Ventura の新規インストールで起動したら、ソフトウェア アップデートを実行して、すべてが最新であることを確認します。
macOS Sonoma ベータ版をインストールするには、Apple -> システム設定 -> 一般に戻りますが、今回は一般リストで ソフトウェア・アップデートを選択します。
ベータ版アップデートの行の横にある小さな情報ボタンをクリックします。
情報ボタンをクリックします。
ベータ版アップデートのスイッチがオフになっている場合は、小さなポップアップメニューをクリックし、そこからmacOS Sonomaパブリックベータを選択します。「完了」をクリックすると、ソフトウェアアップデートパネルに戻ります。
ポップアップ メニューから「Sonoma beta」を選択します。
Sonomaベータ版の新しいパネルが表示され、右側に「今すぐアップグレード」ボタンが表示されます。 「今すぐアップグレード」をクリックすると、macOSベータ版のダウンロードが開始されます。
「今すぐアップグレード」をクリックします。
ベータ版のインストールが完了すると、Macが再起動します。再起動しない場合は、再起動してください。macOS Sonomaを起動したら、Homebrewパッケージマネージャーをインストールする必要があります。
何らかの理由でベータ版アップデートのインストールに失敗した場合は、Apple のサイトからダウンロードした UniversalMac_14.0_23A5286i_Restore.ipsw ファイルを使用して手動でインストールすることもできます。
Xcodeベータ版とコマンドラインツールのインストール
次に、Xcode_15_beta_4.xip ファイル (.xip は署名された .zip ファイルです) と、インストーラーが含まれている Xcode コマンドライン ツール .dmg を解凍します。
まず、Xcode 15 ベータ版をアプリケーション フォルダーにコピーし、Finder でダブルクリックして実行し、要求された追加ツールをインストールします。
次に、AppleのサイトからダウンロードしたXcode Command Line Tools .dmgファイルを開き、Command Line Tools.pkgをダブルクリックします。インストーラーのセットアップ手順に従ってツールをインストールします。
GPTKのインストール
次に、AppleのサイトからダウンロードしたGame_porting_toolkit_beta_1.02.dmgをダブルクリックします。このディスクイメージには、3つのコマンドラインツール、Read Me、そしてlibフォルダが含まれています。libフォルダには、D3DMetal.frameworkバンドル、libd3dshared.dylib動的ライブラリ、そしてWindowsゲームへのコード変換を可能にするWindowsからPOSIXへのWINEブリッジライブラリが含まれています。
移植ツールキットライブラリのインストールには、コマンドラインとHomebrewツールを使用します。ただし、まずHomebrewとAppleのRosetta 2エミュレータが適切に動作するように設定する必要があります。
現在、HomebrewバイナリにはApple Silicon(ARM)Mac用とIntel(x86)Mac用の2つのバージョンがあります。これについては後ほど説明します。
Apple Rosetta 2 エミュレータをインストールすると、ターミナルアプリで x86 専用のシェルウィンドウを実行できるようになります。これにより、そこに入力されたコマンドは Rosetta 経由で x86 バージョンのみ実行されます。これは、GPTK のセットアップに必要なコマンドとツールを実行するために必要です。
付属の Read Me にはセットアップの完全な手順が記載されていますが、ここで簡単に説明します。
Rosettaがインストールされていることを確認してください
Mac に Rosetta エミュレータをインストールするには、ターミナル ウィンドウを開いて次のように入力します。
softwareupdate --install-rosetta
そしてReturnキーを押します。管理者パスワードの入力を求められる場合があります。
完了したら、ターミナルで次のように入力して x86 モードに入ります。
arch -x86_64 zsh
そしてReturnキーを押します。
次に、ターミナルで Homebrew の x86_64 バージョンをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
そしてReturnキーを押します。
インストールを完了するには、再度管理者パスワードの入力を求められる場合があります。
以前、Homebrew のインストール方法と使用方法について詳しく説明しました。
完了したら、ターミナルで Homebrew のインストールを確認します。
which brew
そしてReturnキーを押します。
結果がそうでない場合は、/usr/local/bin/brew
PATH 変数を変更して /usr/local/bin を先頭に置き、macOS にツールを探す場所を指示する必要があります。
PATH 環境変数は、ログイン時に、ユーザーのホーム フォルダー内の.bashrc
またはファイル、または起動ディスクのルートにあるフォルダー
内の ファイルなど、多数の構成ファイルのいずれかを使用して変更できます。.zshrc
profile
etc
次に、ターミナルで Apple Homebrew をタップします。
brew tap apple/apple http://github.com/apple/homebrew-apple
そしてReturnキーを押します。
GPTKをインストールします
ターミナルで次のように入力します:
brew -v install apple/apple/game-porting-toolkit
そしてReturnを押します。
実行中に複数のソフトウェアをダウンロードしてコンパイルするため、Mac の速度に応じて最大 1 時間ほどかかる場合があります。
GPTK の Read Me には、この手順で発生する可能性のあるエラーに関する注意事項が記載されています。
インストール中に「エラー: game-porting-toolkit: 不明またはサポートされていない macOS バージョン: :dunno」などのエラーが表示された場合、お使いの Homebrew のバージョンは macOS Sonoma をサポートしていません。最新バージョンの Homebrew に更新して、もう一度お試しください。
brew update
brew -v install apple/apple/game-porting-toolkit
WINEプレフィックスを設定する
WINEでは、Windowsと同様に仮想C:ドライブを設定できます。これはWINE用語では プレフィックスと呼ばれます。
GPTKの場合、ツールキットと実行したいゲームを同じプレフィックスにインストールします。Read Meより:
「次のコマンドを実行して、ホームディレクトリに my-game-prefix という名前の新しい Wine プレフィックスを作成します」。
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
「Wine 設定」ウィンドウが画面に表示されます。
WindowsのバージョンをWindows 10に変更します。
「適用」を選択し、「OK」を選択して winecfg を終了します。
「Wine 設定」ウィンドウが表示されず、Dock に新しいアイコンが表示されない場合は、Homebrew の x86_64 バージョンとゲーム移植ツールキット フォーミュラが正しくインストールされていることを確認してください。
WINEプレフィックスにGPTKをインストールする
この手順を実行するには、Game Porting Toolkit-1.0.2 .dmg ファイルがデスクトップにマウントされていることを確認してください。マウントされていない場合は、もう一度ダブルクリックしてマウントしてください。
上記のブリッジライブラリは、上記で作成したWINEプレフィックスにインストールする必要があります。ターミナルで以下を入力します。
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
そしてReturnキーを押します。
ditto
は、Mac 上のファイルやフォルダを完璧な精度でコピーする方法を知っている macOS コマンドライン ツールです。リソース フォーク、権限、所有権、グループ、アクセス制御リストをすべて宛先ファイルにコピーします。
には詳細モードもありますditto
。詳細については、ターミナルの ditto のマニュアルページを参照してください。
上記の行は、マウントされたゲーム移植ツールキット .dmg からブリッジング ライブラリを上記で作成した WINE プレフィックスにコピーします。
Windowsゲームをインストールする
WINEプレフィックスとGPTKの設定が完了したら、open
UNIXコマンドを使ってFinderでゲームをプレフィックス(C:ドライブ)にコピーすることで、Windowsゲームをプレフィックスにコピーできます。例:
open ~/my-game-prefix/drive_c
これにより、Finder の新しいウィンドウで C: ドライブが開き、Windows ゲームのバイナリをコピーできます。C: ドライブは、Mac のデスクトップ上の他のボリュームと同じように機能します。
WindowsゲームをWINEで実行する
ついに、WINE を使用してゲームを実行する準備が整いました。
これを行うには、コマンドラインでコマンド にgameportingtoolkit
続けて、WINEプレフィックスパス、ドライブ文字(この場合はC:)、そして上記でコピーしたゲームバイナリへのフルパスを指定します。例えば:
gameportingtoolkit ~/my-game-prefix 'C:\Program Files\MyGame\MyGame.exe'
WINE C: ドライブの \ProgramFIles\MyGame にある MyGame という名前のゲームを起動します。
デフォルトでは、ゲームは Metal Heads Up Display で起動しますが、代わりに次のコマンドを使用して HUD を抑制することができますgameportingtoolkit-no-hud
。
gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files\MyGame\MyGame.exe'
Read Me には、ゲームの互換性を高めるために ESYNC を無効にするなどの他のオプションの詳細が記載されています。
AppleのGPTKはMacゲームにとってエキサイティングな新機能であり、進化と改善が進むにつれて、多くのWindowsゲームをMacでネイティブに近い速度で実行できるようになると期待されています。つまり、すべてのApple Silicon MacがWindowsゲームの世界へと一気に開かれるということです。
また、完成すれば、ゲーム開発者はゲームを Mac に移植する必要がなくなり、ほとんどの Windows タイトルが初日から Mac でプレイ可能になります。
また、Mac でのゲームプレイをさらに強化する macOS Sonoma のゲームモードもぜひチェックしてください。