目標は Mac 上でも galgame を推せるようにすることだ~~
背景または TLDR ?#
この文章を使って、私は少し 技術指向であって ACG 指向ではない ということを証明する必要があるのだろうか?結局、前の二つの記事は以前のアニメゲームのレビューを寄せ集めたものだから。
このことは実際にはとても簡単で、ゲームポーティングツールキットをインストールして実行する だけで済む。ネット上のチュートリアルと大差ない。(はい、もう見る必要はありません、クリック数を稼ぎました🐶)ただ、今の技術はまだ成熟しておらず、夜の記事は時効性が強く、1 週間ごとに少しずつ変わる。結果として、いくつかの落とし穴にはまってしまった。前後合わせて約 6 時間かかってようやくこのことを実行できた。実際の時間は 2 時間もかからない(homebrew build
を含む)。
この作業をする理由は、毎月自分が興味のあることをランダムに少しずつやっているからだ。(もちろん、996 の仕事の外で、)今後、これについてのランダムなことを単独で記事にする予定だ。
したがって、Wine に関する技術を研究することが先月のランダムなテーマだった。しかし、結局、私は本業をおろそかにして、これだけのことしかできなかった~~ そしてこのテーマは時効性があるため、まずは発表することにした。
⚠️⚠️⚠️注意:時効性⚠️⚠️⚠️
記事の中の方法に問題があった場合、すぐに逃げないでください。コメントをたくさんいただければ、こちらで徐々に補足・修正します。結局、私も一台のコンピュータしか持っていないので、これだけの状況を予測することはできません~~
- 時間:2023-07-20
- デバイス: M1 チップ搭載の MacBook Air
- バージョン: macOS Sonoma Public Beta
事前にネット上の他の記事との違いを説明#
主にこのプロセスで遭遇したいくつかの問題、ネット上の他の記事では触れられていないこと、または解決が雑であったことについてです。
- x64 の homebrew を使用する必要がある: 最初はコンピュータ上の brew をアンインストールしてしまった(破釜沈舟)。後で気づいたのは、homebrew をアンインストールするのは非常に愚かな行為で、実際には必要なく、単に
/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 Game Porting Toolkit#
現在のゲームポーティングツールキットは実際にはネイティブの 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 時間以上かかりました。そして、次の 2 つのコマンドを実行します。(TODO:実際にはこの記事全体の中で、公式サイトからダウンロードしたゲームポーティングツールキットと brew でインストールしたゲームポーティングツールキットの関係がまだわかっていません)
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 プレフィックス環境を初期化することです。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 Game Porting Toolkit を使用して M1 Air で Windows x64 ゲームを実行する効果、一つは《地下城に連れて行って》、もう一つは《八方旅人 2》。
3A ゲームデモ《ニーアオートマタ》
折りたたまれたカバー用の画像
後記 - なぜこの技術に興味があるのか#
なぜこの技術に興味があるのか? Mac 上でも galgame を推せるようにするため?とはいえ、Mac ユーザーとして、galgame に触れることができなくなって久しい。
主に最近 Steam Deck を購入したからです。まず、私は Arch Linux が大好きで、次に Steam が大好きで、さらに携帯ゲーム機が大好きで、あまり Windows を使いたくないのです)。そして、Steam Deck = Arch Linux + Steam + 携帯ゲーム機 - Windows、これは Proton/Wine が可能にしたことで、TODO リストに 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 Game Porting Toolkit を使って 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: 実際、現在の目標は開発者が移植しやすくすることであり、エンドユーザー向けではない