Mac をゲーミング PC だと言い張りたい
Mac はゲーミング PC ではない。何をどう間違ってもゲーミング PC ではない。少なくとも本稿執筆時点では。
はじめに
iPhone は高価だが買ってしまえば優秀なゲーム機である。あの薄く軽く小さい本体で 3D ゲームすら問題なく動いており、多くのプレイヤーが遊んでいる。
iPad も同じく高価だが、3D ゲームがより問題なく高画質で動く。スマホゲームをよりよく遊びたい人にとって、iPad は良い選択肢になっている。
Mac はさらに高価であり、iPad Pro と MacBook Air は同じ CPU で動作している。つまり OS と形がちょっと違うだけで脳は一緒だ。であるにもかかわらず、なんと Mac でネイティブに動くゲームは驚くほど少ない。Mac はゲーム機とほとんど同じものであるにも関わらず、なぜかゲームが提供されていないのだ。
これは世の中が間違っている。iPad で余裕で最高画質で動くゲームがより性能の高い Mac でそもそも起動すらできないのはおかしい。遊べて然るべきだ。許すまじフリーメイソン!
まぁ、ゲーミング PC を買えばよくね?とかクラウドゲーミングサービスあるよね?とかいうのはそうなのだが、違う。そういう話をしているのではない。どう考えてもネイティブでゲームを動かす性能がある Mac でゲームを動かしたいのだ。ゲームがしたいのではない。Mac でゲームをしたいのだ。
Mac 対応ゲームがないなら Windows 対応ゲームを遊べばいいじゃない
実は Windows 対応ゲームを Mac 上で動かす方法はいくつかある。完全ではないので動くかもしれないくらいの話なのだが、それでもこの方法により遊べるタイトルが驚くほど増える。
方法は大別して二つある。完全な Windows を Mac 上で動かす方法と、Windows 向けの命令を Mac 向けの命令に変換して Mac 上で動かす方法だ。
完全な Windows を Mac 上で動かす方法
正直これで動いてくれたら一番使いやすい。MacOS 上で専用ソフトを用いて Windows を丸ごと起動し、そこでゲームを起動する。この方法であれば完全な Windows 上で実行するので、Windows 起動後は WindowsPC を操作する感覚でゲームをインストール、起動できる。簡単だ。
この方法で有名なソフトは Parallels Desktop がある。
Parallels Desktop
結構費用が高いことに注意だ。
昔はこの Parallels Desktop でゲームを動かすことができなかったのだが、徐々に動くゲームが増えている。
重要な説明を挟むので、一旦この話はここまでにする。
Windows 向けの命令を Mac 向けの命令に変換して Mac 上で動かす方法
完全な Windows を動かすのではなく、最低限の互換レイヤー上でゲームを動かす方法もある。Wine が有名だが、これをベースにしたもっと使いやすいツールが多くある。
Whisky
非常に使いやすい Wine ラッパーだ。ボトルという単位で仮想環境のようなものを作成し、その中にゲームをインストールして実行する。かなりシンプルで使いやすい。ターミナル叩く必要もないしね。
無料でオープンソースであり、後述する CrossOver の運営によってメンテナンスがされている。ある種 CrossOver のお試し版のようなものだと考えた方がいいかもしれないが、結構これで足りる場面も多い。
特に解説しないが、homebrew を利用している人は以下のコマンドでインストールできる。
brew install --cask whisky
CrossOver
Whisky のもっと親切で中の Wine のバージョンが高い有料ソフトだ。
ほとんど一緒なので、正直別に解説いらないんじゃないかと思っている。
今回もマリーアントワネットは現状理解が浅い
大抵の記事はここで終わっている。だが、この知識だけではゲームはあんまり動かない。もうちょっと座学が必要だ。辛抱してついてきてほしい。
Arm 版 Windows と X86 版 Windows
さて、ゲーミング PC で動く Windows と Parallels Desktop で動く Windows は同じものなのだろうか?
ゲーミング PC で動く Windows は X86 版 Windows であり、Parallels Desktop で動く Windows は Arm 版 Windows である。
なんと同じ名前をして別物なのだ!
この違いは動作する CPU の違いによって生まれている。X86 版 Windows は普通の Windows であり、Intel や AMD が作る X86 アーキテクチャの CPU を持つ PC に対して動作する。Arm 版 Windows は主に Qualcomm が作る ARM アーキテクチャの CPU を持つ PC に対して動作する。
細かい理屈は自分も知らないが、CPU アーキテクチャごとに命令の仕方が違うため、X86 版 Windows は ArmCPU では動かないのでそれ専用の Windows を作る必要があったという話だと思っている。詳しいことは知らん。
しかし、Arm 版 Windows でこれまでの X86 版 Windows で使っていた馴染みのアプリケーションが動かないと話にならない。そのため Microsoft は Prism と呼ばれる変換技術を用いて X86 版 Windows 向けアプリケーションの命令を Arm 版 Windows 向けアプリケーションの命令に変換している。これにより X86 版 Windows 向けアプリケーションがする CPU への命令は Arm CPU に適式に届けられる。まぁそれでも色々課題はあるようで、全部が動くわけではないし、明らかに Arm 版 Windows ネイティブ対応版と比べて X86 版 Windows アプリケーションを Arm 版 Windows で動かすとかなりパフォーマンスが落ちるようである。
ゲームは GPU も使うよね?
気が付いただろうか。先ほどの話は CPU の話だ。だがゲームでは他に GPU も使用する。GPU 向けの命令はどうなっているの?という疑問が残ろう
DirectX
ゲームでよく使われる Windows 専用の GPU に命令する命令セットは DirectX である。API とか言っちゃうと普通に読者が脱落するのでテキトーな日本語を当てているが、甘い理解を適当な用語運用をしているので結構説明としてはひどい。
Steam 等を巡っていると、推奨環境の項目の一つに DirectX の項目があることに気づくだろう。だいたい 11 か 12 である。
APEX は DirectX12 らしい。
問題はこの DirectX 11、DirectX12 に Parallels Desktop で動く Arm 版 Windows がどこまで対応しているか、Whisky や CrossOver の場合はどうかという話になる。
Arm 版 Windows の DirectX 対応状況
DirectX 9、DirectX 10、DirectX 11、DirectX 12 を利用する X86 版 Windows 向けゲームは Arm 版 Windows でも動作する。
x86 デスクトップ アプリのトラブルシューティング - Microsoft
Parallels Desktop の DirecrtX 対応状況
Parallels Desktop は DirectX 11.1 までのサポートである。
Parallels Desktop User's Guide グラフィック設定
つまるところ、ボトルネックは Parallels Desktop で、DirectX12 必須のゲームは 100%動かない。
Whisky の DirectX 対応状況
Whisky は内部的に Apple の Game Porting Toolkit (GPTK) を使っている。GPTK の対応状況によって、DirectX の対応状況が決まる。
公式サイトでイマイチ記述が見つけられなかったが、DirectX 12 にも対応しているらしい。らしい。それ以下はどこまで対応しているかわからないが、DirectX11 のゲームが動作することは手元の環境で確認済みである。DirectX 12 必須のゲームであれば、GPTK ベースのツールに縋るしかない。動くかはわからないが。
CrossOver の DirectX 対応状況
CrossOver は内部的に Apple の Game Porting Toolkit (GPTK) を使っている。つまり Whisky と一緒だ。もちろん他の点での最適化の影響で、実際に動くかどうかでは差が出る可能性はかなりある。
GPU に関してのまとめ
やりたいゲームが DirectX のバージョン幾つで動作するのかを確認して、それに合わせたツール選択をする必要がある。まぁ無料だから基本 Whisky で動くか確認し、ダメで DirectX11 で動くなら Parallels Desktop で動くか確認するのがいいのではないかと思う。CrossOver の対応ゲームリストも要確認だ。
実践編
自分は Whisky で原神を遊んでいるので、その方法を解説する。他のゲームもほぼ一緒だと思う。
なお、原神のようなガチャ課金型オンラインゲームを非公式の方法で遊ぶ場合、運営の方針次第で BAN されるリスクがある。最悪急にアカウントが消失し何万円何十万円と課金したデータが消滅するリスクを承知の上で行ってほしい。Steam で買った買い切りゲームとかならそのリスクはほぼないと思うけれど。
Whisky をインストールする
公式からダウンロードをしてインストールする方法、homebrew でインストールする方法があるが、どっちでも良い。ダウンロードをしたら開こう。
brew install --cask whisky
色々ダウンロードしろと言われるのでボタンぽちぽちしてれば進む。
ボトルを作成する
新しいボトルを作成するボタンを押し、ボトル名、Windows のバージョンを選ぶ。Windows のバージョンは Windows11 がいいと思う。
作成ボタンを押したらしばらく待つ。
フォントのインストール
Winetricks ボタンを押し、出てきた窓の上からフォントタブを選び、cjkfonts を選択して実行ボタンを押す。
ターミナルが開き、文字がたくさん流れるので、止まるまで待つ。止まったらターミナルを閉じよう。
ゲームをインストールする
公式からインストール用パッケージをダウンロードする。
ダウンロードが終わったら、Whisky の先ほど作ったボトルの実行ボタンを押し、ダウンロードフォルダにある先ほどダウンロードしたファイルを実行する。
Microsoft Visual C++ のインストール許可を求めるウィンドウが出るので、チェックを入れてインストールを開始する。
開いた HoyoPlay の画面真っ白だが?
原神に限った話なのだが、ここで詰む。なんと原神をダウンロードインストールするための HoyoPlay が真っ白で表示されるのだ。これでは先に進めない。
genshin impact - whisky documentation
whisky のインストール済みプログラムから launcher.exe の歯車マークで設定を開き、引数に以下を追加する。
--in-process-gpu
そして下の実行ボタンを押そう。これで中身のある HoyoPlay が起動できる。
原神のインストール
HoyoPlay で原神をインストールする。100GB 程度あるらしく、当然非常に時間がかかる。人によってはストレージが足りなくて詰みそう。3D ゲームデカスギィ!
プレイ中にエラーが出て止まるが?
デバイスの動作環境に異常が検出されました。デバイスを再起動してください
エラーコード:10351-0441
少しプレイしただけで上記エラーが出て進めないことがある。最近よく起こっているらしい。
この問題に対処する。
Genshin Impact on Linux - abnormal activity Error 10351-4001 - my workaround
Mac は Linux ではないという細かい話は置いておいて、上記サイトによると GenshinImpact.exe を直接起動し、その引数として以下を指定すると解決するらしい。
-platform_type CLOUD_THIRD_PARTY_PC
HoyoPlay の時と同様に、whisky のインストール済みプログラムから GenshinImpact.exe の歯車マークで設定を開き、引数に以下を追加する。
-platform_type CLOUD_THIRD_PARTY_PC
そして下の実行ボタンを押そう。これで自分は上記エラーが出なくなり、問題なくプレイできるようになった。
終わりに
最近、GPTK2.0 がリリースされ、Whisky の中身の GPTK のバージョンも上がったらしい。
それまでは 古い GPTK ベースの Yaagl を利用して Mac で原神をプレイしていたのだが、より汎用性があり、不安の少ない Whisky で動いたら最高だと思い試したところ、格段に CPU 負荷が下がっているのを確認した。GPU 負荷は変わらなかった。
このバージョンになってからというもの、かなりの最適化が施されたようで、今後様々なゲームで動作報告がされるだろう。
実際に動かして思ったが、動いてさえしまえば Mac でもかなりゲーム性能が出る。M4 Max なのであれだが、原神の設定を最高にしても MacBookPro の画面の 3K で 60fps 貼り付きで出る上に GPU 負荷がそれでも 6~7 割程度しかない。もう少し重いゲームも遊べそうだ。
また、サイバーパンク 2077 がおそらくそうだが、GPTK を利用して公式で Mac 対応を行うゲームも今後増えていくだろう。
できれば原神みたいなガチャ課金ゲーこそ公式で Mac 対応して欲しいよね。