WWDC23でWindowsからMacへ移植を支援する「Game Porting Toolkit」が発表され、Beta版もすぐにダウンロードできるようになった。
macOS 13 Venturaでも使えているという話を聞くが、AppleはmacOS 14 Sonomaとあわせた機能としている。Wineベースのものらしい。
既にWhiskyなど簡単に導入できるツールが出ているが、外部ストレージに環境を置けなかったり、制作者がサポート止めた時の事を考えて、私はこちらは使わない。
やったこと
ほぼこちらのWikiに書いてあるとおりにした。
0. もしかしたらmacOSの言語を英語(English)にした方がいいかも
検証してないけど、こうしておくことでSteamが動いた気もする。
検証してないけど、こうしておくことでSteamが動いた気もする。
1. ターミナルを起動
2. Rosetta2を入れてなかった入れる。入れてたらこの作業はスキップ
softwareupdate --install-rosetta
softwareupdate --install-rosetta
3. x86_64環境でターミナルを動かす
arch -x86_64 zsh
arch -x86_64 zsh
4. Homebrewをインストール。既に入れてたらこの作業はスキップ
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/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
which brew
/usr/local/bin/brew と表示されたらok。/opt/homebrew/bin/brewなんてなってたら、どこかでミスしてる。
7. Appleのリポジトリを追加
brew tap apple/apple http://github.com/apple/homebrew-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時間かかりました。
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/
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に指定する。
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版をダウンロードする
16. 次のコマンドでインストールされたSteamを起動させる
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
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- ×
イース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 ○
ソニックフロンティア ×