banner
niracler

niracler

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

如何使用 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 將 這篇文章與其他文章的區別 的段落提前了。以及更新了參考資料

參考資料#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。