このエントリーをはてなブックマークに追加

Game Porting Toolkitを使う

WWDC23でWindowsからMacへ移植を支援する「Game Porting Toolkit」が発表され、Beta版もすぐにダウンロードできるようになった。
macOS 13 Venturaでも使えているという話を聞くが、AppleはmacOS 14 Sonomaとあわせた機能としている。Wineベースのものらしい。

こんな感じで動くやつ。早速試した。


ツールなど(使ってない)

既にWhiskyなど簡単に導入できるツールが出ているが、外部ストレージに環境を置けなかったり、制作者がサポート止めた時の事を考えて、私はこちらは使わない。

やったこと

ほぼこちらのWikiに書いてあるとおりにした。

0. もしかしたらmacOSの言語を英語(English)にした方がいいかも
検証してないけど、こうしておくことでSteamが動いた気もする。


1. ターミナルを起動

2. Rosetta2を入れてなかった入れる。入れてたらこの作業はスキップ
softwareupdate --install-rosetta

3. x86_64環境でターミナルを動かす
arch -x86_64 zsh

4. Homebrewをインストール。既に入れてたらこの作業はスキップ
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

5. brewのパスを設定する
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/$USER/.zprofile
eval "$(/usr/local/bin/brew shellenv)"

6. 実際にインストールされているbrewのパスを確認
which brew
/usr/local/bin/brew と表示されたらok。/opt/homebrew/bin/brewなんてなってたら、どこかでミスしてる。

7. Appleのリポジトリを追加
brew tap apple/apple http://github.com/apple/homebrew-apple

8. game-porting-toolkitをインストール。長時間がかかります。
brew -v install apple/apple/game-porting-toolkit
1時間くらいかかるかも。M1 8GBのMacbookだと2時間かかりました。

9. Apple DeveloperのサイトからGame Porting Toolkitをダウンロード
Appleのアカウントが必要。お金はかからない。

10. ダウンロードしたGame Porting Toolkitファイル(Game_porting_toolkit_beta.dmg)をダブルクリック

11. ライブラリなど一部ファイルをbrewのgame-porting-toolkit内にコピー
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/

12. Game Porting Toolkitを実行するスクリプトを/usr/local/binにコピー
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin

13. 次のコマンドでWineの環境(WINEPREFIX、ボトルと表現することもある)を作る
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
~/my-game-prefix の部分は任意。内蔵ストレージに作るのが嫌なら外付けストレージを指定すればいい。
何かダイアログが表示されるので、WindowsのバージョンをWindows10に指定する。


これでとりあえず環境構築完了。後は次のコマンドでWindowsアプリが動く。
gameportingtoolkit ~/my-game-prefix 'アプリのパス'

ただし、Steamについてはクセがある。一応続き書いておく。

14. SteamのWindows版をダウンロードする

15. 次のコマンドでSteamのセットアップを実行する
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe


16. 次のコマンドでインストールされたSteamを起動させる
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'

おそらく空の(何も書かれていない黒一色の)ウインドウが表示される


17. Steamを終了させる

18. 次のコマンドでSteamを起動させる
MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64 'C:\Program Files (x86)\Steam\steam.exe'



Steamが上手く起動してくれたら、macOSの言語を日本語に戻しても大丈夫な感じ。
ゲームを起動た時に表示される右上のリソース情報が邪魔だったらMTL_HUD_ENABLEDを0にすればいい。

私が持ってるSteamのゲームをいくつか試したらこんな感じだった。Epic版は分からん。
イースVIII -Lacrimosa of DANA- ×
イースIX -Monstrum NOX- ○
ファイナルファンタジーVII REMAKE INTERGRADE ×
ファイナルファンタジーXIII ×
ファイナルファンタジーXV ○
ドラゴンクエストXI 過ぎ去りし時を求めて S ×
Everybody's Gone to the Rapture ×
Halo: The Master Chief Collection ○
ソニックフロンティア ×