banner
niracler

niracler

长门大明神会梦到外星羊么?
github
email
steam_profiles
douban
nintendo switch
telegram

如何使用 Apple Game Porting Toolkit 在 M1 Air 上玩 Windows 游戏 - v1.1

目标是 mac 上也可以推 galgame 啦~~

背景 or TLDR ?#

我是不是要用这篇文章来证明一下我稍微是一个 技术导向而不是 ACG 导向 的人?毕竟前两篇文章都是用之前的动画游戏的点评凑数的。

这个事情其实很简单,就是 安装 game porting toolkit 然后运行 即可,跟网上的教程也是大同小异。(是的,不用看下去了,点击量骗到了🐶)只不过现在这个技术还不成熟,而且晚上的文章的时效性比较强,每过一周都会有点不一样。以至于我踩了一些坑。前前后后大约花了 6 个小时的时间才跑通了这个事情。实际时间不需要 2 个小时(包括 homebrew build

之所以会折腾这个,是因为我每个月都会 random 一些自己感兴趣的事情稍微做一下。( 当然是在 996 的工作外, )估计以后应该会单独写一篇文章来说这个 random 的事情。

所以,研究 wine 方面的技术 就是我上个月的随机到的课题。但最后我不务正业,就只搞了这么一点东西~~ 而且这个课题是具有时效性的,于是我就拿出来先发了。

⚠️⚠️⚠️注意时效性⚠️⚠️⚠️

若文章里面的方法有问题,请不要直接跑路了。请多多评论,我这边慢慢补充修改。毕竟我也只有一台电脑,没法预测这么多情况~~

  1. 时间:2023-07-20
  2. 设备: MacBook Air with M1 chip
  3. 版本: macOS Sonoma Public Beta

提前说一下跟网上其他文章的区别#

主要是我在这个过程中遇到的一些问题,网上其他文章没有说到的,或者解决起来很马虎含糊的。

  1. 要用 x64 的 homebrew: 我一开始是将电脑上的 brew 给卸载了(破釜沉舟)。事后才发现卸载 homebrew 是一个很蠢的行为,其实是不需要的,只需要将 /opt/homebrew/ 相关目录从 PATH 中移除就好了。还能共存使用~~
  2. game porting toolkit 当前 XCode 15 beta 3/4/5 都会 build 失败:最后要装回 XCode beta 2 才能用。每一次 build 都 build 了我一个多小时才跟我说失败~~

我们来开始吧#

准备工作 - 下载安装 Command Line Tools + Game porting toolkit#

首先,要先 确保我们使用的是 macOS Sonoma, 这个直接在 Setting 里面更新就好。我是更新了 Public Beta 版本。

然后下载下面这两个(点击这里下载 ),登录免费的 Apple 开发者帐户。使用你常用的详细信息登录,同意条款和条件,然后我们就可以继续了。

  • Command Line Tools for Xcode 15 beta 2(注意是下载 beta 2,15 beta 3/4/5 都会 build 失败,这是第 1 个坑)
  • Game porting toolkit beta 1.0.2

Pasted image 20230801001506

Pasted image 20230801001620

Game porting toolkit 安装后会弹出一个窗口,请忽略它,因为现在没有任何文件会执行任何操作。

Pasted image 20230801231132

homebrew 安装 Apple Game Porting Toolkit#

因为当前 game porting toolkit 其实还不支持在原生 arm64 上面跑 ,所以在当前 homebrew arm64 在 build 的过程中会出现报错。
(报错了,哈哈。这是第 2 个坑,我一开始直接将 arm64 的 brew 给删了,然后再用 rosetta 装的 x64 的 brew)

Pasted image 20230731102049

但其实你是不需要卸载 arm64 的 brew 的,因为 brew x64 的安装目录是 /usr/local/bin/,而 brew arm64 的安装目录是 /opt/homebrew/bin

然后,若是没有安装 rosetta 的系统应该要跑下面这句安装

softwareupdate –install-rosetta  

确保你系统有 rosetta 之后, 进入 x64 版本的 zsh,删除当前 PATH 中的 brew 目录。这个就是让 x64 和 arm64 的 homebrew 共存的关键,需要将 /opt/homebrew/bin 目录从 PATH 环境变量中删除掉就相当于删除 arm64 的 brew 了。

这样就可以在不删除 arm64 版本的 brew 的情况下去安装 x64 的 brew 了 ( 只对当前 shell session 有效)

arch -x86_64 zsh
dir="/opt/homebrew/bin"
PATH="${PATH//"${dir}:"/}"

然后我们开始装 x64 的 homebrew 吧,然后用 eval 加载到当前 session( 访问有问题估计要开终端代理 )

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
eval "$(/usr/local/bin/brew shellenv)"

此时 which brew 应该就是输出 /usr/local/bin/brew

接下来就是真正安装  Game Porting Toolkit 了

brew tap apple/apple http://github.com/apple/homebrew-apple  
brew -v install apple/apple/game-porting-toolkit

然后?然后就可以休息了,我安装了一个多小时。然后再跑下面两句。(TODO: 其实我整片文章都还没搞清楚 官网下载的 game-porting-toolkit, 与 brew 安装的 game-porting-toolkit 之间的关系

ditto /Volumes/Game\ Porting\ Toolkit-1.0/lib/ /usr/local/opt/game-porting-toolkit/lib/
cp /Volumes/Game\ Porting\ Toolkit*/gameportingtoolkit* /usr/local/bin

设置游戏移植套件#

我们这里第一个目标就是给 steam 初始化一个 wine prefix 环境, WINEPREFIX 就是指定一个文件夹来存放 wine 的运行环境,

WINEPREFIX=~/steam /usr/local/opt/game-porting-toolkit/bin/wine64 winecfg

该环境中会将运行 windows 文件的一些目录以及 dll 给准备好。(如下)

image

运行后将弹出一个初始化环境的窗口,从下拉列表中选择 Windows 10。点击「 应用 」并单击「 确定 」关闭窗口。

Pasted image 20230802000312

接下来我们到 steam 的官网将 steam 的 x64 版本给下载下来,点这里下载

先进行安装

gameportingtoolkit ~/steam ~/Downloads/SteamSetup.exe

安装完之后,就可以开始运行了,C:\Program Files (x86)/Steam/steam.exe 路径就是安装完后 steam 在 wine 里面的路径。

gameportingtoolkit ~/steam 'C:\Program Files (x86)/Steam/steam.exe' 

(成功了,干杯🍻)
Pasted image 20230802074002

最后 - 我稍微录制了一个视频#

顺便测试一下 xLog 的视频效果

使用 Apple Game Porting oolkit 在 M1 Air 上运行 WIndows X64 游戏的运行效果,一个是《带我去地下城吧》,另外一个是《八方旅人 2》

3A 游戏演示《尼尔机械纪元》

折叠了一张封面用的图片

image

后记 - 关于为什么对这个技术感兴趣#

关于为什么对这个技术感兴趣? 为了 mac 上也可以推 galgame ?虽说 作为 mac 用户,已经好久没能碰到 galgame 了。

主要是我前段时间买了 steam deck。首先,我很喜欢 archlinux ,再是,我很喜欢 steam,再再是,我很喜欢掌机,也不太那么喜欢用 windows)。而 steam deck = archlinux + steam + 掌机 - windows, 是 Proton/Wine 让这个成为了可能,于是 TODOList 里面就有 wine 的调研了。

然后适逢那场令人震撼苹果的 Vision Pro 发布会,以及其中的配件 Game Porting Toolkit。我是这么相信的,Game Porting Toolkit 就是 Apple 的 Proton 时刻 。让我对 Apple 做游戏平台有信心了,尤其是 Vision Pro 上的游戏平台。

最后,感觉因为 xLog 的 UI 布局比较好看,搞的我有点写文章的水平提高了的错觉~~ 我不太喜欢写那种干巴巴的技术文章。不过总的来说,我写文章还是写得后继无力。例如 这篇文章里面有很多细节以及概念是没有讲清楚的 。但这个文章是有时效性的,而且要经过多次调试,我就先发上来,以后再改了。


修改#

  • 2023-08-02 23:33 v0.2 修改了标签和一些描述
  • 2023-08-03 07:35 v0.3 更新了有声音版本的视频录制,用的是 CleanShot 进行录制的,还不错。
  • 2023-08-03 22:06 v0.4 XCode 15 beta 5 也是挂的,不用看了,详情看参考链接 2
  • 2023-08-04 19:43 v0.5 被别人吐槽不要标题党,于是改了标题 「 如何使用 Apple GPT 在 M1 Air 上玩 Win X64 小黄油 」 ==> 「 如何使用 Apple Game Porting Toolkit 在 M1 Air 上玩 Windows 游戏 」
  • 2023-08-06 14:56 v1.0 更新 3A 游戏演示《尼尔机械纪元》
  • 2023-08-06 22:04 v1.1 将 这篇文章与其他文章的区别 的段落提前了。以及更新了参考资料

参考资料#

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.