手元のM1MacBookでWindows用のゲーム(とSteam)を動かしたくなったのでメモとか。
そもそも動かしていいのか
Steamの利用規約を読む限り、互換レイヤーで動かすなとは書いてないし、そもそもSteam Deckも互換レイヤー(Proton)で動かしてるので、Steam上では大きな問題はなさそう。
Apex LegendsやValorant1はそもそもBIOSレベルのアンチチートを入れる必要があるので互換レイヤーじゃ無理。それ以外のオンラインサービスがあるゲームは規約次第じゃアウトかもしれない。
何があっても自己責任で。
Whiskyとは(読みとばしてもいい)
Wineのラッパー……と言えばわかる人にはわかるかも。
WineとはUnix系OS上でWindowsのアプリケーションを動作させるためのプログラム。エミュレーターではなく、ネイティブ動作させるのが目的。
エミュレーターとどう違うのかと聞かれると、エミュレーターは環境を仮想的に再現するもの。例えばゲーム用のエミュレーターだと「パソコンの中に、そのゲーム機を構築して、仮想的に再現したゲーム機上でゲームを動作させる」ようなことをやっている。
一方で互換レイヤーであるWineは「Windowsのアプリを実行するために、すっごい頑張ってWindowsの命令を解釈して直接動作させる」アプリケーション。
エミュレーターは環境を用意するのが大変だし、仮想的に全てを再現してるのですごくリソースが必要になる。Wineはそんなにリソースは必要じゃないし、速い。ただ、完璧にWindowsを再現できるわけじゃないからアプリケーションが完璧に動作するとも限らない。
Macユーザーにとって身近な例だとRosetta 2が挙げられると思う。ただ、Apple Siliconが主流になった今、Rosetta 2を使って動かす必要も減ってきたけど……。
WhiskyはそんなWineを利用しやすくしたアプリ(そしてMac用に最適化して、Appleが提供するGPTK2も動作するので、特にゲーム目的に使えるもの。
ちなみに同様のアプリで、有料のCrossOverというものがある。こちらも根幹の技術は同じでWine + GPTKで動作するが、Whiskyより広範のアプリが動作するらしい。
違いはWhiskyのドキュメントにも書いてあって、CrossOverの方が優れてるから無料(オープンソース)か有料のどちらがいいかは自分のニーズに合わせてね〜と記載されています。
ちなみに:この手のアプリは必ず「安全性は?」と聞かれるので「オープンソースだからコミュニティによってある程度の担保はあるが、何事も『絶対に安心』とは言えないので本当に気になるなら使わないでください」としか言えない。7-zipとかと一緒。
Whiskyの導入(本題)
Whiskyは公式サイトよりダウンロードできる。
起動すると以下のような画面が出るので[次へ]を押すと自動的に環境を整えてくれる(はず)
Bottleを作る
最初にBottleを作る必要がある。……Bottleってなに?
BottleとはWindowsの環境を再現するためのディレクトリと設定を含むもので、以下の要点を押さえてれば大体理解できると思う。
- Bottle単位で(Windowsの)Cドライブのファイルが管理される(1つのBottleに、1つのWindowsが入っている)
- Bottle単位でWineがどのように動作するかの設定を保存できる(この設定は後から変更できる)
Bottle=環境と考えればわかりやすいかなと思います。
Bottleの作成に関しては、公式ドキュメントには以下のように記載されています(意訳)
新しいボトルを作るべきタイミング
一般的な慣例として、1つのボトルに1つのゲームをインストールするのがおすすめです。1つのボトルに複数のゲームを入れると、依存関係が複雑になり、トラブルの原因となりやすいからです。(以下略)
Steamゲームの場合
Steamゲームについては、すべてのボトル間で共通して使用できるWindows用ゲームライブラリを1つ作成できます。これにより、ゲームのインストールデータがボトルのインスタンスから独立し、ボトルに問題が発生しても再ダウンロードする必要がなくなります。さらに、この方法を使えば、CrossOverのような他のアプリケーションでもゲームライブラリを利用することが可能になります。
要は「ゲームごとにBottleを作れ」「Steamのゲームインストール先は外部ドライブとしてBottle外の適当なディレクトリを選択しておくと便利だぞ」と書いてあるのですが、特に後者に関して私の環境では「同一のBottle内でSteamが動作してないとゲームが起動しない」という現象が発生した(たぶん不正コピー対策)ので、SteamゲームでBottleを分けて動作させるのは難しい感じがしました。
まぁどうせ息抜きにノベルゲームをやる程度なので、本格的に困る人はCrossOver買うか、適当なAMD APUを積んだミニPCを買うとかの方がいいような気がします。
Steamのインストール
Steamのダウンロードページから「こちらでも利用可能」のWindowsマークをクリックするとダウンロード可能
「プログラムをピン留め」からダウンロードしたsteamsetup.exeを選択。
実行するとセットアップウィザードが立ち上がる(すごい)
インストールが終わったらSteam本体をピン留めする。実体はBottle内のProgram files(x86)/Steam/steam.exe
にある。あるいは[インストール済みのプログラム]からsteam.exeを選択してもいい。
〜〜.exe
を追加しても表示されないときは右上の更新アイコンを押すと表示されたりする。
あとはsteam.exeをダブルクリックなりなんなりで起動すればいい。自分もそうだったし、他の報告でもみたけど初回起動はすっっっっごい時間かかったので、気長に待つこと。
(Steam)ゲームのインストールと起動
あとの手順は想像通りで、Steamのクライアント上からゲームをダウンロードして起動するだけ……と言いたいが、なぜかダウンロードが100%で止まらない不具合がある。
公式ドキュメントによるとBottleの設定がMSyncになっていると発生するから(a)ESyncに設定するか、(b)都度Steamを再起動するとダウンロードできるとのこと。
ESyncへの切り替えは[Bottleの設定]にある[Enhanced Sync]から変更できる。MSync / ESyncとはオプションの一つで、ゲーム目的だと基本的にはMSyncのほうが良いとのこと。
いちいち設定を変更するよりは都度Steamを再起動したほうがいいとは思うけど、Steamを終了したつもりでも実は裏で動いてたりする。
うまくダウンロードが完了しない場合、アクティビティモニタを開いて終了したほうがいい。
また、先述の繰り返しになるが「ライブラリのダウンロード先を(例として)\~/SteamLibraryのようなディレクトリを指定した上でBottleを分けたほうがいい」と公式ドキュメントでは記載されているが、SteamのゲームはSteam本体と同じBottleじゃないと起動しない。
なのでSteamのゲームはディレクトリをわざわざ用意する利点は薄い気がする(もしかしたらCrossOverはその点回避できるのかもしれないが、回避できるならライセンス的に大丈夫なのか…?)
終わりに
意外とまともに動いてびっくりした。逆転裁判は問題なく動くし、Core Keeperは動かなかったけどAstroneerは結構快適に動いてびっくりした。
本気でMacでゲームしたい人はCrossOverなどに手を出しても面白いかも。
ゲーミングPCを買うほどでもないけど……な人は最近だとミニPCを買っても面白いと思う。AMD APUの性能が最近面白いくらい上がってるので、Radeon 780Mなど積んでるPCならAAAを最高画質で!とかは無理でも最低画質ならある程度快適に遊べるくらいになってきてます。
(なんかミニPC界隈はけっこうクーポンで安くなるので気になる人はAmazon側でチェックしてみてください)