最穩(wěn)定蘋果游戲移植技術(shù)使用教程(適合中國(guó))
蘋果游戲移植技術(shù)使用教程(GamePortingToolkit)(適合中國(guó)版本)
文章從https://www.applegamingwiki.com/wiki/Game_Porting_Toolkit 機(jī)器翻譯加我人工校正修改而來(lái),同時(shí)我增加了適合中國(guó)網(wǎng)絡(luò)環(huán)境的方案(因?yàn)榫W(wǎng)絡(luò)的原因),這個(gè)文章是目前最全且穩(wěn)定的運(yùn)營(yíng)蘋果Game Porting Toolkit的方案
蘋果游戲移植工具(Game Porting Toolkit)
運(yùn)行測(cè)試通過(guò)我的的電腦:MacBook pro M1
注意: Game Porting Toolkit 文內(nèi)簡(jiǎn)稱GPTK
游戲移植工具包是蘋果于2023年6月6日發(fā)布的新的windows程序轉(zhuǎn)譯層。游戲移植工具包(GPTK)將Wine與蘋果自己的D3DMetal相結(jié)合,后者支持DirectX 11和12。與CrossOver或Parallels相比,這是一種在Apple Silicon Mac上安裝Windows版游戲的用戶體驗(yàn)更好的方案,它解鎖了玩許多DirectX 12游戲的能力。很多游戲使用GPTK能正常運(yùn)行,然而,使用了反作弊技術(shù)或攻擊性數(shù)字版權(quán)校驗(yàn)以及需要AVX/AVX 2的游戲可能沒(méi)法順利正常運(yùn)行,,例如《The Last of Us》第一章。
GPTK安裝流程介紹
一、安裝前要求
1、應(yīng)該使用macOS Sonoma,目前它處于測(cè)試版。您可以從MrMacintosh博客(https://juejin.cn/post/7088877842842255368)下載pkg安裝程序。
2、macOS Ventura會(huì)導(dǎo)致大量steamwebhelper.exe崩潰問(wèn)題,因此不建議使用macOS Sonoma測(cè)試版。
3、訪問(wèn)蘋果開(kāi)發(fā)者下載網(wǎng)站,這些文件現(xiàn)在可以免費(fèi)下載,供任何登錄的蘋果帳戶使用。
4、如果您安裝了舊版本的Xcode,請(qǐng)將其刪除。
5、搜索Command Line Tools for Xcode15beta,下載dmg文件,然后安裝它。
6、搜索Game Porting Toolkit并下載它。打開(kāi)dmg文件,然后運(yùn)行pkg。
二、X86_64版本的Homebrew安裝
注意:如果你以前安裝過(guò)Homebrew,那么建議刪除ARM64版本的Homebrew因?yàn)檫@會(huì)干擾這個(gè)安裝過(guò)程。使用刪除文件夾/opt/homebrew/bin或使用Homebrew卸載腳本。如果您喜歡同時(shí)安裝ARM64和x86版本的brew,您可以在.zshrc文件中添加一個(gè)“brew切換器”,以允許根據(jù)活動(dòng)架構(gòu)使用任何一個(gè)版本。安裝Brew后,您可以按照本節(jié)末尾的步驟來(lái)實(shí)現(xiàn)這一點(diǎn)。
打開(kāi)終端Terminal(在macOS上的Spotlight 中搜索“Terminal”,Spotlight快捷鍵是Command+空格)
在Terminal寫(xiě)入命令行安裝Rosetta:
softwareupdate —install-rosetta
切換到x86_64版本的shell因?yàn)镽osetta需要x86環(huán)境執(zhí)行。所有后續(xù)命令都應(yīng)該在這個(gè)x86版本的shell中運(yùn)行(如果意外關(guān)閉了Terminal,重啟后要再切換到x86版本)。
在Terminal寫(xiě)入命令行切換shell版本:
arch -x86_64 zsh
如果您還沒(méi)有安裝x86_64版本的Homebrew,請(qǐng)安裝它:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
注意這個(gè)命令在中國(guó)大概率成功不了,因?yàn)殒溄颖粔α?。我們用?guó)內(nèi)的鏡像鏈接來(lái)安裝:
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
配置環(huán)境路徑:
(echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/$USER/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
用下面指令確認(rèn)安裝的brew在你電腦上:
which brew
如果此命令不打印/usr/local/bin/brew,則應(yīng)使用此命令:
export PATH=/usr/local/bin:${PATH}
三、構(gòu)建GPTK
運(yùn)行此命令下載Apple tap:
brew tap apple/apple http://github.com/apple/homebrew-apple
注意這個(gè)也是大概率下載不成功,原因你懂的
我這邊找到國(guó)內(nèi)鏡像包來(lái)安裝:
brew tap apple/apple https://gitclone.com/github.com/apple/homebrew-apple.git
安裝游戲移植工具包公式。這個(gè)公式下載并編譯了幾個(gè)大型軟件項(xiàng)目。這需要多長(zhǎng)時(shí)間取決于計(jì)算機(jī)的速度。根據(jù)Mac的速度,可能需要1個(gè)多小時(shí)才能完成:
brew -v install apple/apple/game-porting-toolkit
下載速度很慢,有科學(xué)上網(wǎng)工具的可以給Terminal配置代理加快速度,沒(méi)有就等它下載構(gòu)建完。
(非必需步驟)如果在安裝過(guò)程中您看到諸如“錯(cuò)誤:游戲移植工具包:未知或不支持的macOS版本::dunno”之類的錯(cuò)誤,則您的Homebrew版本不支持macOS Sonoma。請(qǐng)更新至Homebrew的最新版本,然后用下面的命令重試:
brew update brew -v install apple/apple/game-porting-toolkit
四、配置GPTK
確保之前下載的游戲移植工具包dmg安裝在/Volumes/Game Porting Toolkit-1.0上。使用此下面命令將Game Porting Toolkit庫(kù)目錄復(fù)制到Wine的庫(kù)目錄中:
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
使用以下命令將游戲移植工具包DMG中的3個(gè)腳本放入/usr/local/bin中:
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
五、Wine前綴配置
Wine前綴包含一個(gè)虛擬C盤驅(qū)動(dòng)器,類似于CrossOver中的Bottle。您將把工具包和游戲安裝到這個(gè)虛擬C盤驅(qū)動(dòng)器中。運(yùn)行以下命令在您的主目錄中創(chuàng)建一個(gè)新的Wine前綴,名為my game prefix。這將創(chuàng)建一個(gè)名為“my-game-prefix”的Wine前綴,但可以重命名為任何前綴:
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
執(zhí)行后應(yīng)該:
1、屏幕上應(yīng)出現(xiàn)“Wine configuration”窗口。
2、我們將Windows的版本更改為Windows 10。
3、選擇“應(yīng)用”,然后選擇“確定”退出Wine configuration界面。
如果“Wine configuration”窗口未出現(xiàn),并且Dock中未顯示新圖標(biāo),請(qǐng)驗(yàn)證您是否已正確安裝了x86_64版本的Homebrew以及游戲移植工具包公式。
現(xiàn)在,您已經(jīng)準(zhǔn)備好將啟動(dòng)器或單個(gè)Windows游戲安裝到此Wine前綴中,請(qǐng)參見(jiàn)下文。
六、安裝各種主流程序
Steam:
1、下載Windows版本的Steam(https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe)并將其放在下載文件夾中。
2、用命令行安裝Windows版本Steam:
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe
3、用命令行運(yùn)行Steam
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
4、登錄Steam
一個(gè)常見(jiàn)的問(wèn)題是Steam將顯示一個(gè)空白的黑色窗口。
解決方案1(可試):Steam的替代運(yùn)行方式(安裝后):
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(不推薦):如果繼續(xù)出現(xiàn)這種情況,請(qǐng)關(guān)閉“終端”窗口,然后重新打開(kāi)并重試,重復(fù)此操作,直到登錄屏幕打開(kāi)。現(xiàn)在你應(yīng)該可以通過(guò)Steam下載并啟動(dòng)Windows游戲了。
解決方案3(推薦):使用其他端登錄好的狀態(tài)拷貝到Wine里面的Steam去。登錄Mac版本Steam,然后復(fù)制三個(gè)文件/文件夾:config、registry.vdf、userdata到~/my-game-prefix/drive_c/Program Files (x86)/Steam/
Battle.net(戰(zhàn)網(wǎng)軟件):
下載Battle.net的Windows版本(https://download.battle.net/en-gb/?platform=windows),并將其放入“下載”文件夾中。
為戰(zhàn)網(wǎng)制作一個(gè)新的Wineprefix前綴,你可以選擇使用my-game-prefix 前綴或?qū)⑵涓臑槠渌魏吻熬Y。
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
執(zhí)行后應(yīng)該:
1、屏幕上應(yīng)出現(xiàn)“Wine configuration”窗口。
2、我們將Windows的版本更改為Windows 10。
3、選擇“應(yīng)用”,然后選擇“確定”退出Wine configuration界面。
如果你正在運(yùn)行暗黑破壞神IV,那么你需要運(yùn)行此腳本來(lái)更新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
請(qǐng)注意,一旦安裝,啟動(dòng)Battle.net就會(huì)出現(xiàn)問(wèn)題,當(dāng)前唯一的重新登錄方法是再次“安裝”啟動(dòng)器。
使用以下命令在沒(méi)有啟動(dòng)器的情況下開(kāi)始暗黑4游戲:
arch -x86_64 gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Diablo IV\Diablo IV Launcher.exe'
七、通用
安裝單獨(dú)的exe游戲:在Finder中打開(kāi)Wine前綴的虛擬C盤驅(qū)動(dòng)器(打開(kāi)~/my-game-prefix/drive_C),并將游戲復(fù)制到適當(dāng)?shù)淖幽夸浿小?/p>
A.標(biāo)準(zhǔn)加載運(yùn)行
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
這啟動(dòng)了給定的Windows游戲二進(jìn)制文件,帶有可見(jiàn)的擴(kuò)展Metal性能HUD,并過(guò)濾從游戲移植工具包輸出的日志記錄。
B.加載運(yùn)行沒(méi)有性能顯示框
gameportingtoolkit-no-hud ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
C.加載運(yùn)行關(guān)閉ESYNC的Wine
gameportingtoolkit-no-esync ~/my-game-prefix 'C:\Program Files (x86)\Steam\xxxx.exe'
打開(kāi)Wine配置界面:
gameportingtoolkit ~/my-game-prefix winecfg
Steam在打開(kāi)后立即崩潰:
斷開(kāi)任何多個(gè)屏幕,只用一個(gè)屏幕
戰(zhàn)網(wǎng)啟動(dòng)程序不會(huì)重新啟動(dòng):
重新安裝啟動(dòng)器以重新打開(kāi),目前沒(méi)有其他修復(fù)程序。
Windows版本太久:
我的游戲不會(huì)運(yùn)行,因?yàn)樗J(rèn)為Windows版本太舊了。一些游戲檢測(cè)到特定的最低版本的Windows,需要更新。使用此腳本更新您的wineprefix版本19042,該版本應(yīng)適用于大多數(shù)游戲,例如《蜘蛛俠重制版》。
輸入命令行:
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是通過(guò)macOS Ventura或更低版本運(yùn)行的,大多數(shù)用戶應(yīng)該升級(jí)到macOS Sonoma。您可以使用CrossOver解決方法登錄到Steam,但會(huì)不斷發(fā)生崩潰。
奔潰后沒(méi)有任何東西:
嘗試關(guān)閉所有Wine線程
killall -9 wineserver && killall -9 wine64-preloader
反作弊系統(tǒng)和數(shù)字版權(quán)系統(tǒng):
可能不會(huì)有任何使用反作弊的游戲的修復(fù),例如輕松反作弊。有些游戲有變通辦法,例如Elden Ring。其他使用Denuvo的游戲也可能是不兼容的,直到該DRM被游戲開(kāi)發(fā)商刪除。