Ubuntu で Windows 版のゲームをプレイしてみました。

Proton ってスゴいソフトウェアですね!

これでまた一つ、 Windows を使う理由が減ったんじゃないですかね?

PC とゲーム。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

ゲーミング PC という言葉も一般的になったほど、 PC とゲームは切っても切り離せない関係になっています。

んで、PC でゲームと言えば Steam ですね。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

このブログにたどり着いたあなたには Steam の説明はいらないと思いますが、万が一 Steam を知らない人がいたときのために、一応説明しておきます。

Steam とはアメリカの Valve Corporation によって、開発及び運営されているゲームプラットフォームで、PC ゲーム・PC ソフトウェアおよびストリーミングビデオのダウンロード販売とハードウェアの通信販売、デジタル著作権管理、マルチプレイヤーゲームのサポート、ユーザの交流補助を目的としています。

この Steam を Linux でも使うことができます

というか、オフィシャルで提供されている SteamOS は Linux ベースのプラットフォームです。

ですが、そのくせ SteamOS ではプレイできないゲームが結構有りました。  

ユーザーシェアのためか Windows 優先でゲームが提供されていたのです。

当然といえば当然なのかもしれませんが、ちょっと腑に落ちないですよね。

たとえば、おじさんでも知っているゲームの一つストリートファイター

Street Fighter V も Steam で提供されていますが、やっぱり Windows 版だけしか提供されていません。

https://www.capcom.co.jp/sfv/

Capcom グローバルでは2015年12月17日に SteamOS のサポート、つまり Linux 版のサポートを発表し、翌日12月18日〜12月20日にかけてβテストを行うとのことでした。

が、その後正式リリースされることはありませんでした。

https://www.capcom-unity.com/street_fighter/blog/2015/12/17/announcing-steam-os-support-for-sfv

その他にもいくつかのタイトルが Linux への対応をアナウンスしていましたが、結局は事実上の中止になりました。

SteamOS があるのに、とか思っていたのは僕だけでは無いはずです。

今までは。

Steam Proton

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

Steam の開発元である Valve は、2018年8月21日に Proton というソフトウェアを発表しました。

この Proton は、Valve と CodeWeavers が共同で開発している Windows 向けのゲームを Linux ベースの OS 上で動作させるための互換性レイヤーです。

Linux で Windows 用のプログラムを動作させるソフトウェア Wine のフォークをベースとしていますが、完全に Wine から独立したものというわけではなく、Steam クライアントのリリースに合わせたリリースコントロールと、Steam 固有のパッチを適用するためのプロジェクトでもあるようで、その成果については Wine へもフィードバックされています。

また Steam 上では、「Steam Play」として Steam クライアントに統合されるように設計されています。

Proton の最大の特徴は Direct3D への対応のために Vulkan をサポートしていることです。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

Vulkan は、オープンスタンダード・ロイヤリティフリー・クロスプラットフォームで、完全な制御機能を必要とする開発者に、GPUの直接アクセスを提供する低レベル API です。

よりシンプルかつスリムなドライバを採用した Vulkan では、従来の OpenGL や Direct3D に比べ、レイテンシとオーバーヘッドが抑えられています。

また、効率的なマルチスレッド機能も搭載されているので、マルチコア CPU でグラフィックス・パイプラインのロードを維持できるようになり、既存のハードウェアから新たなレベルのパフォーマンスを引き出すことが可能になります。

早い話、Vulkan は、クロスプラットフォームの 3D API です。

https://blogs.nvidia.co.jp/2016/02/22/vulkan-graphics-api/

これにより比較的新しいハードウェアであれば、Windows でプレイするのと遜色ない速度と安定性を実現しています。

この Proton 互換レイヤーが進歩したことで、ユーザーは Linux に切り替える負担が大幅に軽減されました。

おかげで、今では多くの Windows 用のゲームが Linux 上でプレイできるようになっています。

先程触れた Linux への対応を発表していたにも関わらず、リリースされていないタイトルもこの Steam Proton のおかげで Linux でプレイできるようになりました。

おそらく、移植の手間を省くために正式な移植を中止したものと思われます。

実際に、Steam Proton 発表後、Linux をネイティブでサポートするゲームタイトルが Steam 上から減っています。

参考記事

https://gigazine.net/news/20201208-linux-steam-proton/

とは言え Proton はまだ開発途中のため、全てのゲームが Linux 上でプレイできるわけではなく、現在 Steam に提供されているゲームのうち、実際にプレイできるタイトルは全体のおよそ8割程度です。

