Game Porting Toolkit游戏移植工具包于2023年6月6日在WWDC大会上发布,Game Porting Toolkit 将Wine与苹果自家的D3DMetal技术相结合,实现对DirectX 11和12的支持。
与CrossOver或Parallels这类结束相比,虽然通过GPTK安装Windows游戏对用户有使用门槛,但它却有解锁支持更多DirectX游戏的能力。
虽说很多游戏都可以通过GPTK运行,但是那些包含了反作弊或DRMs,以及使用A1VX/AVX 2指令集的游戏不在可玩范围之内。
貌似只能使用macOS Sonoma beta版本,即 macOS 14 beta。但是也有说法是macOS 13也是可以的,不愿意尝试的用户可以试下。
另外注意如果遇到问题也可以尝试把系统改为英文。
只有x86版本的Homebrew才能满足安装要求,我们需要新安装x86版本,如果已经安装过arm版本的Homebrew,我们是可以让两者同存的。
Rosetta转译softwareupdate --install-rosetta
x86模式的zsh终端,注意:教程里的操作都需要在x86下操作# 启动 x86 版本的 shellarch -x86_64 zsh
x86版本Homebrew/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
请认准 Homebrew中文网
brew环境自动切换cat << 'EOF' >> ~/.zshrcif [ "$(arch)" = "arm64" ]; theneval "$(/opt/homebrew/bin/brew shellenv)"elseeval "$(/usr/local/bin/brew shellenv)"fiEOFsource ~/.zshrc
后续只需要在终端先执行arch -x86_64 zsh,就能自动切换到x86,不执行这段命令就会默认用arm版本。
安装结束后,执行命令:
which brew
如果看到一下目录就说明Homebrew安装对了。
/usr/local/bin/brew
确保还在上述终端里,继续执行命令安装:
brew tap apple/apple https://gitee.com/ineo6/homebrew-apple.git
该tap仓库使用的国内镜像,能够安装时不会遇到网络问题。
然后编译game-porting-toolkit,这一步的耗时会很久,请耐心等待。
brew -v install apple/apple/game-porting-toolkit
具体的时间取决于你的电脑性能和网速,以下数据仅供参考。
在M1上首次安装可能需要75分钟,更新需要48分钟,在M2 Max上首次安装需要36分钟,更新需要19分钟。
访问 Apple开发者下载网站,登录你的苹果帐号后,在输入框搜索Game Porting Toolkit。

下载好后双击dmg进行挂载。
请执行:
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
ditto /Volumes/Game\ Porting\ Toolkit-1.0/redist/lib/ `brew --prefix game-porting-toolkit`/lib/
继续执行:
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg

执行后,会弹出Wine configuration,我们要把里面的Windows Version里面的值改为Windows 10,并点击OK保存。
如果没有显示Wine configuration窗口,在Dock里也没有新增的应用,有可能就是因为没有安装上x86版本的Homebrew以及对应的game-porting-toolkit。
请重新检视构建 game-porting-toolkit这一章节内容。
如果一切顺利到此,那接下来就可以安装游戏了。
下载 Steam(Windows)并放放在你的"下载"文件夹内,英文版叫"Downloads"。
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe
这里的~/Downloads/SteamSetup.exe就是你要安装或运行的Windows程序,如果是其他游戏,可以自己替换。
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
启动Steam后,很可能会出现黑色的弹窗,无法进行任何操作,这样我们也没法登录帐号,可以参考下面的方案。
换以下启动命令:
MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.3/bin/wine64 'C:\Program Files (x86)\Steam\steam.exe'
安装mac版本的Steam,登录帐号并保证能看到游戏。
打开以下目录:
~/Library/Application Support/Steam
复制config、userdata、registry.vdf三个文件到下面这个目录:
~/my-game-prefix/drive_c/Program Files (x86)/Steam
重新启动Windows版本Steam:
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
现在可以正常登录,但是可能还是有黑屏部分,可以通过点击菜单View-Small Model进行调整。
接下来就可以安装游戏了
这里我们以为例,假设你在Steam里下载并安装了赛博朋克2077,可以尝试直接在Steam启动游戏,如果不行的话可以用下面的命令启动游戏。
MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0/bin/wine64 ~/my-game-prefix/drive_c/Program\ Files\ \(x86\)/Steam/steamapps/common/Cyberpunk\ 2077/bin/x64/Cyberpunk2077.exe
上面命令的最后部分是你的游戏安装目录,启动不同的游戏可以自行替换游戏启动exe的路径。
~/my-game-prefix/drive_c/Program\ Files\ \(x86\)/Steam/steamapps/common/Cyberpunk\ 2077/bin/x64/Cyberpunk2077.exe
Steam,多尝试几次。Steam命令:MTL_HUD_ENABLED=1 WINEESYNC=1 WINEPREFIX=~/my-game-prefix /usr/local/Cellar/game-porting-toolkit/1.0.3/bin/wine64 'C:\Program Files (x86)/Steam/steam.exe'
CrossOverWINEPREFIX="/Users/$USER/Library/Application Support/CrossOver/Bottles/Steam/"
mac版Steam。~/Library/Application Support/Steam,复制这三个文件: config, registry.vdf, userdata。~/my-game-prefix/drive_c/Program Files (x86)/Steam/移除扩展显示器,或者停止屏幕镜像。