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 14 beta?
貌似只能使用macOS Sonoma beta版本,即 macOS 14 beta。但是也有说法是macOS 13也是可以的,不愿意尝试的用户可以试下。
另外注意如果遇到问题也可以尝试把系统改为英文。
Homebrew
只有x86版本的Homebrew才能满足安装要求,我们需要新安装x86版本,如果已经安装过arm版本的Homebrew,我们是可以让两者同存的。
- 打开终端
 - 安装
Rosetta转译 
softwareupdate --install-rosetta
- 打开
x86模式的zsh终端,注意:教程里的操作都需要在x86下操作 
# 启动 x86 版本的 shell
arch -x86_64 zsh
- 安装
x86版本Homebrew 
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
请认准 Homebrew中文网
- 设置
brew环境自动切换 
cat << 'EOF' >> ~/.zshrc
if [ "$(arch)" = "arm64" ]; then
    eval "$(/opt/homebrew/bin/brew shellenv)"
else
    eval "$(/usr/local/bin/brew shellenv)"
fi
EOF
    
source ~/.zshrc
后续只需要在终端先执行arch -x86_64 zsh,就能自动切换到x86,不执行这段命令就会默认用arm版本。
安装结束后,执行命令:
which brew
如果看到一下目录就说明Homebrew安装对了。
/usr/local/bin/brew
构建 game-porting-toolkit
确保还在上述终端里,继续执行命令安装:
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分钟。
准备 Game Porting Toolkit
访问 Apple开发者下载网站,登录你的苹果帐号后,在输入框搜索Game Porting Toolkit。

下载好后双击dmg进行挂载。
然后执行:
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
继续执行:
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
配置 Wine prefix
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
下载 Steam(Windows)并放放在你的"下载"文件夹内,英文版叫"Downloads"。
安装
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe
这里的~/Downloads/SteamSetup.exe就是你要安装或运行的Windows程序,如果是其他游戏,可以自己替换。
用gptk启动Steam
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
登录Steam
启动Steam后,很可能会出现黑色的弹窗,无法进行任何操作,这样我们也没法登录帐号,可以参考下面的方案。
解决方案1
换以下启动命令:
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'
解决方案2
安装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进行调整。
接下来就可以安装游戏了
启动游戏:赛博朋克2077
这里我们以为例,假设你在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启动命令
- 关闭终端,重新打开终端和执行启动
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登录
- 登录
mac版Steam。 - 打开
~/Library/Application Support/Steam,复制这三个文件:config,registry.vdf,userdata。 - 粘贴到
~/my-game-prefix/drive_c/Program Files (x86)/Steam/ 
打开Steam后直接闪退
移除扩展显示器,或者停止屏幕镜像。
版权声明:本文为原创文章,版权归 neo 所有。
本文链接:https://idayer.com/mac-game-porting-toolkit/
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

有可能通过什么方法解决反作弊的问题吗
这个不清楚啊,后来没有关注gpt了,我猜测很难解决吧,除非游戏方放宽了限制。