homebrew-install/docs/install/game-porting-toolkit.md
2023-08-28 23:37:17 +08:00

231 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
keywords: [mac,game-porting-toolkit]
---
# Game Porting Toolkit 安装指南
`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`,我们是可以让两者同存的。
1. 打开终端
2. 安装`Rosetta`转译
```shell
softwareupdate --install-rosetta
```
1. 打开`x86`模式的`zsh`终端,**注意:教程里的操作都需要在`x86`下操作**
```shell
# 启动 x86 版本的 shell
arch -x86_64 zsh
```
2. 安装`x86`版本`Homebrew`
```shell
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
```
请认准 [Homebrew中文网](https://brew.idayer.com/)
1. 设置`brew`环境自动切换
```shell
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`版本。
安装结束后,执行命令:
```shell
which brew
```
如果看到一下目录就说明`Homebrew`安装对了。
```shell
/usr/local/bin/brew
```
## 构建 game-porting-toolkit
确保还在上述终端里,继续执行命令安装:
```shell
brew tap apple/apple https://gitee.com/ineo6/homebrew-apple.git
```
`tap`仓库使用的国内镜像,能够安装时不会遇到网络问题。
然后编译`game-porting-toolkit`,这一步的耗时会很久,请耐心等待。
```shell
brew -v install apple/apple/game-porting-toolkit
```
具体的时间取决于你的电脑性能和网速,以下数据仅供参考。
`M1`上首次安装可能需要75分钟更新需要48分钟`M2 Max`上首次安装需要36分钟更新需要19分钟。
### 准备 Game Porting Toolkit
访问 [Apple开发者下载网站](https://developer.apple.com/download/all/),登录你的苹果帐号后,在输入框搜索`Game Porting Toolkit`
![](https://s2.loli.net/2023/08/18/C3OidT2a5R48byx.png)
下载好后双击`dmg`进行挂载。
- Game_porting_toolkit_1_beta_3以及之前版本请执行
请执行:
```shell
ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ `brew --prefix game-porting-toolkit`/lib/
```
- Game_porting_toolkit_1_beta_4版本请执行
```shell
ditto /Volumes/Game\ Porting\ Toolkit-1.0/redist/lib/ `brew --prefix game-porting-toolkit`/lib/
```
继续执行:
```shell
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin
```
## 配置 Wine prefix
```shell
WINEPREFIX=~/my-game-prefix `brew --prefix game-porting-toolkit`/bin/wine64 winecfg
```
![图片来自网络](https://s2.loli.net/2023/08/19/R7V6Dc1ATFkeHr3.png)
执行后,会弹出`Wine configuration`,我们要把里面的`Windows Version`里面的值改为`Windows 10`,并点击`OK`保存。
如果没有显示`Wine configuration`窗口,在`Dock`里也没有新增的应用,有可能就是因为没有安装上`x86`版本的`Homebrew`以及对应的`game-porting-toolkit`
请重新检视**构建 game-porting-toolkit**这一章节内容。
如果一切顺利到此,那接下来就可以安装游戏了。
## 下载&安装 Steam
下载 [Steam](https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe)Windows并放放在你的"下载"文件夹内,英文版叫"Downloads"。
### 安装
```shell
gameportingtoolkit ~/my-game-prefix ~/Downloads/SteamSetup.exe
```
这里的`~/Downloads/SteamSetup.exe`就是你要安装或运行的`Windows`程序,如果是其他游戏,可以自己替换。
### 用gptk启动Steam
```shell
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
```
### 登录Steam
启动`Steam`后,很可能会出现黑色的弹窗,无法进行任何操作,这样我们也没法登录帐号,可以参考下面的方案。
#### 解决方案1
换以下启动命令:
```shell
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`,登录帐号并保证能看到游戏。
打开以下目录:
```shell
~/Library/Application Support/Steam
```
复制`config``userdata``registry.vdf`三个文件到下面这个目录:
```shell
~/my-game-prefix/drive_c/Program Files (x86)/Steam
```
重新启动`Windows`版本`Steam`
```shell
gameportingtoolkit ~/my-game-prefix 'C:\Program Files (x86)/Steam/steam.exe'
```
现在可以正常登录,但是可能还是有黑屏部分,可以通过点击菜单`View`-`Small Model`进行调整。
接下来就可以安装游戏了
### 启动游戏赛博朋克2077
这里我们以为例,假设你在`Steam`里下载并安装了`赛博朋克2077`,可以尝试直接在`Steam`启动游戏,如果不行的话可以用下面的命令启动游戏。
```shell
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`的路径。
```shell
~/my-game-prefix/drive_c/Program\ Files\ \(x86\)/Steam/steamapps/common/Cyberpunk\ 2077/bin/x64/Cyberpunk2077.exe
```
## 更多解决方案
### Steam 黑屏解决方案汇总
#### 其他Steam启动命令
1. 关闭终端,重新打开终端和执行启动`Steam`,多尝试几次。
2. 更换启动`Steam`命令:
```shell
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'
```
3. 使用`CrossOver`
```shell
WINEPREFIX="/Users/$USER/Library/Application Support/CrossOver/Bottles/Steam/"
```
#### 通过mac Steam登录
1. 登录`mac`版`Steam`。
2. 打开`~/Library/Application Support/Steam`,复制这三个文件: `config`, `registry.vdf`, `userdata`。
3. 粘贴到`~/my-game-prefix/drive_c/Program Files (x86)/Steam/`
#### 打开Steam后直接闪退
移除扩展显示器,或者停止屏幕镜像。