Valve が Proton 経由でのプレイを確認しているものは「ホワイトリスト」として登録されています。

ホワイトリストに登録されたゲームは Steam Play (Proton) を有効化した時点で Linux でも購入およびプレイができるようになります。

また「⁠ホワイトリストに入っていない」ゲームもプレイする事ができるよう設定も用意されています

https://gigazine.net/news/20211223-steam-game-played-on-linux/

仮にホワイトリストにないゲームでも、Linux で問題なく動作するゲームもわりと多く存在します。

そして、それを知ることが出来るサイトが protondb です。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

protondb では正式に Linux に対応している「Native」を除き5段階で評価されています。

評価は、

  • Platinum … 一切の調整なしで動作する。
  • Gold … 細かい調整だけで完璧に動作する。
  • Silver … 調整すればほぼ動作する。
  • Bronze … とりあえず動作はするものの問題が残る。
  • Borked … まったく動作しない。

となっており、ユーザーからの報告によって日々更新されています。

プレイできない Borked 判定されているタイトルには「PUBG」や「Apex Legends」「Halo Infinite」などの人気タイトルが含まれていますが、主にチート対策が施されたゲームが多く、このチート対策が原因で Linux への対応が難しくなっているようです

気になるゲームが有るときは、一度 protondb でチェックしてみてからのほうが良いでしょう。

実際にプレイしてみた。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

で、今回は年末のセールで50%オフになっていた Street Fighter V を見かけ、うっかりポチってしまったのでそれをプレイしてみたいと思います。

ベースとなる OS は Ubuntu 20.04 LTS です。

一応 Steam クライアントは最新の Ubuntu LTS を推奨していたのと、以前紹介したビデオカードを載せていたマシンが Ubuntu LTS だったので、その環境をそのまま使ってみることにしました。

今回のマシンのスペックはこちら。

NEC MK30R/B-H (MK30RB-H)

CPUIntel Xeon E3-1226 v3 (4c/4t), 3.30 (3.70) GHz
RAM4 GB DDR3-1600
Storage120 GB SSD
GraphicsGeForce GT 710 1 GB DDR3
OSUbuntu 20.04.3 LTS
ベースモデル https://ark.intel.com/content/www/jp/ja/ark/products/80917/intel-xeon-processor-e31226-v3-8m-cache-3-30-ghz.html

ゲームするには、なかなか厳しいかもしれませんね…。

Steam クライアントのシステム要件もありますが意外と低スペックで良いため、実際にはプレイするゲームのシステム要件に依存します。

https://github.com/ValveSoftware/steam-for-linux/blob/master/README.md

ってことで、Street Fighter V の最小システム要件はこちら。

https://game.capcom.com/sfv/benchmark/us/

プロセッサは行けそうな気がしますが、RAM とグラフィックスカードの性能が足りてません。

それでも、まぁ起動するかしないかくらいはチェックできるでしょう。

ってことで、まずは Steam クライアントをインストール。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

Steam のインストールができたら、早速ログインしてみます。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

セキュリティ対策として、クライアントを動作させるためのアクセス認証を行う必要があります。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

登録したメールアドレスにアクセスコードを送信して認証するので、問題ない場合はそのまま「Next」をクリックして進めましょう。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

アクセスコードは登録しているメールアドレスに届くので、直接入力するなりコピペするなりしましょう。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

これでアクセス認証は完了です。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

次に「ハードウェアについてデータ収集してよいか」という旨のメッセージが出ます。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

どちらかを選んで「Next」をクリックしてください。

ハードウェアの診断結果が表示されます。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

問題がなければ「Next」をクリックして進めます。

これで準備は整いました。

英語表示のままなので、表示言語を日本語に変更しましょう。

表示言語の変更は、設定にある「Interface」の項目の言語の設定を変更します。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

「OK」をクリックすると Steam の再起動がうながされ、再起動すると表示言語が日本語に変わります。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

いくつかライブラリに入れてありますが、今回は本当に Windows 版のタイトルがプレイできるかをチェックしたいので、まずはうっかりポチってしまった Street Fighter V をインストールしてプレイしてみます。

Steam Play の設定。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

protondb でプレイ可能とされているゲームも、初期段階ではインストールボタンはグレーアウトされ、インストールすることが出来ません。

そもそも利用可能な項目には Windows しかありませんからね。

そこで、Proton の出番です。

設定画面を開き、「Steam Play」の項目をクリック。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

