Game Porting Toolkit 2

オフィシャル
必要条件
- macOS Sonomaを使用する必要があります。
-
Command Line Tools for Xcode 16 beta
古いバージョンのXcodeがインストールされている場合は、削除すること -
Game Porting Toolkit 2.0 beta
dmgを開いてmountしておく

x86版のHomebrewのインストール
-
ARM64 Homebrew削除
以前にHomebrewをインストールしたことがある場合は、ARM64 Homebrewを削除推奨なので削除す/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
-
Rosettaをインストール
softwareupdate --install-rosetta --agree-to-license
M1でsoftwareupdate[47278:3488002] Package Authoring Error: 062-01890: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
とかエラーがでるが、無視して良さそう
Rosetta環境内でのステップ
ここから先はx86_64シェルに入り、Rosetta環境でのセットアップをまとめます
以下のコマンドからスタート
arch -x86_64 zsh
Intelを使っていることを確認するために、もう一度 arch
コマンドを実行する。arm64
ではなく i386
と表示されればOK
brew(x86版)の再インストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
installの実行ログにある、Next stepsの通りにbrewのパス設定
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
~/.zprofile
にeval "$(/opt/homebrew/bin/brew shellenv)"
があったらArm64版のやつなので、削除しておくこと

game-porting-toolkitのインストール
brew tap apple/apple http://github.com/apple/homebrew-apple
brew -v install apple/apple/game-porting-toolkit
1時間ぐらいかかる
壊れているらしい。。
リポジトリを見る感じだと 7 months ago

案の定失敗
Last 15 lines from /Users/miserarenaiyo/Library/Logs/Homebrew/game-porting-toolkit/01.configure:
--enable-win64
--with-gnutls
--with-freetype
--with-gstreamer
CC=/usr/local/opt/game-porting-toolkit-compiler/bin/clang
CXX=/usr/local/opt/game-porting-toolkit-compiler/bin/clang++
checking build system type... x86_64-apple-darwin23.5.0
checking host system type... x86_64-apple-darwin23.5.0
checking whether make sets $(MAKE)... yes
checking for gcc... /usr/local/opt/game-porting-toolkit-compiler/bin/clang
checking whether the C compiler works... no
configure: error: in `/private/tmp/game-porting-toolkit-20240616-30276-i2a977/wine64-build':
configure: error: C compiler cannot create executables
See `config.log' for more details
If reporting this issue please do so to (not Homebrew/brew or Homebrew/homebrew-core):
apple/apple

pre-built toolkit インストール
pre-built版でGPTK2対応のレシピがあったのでこちらを試す
brew install --cask --no-quarantine gcenx/wine/game-porting-toolkit

pre-built toolkitの動作確認
pre-built toolkitがインストールされるとアプリケーションフォルダーに Game Porting Toolkit
が追加される
クリックして起動するとターミナルが起動される
このターミナルで wine winecfg
コマンド実行して
こんな画面が表示されればOK

Steamインストール
windows版steamをダウンロード
MTL_HUD_ENABLED=0 WINEESYNC=1 wine ~/Downloads/SteamSetup.exe
インストール後に以下のコマンドを実行
MTL_HUD_ENABLED=0 WINEESYNC=1 /Applications/Game\ Porting\ Toolkit.app/Contents/Resources/wine/bin/wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/steam.exe

Steamのショートカット作成
ショートカットアプリケーションでSteamのショートカットを作成する
こんな感じで登録する。テキストは以下をコピーして貼り付けると良い
cd ~/.wine/drive_c
MTL_HUD_ENABLED=0 WINEESYNC=1 /Applications/Game\ Porting\ Toolkit.app/Contents/Resources/wine/bin/wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Steam/steam.exe

Prebuildインストール
brew tap gcenx/homebrew-apple
brew install gcenx/wine/game-porting-toolkit
echo 'export PATH="/usr/local/opt/game-porting-toolkit/bin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/game-porting-toolkit/lib"
brew update && brew upgrade gcenx/wine/game-porting-toolkit

WINEPREFIX=~/steam `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
ditto /Volumes/Evaluation\ environment\ for\ Windows\ games\ 2.0/redist/lib `brew --prefix game-porting-toolkit`/lib/
/Volumes/Evaluation\ environment\ for\ Windows\ games\ 2.0/gameportingtoolkit ~/steam ~/Downloads/SteamSetup.exe

homebrew-wineインストール
curl -L https://raw.githubusercontent.com/Gcenx/homebrew-wine/master/Casks/game-porting-toolkit.rb > game-porting-toolkit.rb
brew install game-porting-toolkit.rb
ログイン状態引き継ぎ
cp -R $HOME/Library/Application\ Support/Steam/{config,registry.vdf,userdata} "$HOME/.wine/drive_c/Program Files (x86)/Steam/"

Sonomaでの手順まとめ
- Homebrew(X86版)インストール
arch -x86_64 zsh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
alias brew86=/usr/local/bin/brew
- GPTK2(Prebuild版) install
brew86 install --cask --no-quarantine gcenx/wine/game-porting-toolkit
or
brew86 tap gcenx/homebrew-apple
brew86 update ; brew86 -v install gcenx/wine/game-porting-toolkit
ditto /Volumes/Evaluation\ environment\ for\ Windows\ games\ 2.0/redist/lib/ `brew86 --prefix game-porting-toolkit`/lib/
cp /Volumes/Evaluation\ environment\ for\ Windows\ games\ 2.0/gameportingtoolkit* /usr/local/bin
- Steamインストール
言語設定をEnglishにすること
WINEPREFIX=~/Steam wine64 winecfg
WINEPREFIX=~/Steam MTL_HUD_ENABLED=0 WINEESYNC=1 wine64 ~/Downloads/SteamSetup.exe
- Steam起動
WINEPREFIX=~/Steam MTL_HUD_ENABLED=1 WINEESYNC=1 wine64 'C:\Program Files (x86)\Steam\Steam.exe'
起動オプションを調整
MTL_HUD_ENABLED=1 WINEESYNC=1 DXVK_ASYNC=1 ROSETTA_ADVERTISE_AVX=1 WINEPREFIX=~/Steam wine64 'C:\Program Files (x86)\Steam\Steam.exe'

ベンチマーク
以下のページからダウンロードして実行する
- インストール
WINEPREFIX=~/SF6Bench MTL_HUD_ENABLED=1 WINEESYNC=1 wine64 /Users/katsumi/Downloads/StreetFighter6_Benchmark/setup.exe
- ベンチマーク起動
WINEPREFIX=~/SF6Bench MTL_HUD_ENABLED=1 WINEESYNC=1 DXVK_ASYNC=1 ROSETTA_ADVERTISE_AVX=1 CORESVG_VERBOSE=1 WINEDLLOVERRIDES="dxgi,d3d9,d3d10,d3d11,d3d12,dxgi,atidxx64=n,b" wine64 'C:\Program Files (x86)\CAPCOM\StreetFighter6 Benchmark\StreetFighter6.exe'

DirectX動作確認
- dxdiag
WINEPREFIX=~/Steam MTL_HUD_ENABLED=1 WINEESYNC=1 WINEESYNC=1 VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue DXVK_ASYNC=1 ROSETTA_ADVERTISE_AVX=1 CORESVG_VERBOSE=1 WINEDLLOVERRIDES="d3d12,dxgi=n,b" wine64 'C:\windows\syswow64\dxdiag.exe'
fixme:dxdiag:wWinMain Information dialog is not implemented
と言われて駄目だった。