苹果游戏移植技术使用教程(GamePortingToolkit)(适合中国版本)
文章从https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit 机器翻译加我人工校正修改而来,同时我增加了适合中国网络环境的方案(因为网络的原因),这个文章是目前最全且稳定的运营苹果Game Porting Toolkit的方案
(资料图片仅供参考)
苹果游戏移植工具(Game Porting Toolkit)
运行测试通过我的的电脑:MacBook pro M1
注意: Game Porting Toolkit 文内简称GPTK
游戏移植工具包是苹果于2023年6月6日发布的新的windows程序转译层。游戏移植工具包(GPTK)将Wine与苹果自己的D3DMetal相结合,后者支持DirectX 11和12。与CrossOver或Parallels相比,这是一种在Apple Silicon Mac上安装Windows版游戏的用户体验更好的方案,它解锁了玩许多DirectX 12游戏的能力。很多游戏使用GPTK能正常运行,然而,使用了反作弊技术或攻击性数字版权校验以及需要AVX/AVX 2的游戏可能没法顺利正常运行,,例如《The Last of Us》第一章。
GPTK安装流程介绍
一、安装前要求
1、应该使用macOS Sonoma,目前它处于测试版。您可以从MrMacintosh博客(https://juejin.cn/post/7088877842842255368)下载pkg安装程序。
2、macOS Ventura会导致大量steamwebhelper.exe崩溃问题,因此不建议使用macOS Sonoma测试版。
3、访问苹果开发者下载网站,这些文件现在可以免费下载,供任何登录的苹果帐户使用。
4、如果您安装了旧版本的Xcode,请将其删除。
5、搜索Command Line Tools for Xcode15beta,下载dmg文件,然后安装它。
6、搜索Game Porting Toolkit并下载它。打开dmg文件,然后运行pkg。
二、X86_64版本的Homebrew安装
注意:如果你以前安装过Homebrew,那么建议删除ARM64版本的Homebrew因为这会干扰这个安装过程。使用删除文件夹/opt/homebrew/bin或使用Homebrew卸载脚本。如果您喜欢同时安装ARM64和x86版本的brew,您可以在.zshrc文件中添加一个“brew切换器”,以允许根据活动架构使用任何一个版本。安装Brew后,您可以按照本节末尾的步骤来实现这一点。
打开终端Terminal(在macOS上的Spotlight 中搜索“Terminal”,Spotlight快捷键是Command+空格)
在Terminal写入命令行安装Rosetta:
softwareupdate —install-rosetta
切换到x86_64版本的shell因为Rosetta需要x86环境执行。所有后续命令都应该在这个x86版本的shell中运行(如果意外关闭了Terminal,重启后要再切换到x86版本)。
在Terminal写入命令行切换shell版本:
arch -x86_64 zsh
如果您还没有安装x86_64版本的Homebrew,请安装它:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
注意这个命令在中国大概率成功不了,因为链接被墙了。我们用国内的镜像链接来安装:
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
配置环境路径:
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/$USER/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
用下面指令确认安装的brew在你电脑上:
which brew
如果此命令不打印/usr/local/bin/brew,则应使用此命令:
export PATH=/usr/local/bin:${PATH}
三、构建GPTK
运行此命令下载Apple tap:
brew tap apple/apple http://github.com/apple/homebrew-apple
注意这个也是大概率下载不成功,原因你懂的
我这边找到国内镜像包来安装:
brew tap apple/apple https://gitclone.com/github.com/apple/homebrew-apple.git
安装游戏移植工具包公式。这个公式下载并编译了几个大型软件项目。这需要多长时间取决于计算机的速度。根据Mac的速度,可能需要1个多小时才能完成:
brew -v install apple/apple/game-porting-toolkit
下载速度很慢,有科学上网工具的可以给Terminal配置代理加快速度,没有就等它下载构建完。
(非必需步骤)如果在安装过程中您看到诸如“错误:游戏移植工具包:未知或不支持的macOS版本::dunno”之类的错误,则您的Homebrew版本不支持macOS Sonoma。请更新至Homebrew的最新版本,然后用下面的命令重试:
brew update brew -v install apple/apple/game-porting-toolkit
四、配置GPTK
确保之前下载的游戏移植工具包dmg安装在/Volumes/Game Porting Toolkit-1.0上。使用此下面命令将Game Porting Toolkit库目录复制到Wine的库目录中:
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
使用以下命令将游戏移植工具包DMG中的3个脚本放入/usr/local/bin中:
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
五、Wine前缀配置
Wine前缀包含一个虚拟C盘驱动器,类似于CrossOver中的Bottle。您将把工具包和游戏安装到这个虚拟C盘驱动器中。运行以下命令在您的主目录中创建一个新的Wine前缀,名为my game prefix。这将创建一个名为“my-game-prefix”的Wine前缀,但可以重命名为任何前缀:
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
执行后应该:
1、屏幕上应出现“Wine configuration”窗口。
2、我们将Windows的版本更改为Windows 10。
3、选择“应用”,然后选择“确定”退出Wine configuration界面。
如果“Wine configuration”窗口未出现,并且Dock中未显示新图标,请验证您是否已正确安装了x86_64版本的Homebrew以及游戏移植工具包公式。
现在,您已经准备好将启动器或单个Windows游戏安装到此Wine前缀中,请参见下文。
六、安装各种主流程序
Steam:
1、下载Windows版本的Steam(https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe)并将其放在下载文件夹中。
2、用命令行安装Windows版本Steam:
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe
3、用命令行运行Steam
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
4、登录Steam
一个常见的问题是Steam将显示一个空白的黑色窗口。
解决方案1(可试):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'
解决方案2(不推荐):如果继续出现这种情况,请关闭“终端”窗口,然后重新打开并重试,重复此操作,直到登录屏幕打开。现在你应该可以通过Steam下载并启动Windows游戏了。
解决方案3(推荐):使用其他端登录好的状态拷贝到Wine里面的Steam去。登录Mac版本Steam,然后复制三个文件/文件夹:config、registry.vdf、userdata到~/my-game-prefix/drive_c/Program Files (x86)/Steam/
Battle.net(战网软件):
下载Battle.net的Windows版本(https://download.battle.net/en-gb/?platform=windows),并将其放入“下载”文件夹中。
为战网制作一个新的Wineprefix前缀,你可以选择使用my-game-prefix 前缀或将其更改为其他任何前缀。
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
执行后应该:
1、屏幕上应出现“Wine configuration”窗口。
2、我们将Windows的版本更改为Windows 10。
3、选择“应用”,然后选择“确定”退出Wine configuration界面。
如果你正在运行暗黑破坏神IV,那么你需要运行此脚本来更新Wineprefix,使其显示为最新版本的Windows:
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuild /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wineserver -k
安装Battle.net
gameportingtoolkit ~/my-game-prefix ~/Downloads/Battle.net-Setup.exe
请注意,一旦安装,启动Battle.net就会出现问题,当前唯一的重新登录方法是再次“安装”启动器。
使用以下命令在没有启动器的情况下开始暗黑4游戏:
arch -x86_64 gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Diablo IV\Diablo IV Launcher.exe'
七、通用
安装单独的exe游戏:在Finder中打开Wine前缀的虚拟C盘驱动器(打开~/my-game-prefix/drive_C),并将游戏复制到适当的子目录中。
A.标准加载运行
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
这启动了给定的Windows游戏二进制文件,带有可见的扩展Metal性能HUD,并过滤从游戏移植工具包输出的日志记录。
B.加载运行没有性能显示框
gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
C.加载运行关闭ESYNC的Wine
gameportingtoolkit-no-esync ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
打开Wine配置界面:
gameportingtoolkit ~/my-game-prefix winecfg
Steam在打开后立即崩溃:
断开任何多个屏幕,只用一个屏幕
战网启动程序不会重新启动:
重新安装启动器以重新打开,目前没有其他修复程序。
Windows版本太久:
我的游戏不会运行,因为它认为Windows版本太旧了。一些游戏检测到特定的最低版本的Windows,需要更新。使用此脚本更新您的wineprefix版本19042,该版本应适用于大多数游戏,例如《蜘蛛侠重制版》。
输入命令行:
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuild /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /t REG_SZ /d 19042 /f
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wineserver -k
steamwebhelper.exe奔溃:
这是由于Steam是通过macOS Ventura或更低版本运行的,大多数用户应该升级到macOS Sonoma。您可以使用CrossOver解决方法登录到Steam,但会不断发生崩溃。
奔溃后没有任何东西:
尝试关闭所有Wine线程
killall -9 wineserver && killall -9 wine64-preloader
反作弊系统和数字版权系统:
可能不会有任何使用反作弊的游戏的修复,例如轻松反作弊。有些游戏有变通办法,例如Elden Ring。其他使用Denuvo的游戏也可能是不兼容的,直到该DRM被游戏开发商删除。
下一篇:最后一页
中新网广州5月25日电 (记者 蔡敏婕)妊娠期感染戊型肝炎,病死率高达39%,孕产妇需警惕戊肝的危害。南方医科大学南方医院感染内科主任朱
中新网太原5月25日电 (范丽芳 刘帅)“回去后保重身体!”“感谢感谢,辛苦啦!”5月25日,随着山西省太原市最后1例本土新冠肺炎感染者治
中新网海口5月25日电(记者 王子谦)海南省政府25日公布《海南省人均预期寿命提升行动计划(2022—2025年)》(简称《行动计划》),目标到2023
新华社上海5月25日电(记者何欣荣、杨有宗)“上海市浦东新区有290亩‘南汇8424’西瓜滞销……”近日,这样一条求助消息在社交平台上广为传播
天津5月25日电 (王君妍 王在御)记者25日从天津港保税区企业海洋石油工程股份有限公司(简称“海油工程”)获悉,在距深圳东南200多公里、水
X 关闭
X 关闭