通常は「サポートされたタイトルでSteam Playを有効化」のみにチェックが入っていますが、「詳細」にある「他のすべてのタイトルでSteam Playを有効化」にチェックを入れます。

他のタイトルに使用するツールについては、今回はいじりません。

「OK」をクリックすると再起動が促されるので再起動します。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

すると先程までグレーアウトしていたインストールボタンがアクティブになりました。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

デスクトップショートカットはサポートされていないようなので、作成してもアイコンは表示されませんが、システムアプリケーションアイコンはちゃんと作成されるので、この設定のままで「次へ」をクリック。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

ってか、必要なディスク領域が 42.82GB ってスゴいサイズですね。

ダウンロードにはしばらく時間がかかりそうです。

ってか、かかります。

Proton を初めて使う場合には必要なソフトウェアのダウンロードとインストールもあるので、これもやっておきます。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

でないと Windows のゲームがプレイできませんからね。

Proton Experimental のダウンロードとインストールが終わると「起動」ボタンがアクティブになりますが、クリックしてもエラーが帰ってくるだけです。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

まぁ、これはゲームを起動させるときに自動的に使われるプログラムなのでスルーしておきましょう。

それよりも Street Fighter V のダウンロードが終わるのに1時間とちょっとかかりました。

最初の準備にはとても時間がかかりますね。

ダウンロードが終わるとボタンが「プレイ」に変わります。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

「プレイ」をクリックするとウィンドウが開きどちらでプレイするか聞かれます。

今回のマシンはスペックが高くないので、(Low spec mode)を選択してプレイをはじめます。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

初回セットアップがあるため、いちばん最初はとにかく時間がかかります。

初回セットアップが終わると「Valkanシェーダーの処理」があります。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

シェーダー処理はスキップも出来るようです。

画質は落ちると思いますが、今回のマシンはスペックが高くないためシェーダー処理はスキップしてゲームをはじめます。

起動に時間がかかりますね。

ゲームパッドはいつも使っていたエレコムのゲームパッドをつないでいたのですが、これって実は設定に癖があるもので、うまいこと動いてくれませんでした。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

仕方がないので 8BitDo のゲームパッドに差し替えてみました。

こっちは問題なくちゃんと動いてくれました。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

はじめからこちらにしておけばよかったですね。

んで、肝心のゲームですが…

うん。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

画質悪いな!

でもまぁ、なんとなくプレイできる感じです。

RAM 容量とグラフィックスカードをもう少しなんとかすれば、このマシンでも結構遊べそうな気配がしますね。

Apex Legends は protondb で Borked 判定されていたのでやっぱりプレイできませんでしたが、こちらは他の方法で試してみたいと思っています。

ちなみに、撮影しませんでしたが編集の息抜きにシェーダー処理をスキップせずにプレイしてみました。

が、さらに動作が遅くなり、逆にコマンドが入らないという事態に陥りました。

動きが速すぎてもコマンドを入れられないですが、逆に遅すぎてもタイミングが狂ってしまいます。

うまくいかないもんですね。

Steam Proton のまとめ。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

ということで今回は Ubuntu で Windows 向けゲームをプレイしてみました。

まだ全てのゲームが対応しているわけではありませんが、プレイできるゲームがとても多くなりました。

しかも、基本的には設定画面でチェックを入れるだけという手軽さです。

また、事前にちゃんとプレイできるゲームか、そうでないかも知ることが出来るので、わりと安心かもしれませんね。

んで、2022年2月に発売が予定されているハイエンドのポータブルゲーム機 Steam Deck は、なんと SteamOS 搭載機です。

【Play on Linux】Windows 版のゲームを Linux でプレイしてみた!

ちょっと前まで Steam OS 向けのゲームのリリースが少なくなっていたので、もしかして SteamOS の開発をフェードアウトさせようとしてる?

やっぱり Windows なのかと思っていましたが、 Valve は決して SteamOS というか Linux を見放していたわけではなく、むしろより手軽に Linux でプレイできるゲームを増やす立役者になっていました。

今後の Valve の開発に注目するとともに、Steam の沼にはまらないよう気をつけます。

ってか避けて通っていましたが、もうヤバいですね。

参考サイト

参考記事

https://github.com/ValveSoftware/steam-for-linux/blob/master/README.md
https://www.capcom-unity.com/street_fighter/blog/2015/12/17/announcing-steam-os-support-for-sfv
https://game.capcom.com/sfv/benchmark/us/
https://gigazine.net/news/20201208-linux-steam-proton/
https://gigazine.net/news/20211223-steam-game-played-on-linux/
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0626