目標は mac でも galgame を推せるようにすることだ~~
背景 or TLDR ?#
私はこの文章を使って、少しは 技術志向であって ACG 志向ではない ことを証明しようとしているのだろうか?結局、前の二つの記事は以前のアニメゲームのレビューを寄せ集めたものだから。
このことは実際にはとても簡単で、ゲームポーティングツールキットをインストールして実行する だけで、ネット上のチュートリアルと大差ない。(はい、もう見なくていいです、クリック数を稼いでしまった🐶)ただ、今の技術はまだ成熟していなくて、夜の記事の時効性が強く、1 週間ごとに少しずつ変わる。いくつかの落とし穴にはまってしまった。前後合わせて約 6 時間かかってやっとこのことを通した。実際の時間は 2 時間もかからない(homebrew build
を含む)。
これをやっている理由は、毎月自分が興味のあることをランダムに少しやってみるからだ。( もちろん、996 の仕事の外で、 )今後、これについて別の記事を書くべきだと思う。
なので、wine に関する技術を研究する ことが先月のランダムなテーマだった。しかし最終的には本業をおろそかにして、これだけのことしかできなかった~~ そしてこのテーマは時効性があるので、まずは出しておくことにした。
⚠️⚠️⚠️時効性に注意⚠️⚠️⚠️
もし記事の中の方法に問題があったら、直接逃げないでください。コメントをたくさんしてください、こちらで少しずつ補足修正します。結局、私も一台のコンピュータしか持っていないので、そんなに多くの状況を予測することはできません~~
- 時間:2023-07-20
- デバイス: M1 チップ搭載の MacBook Air
- バージョン: macOS Sonoma Public Beta
事前にネット上の他の記事との違いを言っておく#
主にこの過程で私が遭遇したいくつかの問題、ネット上の他の記事では言及されていないこと、または解決するのが雑で曖昧なことについてです。
- x64 の homebrew を使う必要がある: 最初はコンピュータ上の brew をアンインストールした(破釜沈舟)。後でアンインストールするのは非常に愚かな行為だと気づいた。実際には必要なく、
/opt/homebrew/
関連のディレクトリを PATH から削除するだけでよかった。共存して使用できる~~ - ゲームポーティングツールキットは現在の XCode 15 beta 3/4/5 ではビルドに失敗する:最終的には XCode beta 2 を再インストールしなければならなかった。毎回ビルドするのに 1 時間以上かかって失敗したと言われた~~
さあ始めましょう#
準備作業 - Command Line Tools + ゲームポーティングツールキットのダウンロードとインストール#
まず、macOS Sonoma を使用していることを確認する、これは設定の中で直接更新すればいい。私は Public Beta バージョンに更新した。
次に、以下の二つをダウンロードする(ここをクリックしてダウンロード)、無料の Apple 開発者アカウントにログインする。普段使っている詳細情報でログインし、利用規約に同意すれば、続けられる。
- Xcode 15 beta 2 用の Command Line Tools(注意:beta 2 をダウンロードすること、15 beta 3/4/5 はビルドに失敗する、これが第 1 の落とし穴)
- ゲームポーティングツールキット beta 1.0.2
ゲームポーティングツールキットをインストールするとウィンドウがポップアップしますが、無視してください。現在は何のファイルも操作を実行しません。
homebrew のインストール Apple ゲームポーティングツールキット#
現在のゲームポーティングツールキットは実際にはネイティブ arm64 で動作をサポートしていないため、現在の homebrew arm64 のビルドプロセス中にエラーが発生します。
(エラーが発生しました、ハハ。これが第 2 の落とし穴です、最初は arm64 の brew を削除し、次に rosetta を使って x64 の brew をインストールしました)
しかし、実際には 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 をインストールできます(現在のシェルセッションにのみ有効)。
arch -x86_64 zsh
dir="/opt/homebrew/bin"
PATH="${PATH//"${dir}:"/}"
次に、x64 の homebrew をインストールし、eval で現在のセッションに読み込ませます(アクセスに問題がある場合は、ターミナルプロキシを開く必要があります)。
/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
を出力するはずです。
次に、実際にゲームポーティングツールキットをインストールします。
brew tap apple/apple http://github.com/apple/homebrew-apple
brew -v install apple/apple/game-porting-toolkit
その後?その後は休憩できます、私は 1 時間以上かかりました。そして次の二つのコマンドを実行します。(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 が準備されます。(以下のように)
実行後、環境を初期化するウィンドウがポップアップし、ドロップダウンリストから Windows 10 を選択します。「適用」をクリックし、「OK」をクリックしてウィンドウを閉じます。
次に、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'
(成功しました、乾杯🍻)
最後に - 私は少し動画を録画しました#
ついでに xLog の動画効果をテストします
Apple ゲームポーティングツールキットを使用して M1 Air で Windows X64 ゲームを実行する効果、一つは《地下城に連れて行って》、もう一つは《八方旅人 2》。
3A ゲームデモ《ニーア オートマタ》
カバー用の画像を折りたたみました
後記 - なぜこの技術に興味を持ったのか#
なぜこの技術に興味を持ったのか? mac でも galgame を推せるようにするため?とはいえ、mac ユーザーとして、もう長い間 galgame に触れていない。
主に最近 steam deck を購入したから。まず、私は archlinux が大好きで、次に steam が大好きで、さらに、携帯ゲーム機が大好きで、あまり Windows を使いたくない)。そして steam deck = archlinux + steam + 携帯ゲーム機 - Windows、Proton/Wine がこれを可能にしたので、TODOList に wine の調査が入っていました。
そして、あの衝撃的な Apple の Vision Pro 発表会にちょうど出くわした、その中のアクセサリーゲームポーティングツールキット。私はこう信じています、ゲームポーティングツールキットは 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 ゲームポーティングツールキットを使って M1 Air で Windows ゲームをプレイする方法 」
- 2023-08-06 14:56 v1.0 3A ゲームデモ《ニーア オートマタ》を更新
- 2023-08-06 22:04 v1.1 この記事と他の記事の違い の段落を前に持ってきました。また、参考資料を更新しました。
参考資料#
- そう、私はこの文章を見て書いた: Apple Game Porting Toolkit を使って macOS で Diablo IV をプレイする方法 - Dexerto
- ゲームポーティングツールキットビルドエラー | Apple Developer Forums
- シェルを知らない方は補足してください、Bash スクリプトチュートリアル - 網道
- apple gaming wiki:このサイトではどのゲームがプレイ可能かを見ることができます。
- How Wine works 101 | Hacker News:wine の「翻訳」原理について。
- Apple のゲームポーティングツールキットは Windows ゲームを macOS で実行できるが(まだ最終ユーザー向けではない) - Liliputing: 実際、現在の目標は開発者が移植しやすくすることであり、最終ユーザー向けではありません。