Ubuntu Weekly Recipe

第626回UbuntuでもSteamのWindowsゲームを

Valve社が運営しているゲーム配信サービスSteamは、UbuntuをはじめとするLinuxディストリビューションで動くゲームはもちろん、インディーズから有名タイトルまでさまざまなWindowsゲームを配信しています。今回はこのSteamをUbuntu 20.04 LTSにインストールする方法やWindowsゲームをUbuntu上でプレイする方法を紹介しましょう。

SteamとUbuntuとProton

「Steam」はValve社が運営しているゲーム配信サービスです。ユーザーはSteamクライアントをインストールしておけば、Steamにアップロードされたゲームを購入・インストールできます。さらにユーザー間のコミュニケーションや、実績システム、ゲーム実況など据え置き型ゲーム機に負けない機能を備えた、ゲームプラットフォームとなっています。2012年にはUbuntuのサポートが発表されUbuntu Weekly Topics 2012年7月20日号⁠、2013年の2月にはUbuntu版クライアントが正式にリリースされました。

図1 Unity3Dで作られたWindowsゲームであるPupuya Gamesのリトルウィッチノベタ(Little Witch Nobeta)も最近Steamでの先行配信が開始された
画像

クライアントがUbuntuに対応したとはいえ、Steam上に公開されているすべてのゲームがUbuntuでプレイできるというわけではありません。個々のゲームの紹介ページではサポートOSの一覧が掲載されており、そこに「Steamのアイコン」が記載されているゲームがUbuntuを含むLinuxでのプレイをサポートしています[1]⁠。まずはSteamのサイトからLinux対応ゲームだけリストアップしたページで、どんなゲームがあるか見ておくとよいでしょう。Linuxサポート開始当初はあまり主だったゲームはありませんでしたが、最近はSteam全体のゲーム数が増えてきたこともあって、3Dシューティングからレトロゲームに至るまでそれなりの数のゲームがLinuxでもプレイできます。しかも一部は日本語にも対応しています。

動画1 リトルウィッチノベタは魔法を駆使してダンジョンを攻略するダークソウルライクなゲームという建前の、ひたすらノベタがかわいいゲーム

そうは言っても、やはり数も種類もWindows用ゲームのほうが圧倒的に多いです。そこでSteam PlayにおけるLinux上でのWindowsゲームのサポートが2018年にアナウンスされました。まず「Steam Play」は何かというと、これはどのプラットフォームのゲームであっても、一回購入すれば良いというシステムです。Windows/macOS/Linuxに対応したゲームに対して、一度購入すればWindowsにインストールしたSteamクライアントはもちろんのこと、他のプラットフォームにインストールしたクライアントでも追加の購入なく遊べます。それに対して2018年のアナウンスは、Linux上でWindowsゲームを購入した場合にLinux上でもそのままプレイできるようにしたというものです。あくまでベータ版ではありますが、多くのWindowsゲームライブラリーがLinux上でも遊べる可能性がでてきたのです。

図2 セーブから復帰するとノベタは眠っている。かわいい
画像

Linux上でのプレイを実現するためにProtonというソフトウェアが使われています。これはValveによるWineの改造版です。完全にWineから独立したわけではなく、Steamクライアントのリリースに合わせたリリースコントロールと、Steam固有のパッチを適用するためのプロジェクトのようで、その成果物は適宜Wineにフィードバックされています。Protonの最大の特徴はDirect3Dの対応のためにVulkanをサポートしていることです。これにより新しいハードウェアなら、Windowsでプレイするのと遜色ない速度・安定性を実現しています。

動画2 走っているうちにスタミナが切れると、何もないところでもこける。かわいい

ValveがProton経由でのプレイを確認しているものは「ホワイトリスト」として登録されています。ホワイトリストに登録されたゲームはSteam Play/Protonを有効化した時点でLinuxでも購入・プレイできるようになります。また、⁠ホワイトリストに入っていない」ゲームもプレイする設定も用意されています。ホワイトリストにないものでも、Linuxで期待通り動作するゲームは多く存在するため、興味のあるゲームをいろいろ試して見ると良いでしょう。ちなみにProtonDBでは、各ゲームの動作状況を確認できます[2]⁠。また、Steamには返金システムも存在します。購入したもののUbuntuではうまく動かなかった場合、原則として返金してもらうことが可能です。詳しい条件はSteamのサポートページを参照してください。日本語なので安心です。

図3 セーブ時に祈りを捧げているノベタかわいい
画像

Steamクライアントのインストール

さて実際にSteamクライアントをインストールしてみましょう。Steamクライアントはプロプライエタリなバイナリとして提供されています。しかしながら、インストーラー自体はDebianパッケージとして公式リポジトリにも存在します。つまりSteamクライアントには2種類のインストールパッケージが存在します。

  1. Steamで配布されているdebファイル
  2. Multiverseコンポーネントからインストールできるsteamパッケージ

「debファイル」版は常に最新のバージョンになります。2020年7月頭の時点では1.0.0.64が最新版です。それに対して「Multiverse」版はそのUbuntuがリリースされた時点でのもっとも新しいバージョンになります。Ubuntu 20.04 LTSであれば1.0.0.61です。単純に新しいバージョンを使いたいのであれば「debファイル」版を選ぶべきですが、Ubuntuにインストールするなら「Multiverse」版のほうが安全です。ただ、ここ1ヶ月ほどで(つまり10.0.61よりあとのリリースで)大きな修正が入っているようなので、このタイミングなら「debファイル」版のほうが良いかもしれません。

今回の記事では「debファイル」版を使うことにしましょう。Linux版のSteamの必要条件は次のとおりです。

  • Pntium 4もしくはAMD Opteronの1GHz以上
    • amd64に対応していること
    • CMPXCHG16B命令に対応していること/proc/cpuinfocx16があること)
    • SSE3命令に対応していること/proc/cpuinfopniがあること)
  • 512MB以上のRAM
  • 5GB以上のディスク容量
  • インターネットアクセス(CATV/DSL以上の速度推奨)
  • Ubuntuの最新LTS
  • 64ビットカーネル
  • 64ビットと32ビット双方のグラフィックドライバーとglibc
  • 最新のグラフィックスドライバー

実際に必要なスペックはゲームに依存します。たとえば3Dアクセラレーションをそこまで必要としないゲームであれば、Intelの内蔵GPU搭載の数年前のノートPCでもそれなりに遊べます。

ちなみに本記事では以下の環境にインストールしています。

  • Ubuntu 20.04 LTS
  • Intel NUC Hades Canyon
  • Intel Core i7-8809G
  • Radeon RX Vega M
  • DDR4-2400 16GBx2
  • NVMe SSD 500GB

「debファイル」版のインストールはSteamのダウンロードサイトからsteam_latest.debをダウンロードした上で、Ubuntuソフトウェアで開くか、次のコマンドを実行してください。

$ sudo apt install ./steam_latest.deb

「Multiverse」版のパッケージであれば、次を実行するだけです。

$ sudo apt install steam

Steamクライアントの起動

Steamクライアントはアクテビティから「steam」を検索することで起動できます。初回起動時は、実行環境を作成するためにSteamアップデーターがいくつかのデータをダウンロードします。

図4 初回起動時のダウンロードダイアログ
画像

一度アップデーターが完了したら、ログイン画面が表示されますので、必要に応じてアカウントの作成やログインを行ってください。既存のアカウントでログインする場合、パスコードの入力が求められます。アカウントに紐付けられたメールアドレスでメールを受信できるようにしておきましょう。

図5 ログイン画面
画像

初回起動時は英語インターフェースになっています。日本語インターフェースに変更したい場合は、メニューの左上にある「Steam」から「Settings」を選び、⁠Interface」にて言語を変更した上でSteamクライアントを再起動してください。

図6 一番上の項目を「日本語(Japanese⁠⁠」に変更する
画像

ちなみにSteamクライアントの終了は右上の「Steam」からメニューの一番下にある「Quit/終了」を選びます。単純にウィンドウの閉じるボタンを押しただけだと終了しないので注意してください。

図7 再起動すると無事に日本語化された
画像

Protonの有効化

お待ちかねのProtonの有効化です。といってもUIの説明どおりに設定し再起動するだけです。まずはSteamメニューの「設定」から「アカウント」にある「ベータへの参加」「変更」ボタンをクリックします。

図8 アカウントメニュー
画像

Protonはまだベータ版のクライアントが必要なため、ベータ版クライアントに更新して再起動する必要があります。

図9 ベータへの参加ダイアログ
画像

上記のダイアログから「ベータへの参加」「Steam Beta Update」になっていることを確認してOKボタンを押してください。初回起動時と同様にクライアントのダウンロードが行われるはずです。

次に再び設定から今度は「Steam Play」を選択します。

図10 Steam Playメニュー
画像

上記画像のように「Steam Play Settings」「Enable Steam Play for supported titles」にチェックを入れると、Valve側が確認したゲームはProtonが使われるようになります。さらに他のWindowsゲームもプレイしたいので「他のすべてのタイトルでSteam Playを有効化」をチェックしておきましょう。もちろん動くかどうかは運次第ではあるのですが。

ちなみに使うProtonのバージョンも指定できます。Protonのバージョンを変えることで動く場合もあるため、どうしても動かなかったときはProtonDBの情報を参考にバージョンを切り替えてみるのも良いでしょう。

これでWindwosゲームをプレイできるようになりました!

図11 Linux版のSteamクライアントからでも、ライブラリのWindowsゲームに「プレイ」ボタンが表示されるようになった
画像
図12 初回実行時はこのように「互換ツールを使っている」旨が通知される
画像
図13 無事にWindowsゲームが起動した!
画像

ちなみに「Big Picture Mode」による全画面表示や、各種ゲームコントローラーにも対応しています。コントローラーに関してはSteamクライアントにudevルールが付属していて、新しいクライアントならインストールした時点でルールが反映されるため、あとは接続するだけです。少なくとも手元のPlayStation 4用のDUALSHOCK 4コントローラーなら、USB経由で問題なく認識しました。

図14 黒猫をかわいがるノベタかわいい
画像

ProtonDBにはホワイトリスト済みのゲームリストがあります。まずはそこからWindowsゲームを選んでみると良いかもしれません。また、ProtonDBのトップページの右下にある「ホワイトリストにはないけれども、きちんと動くという報告が多いゲーム(レートがプラチナなゲーム⁠⁠」のリストもありますので、そちらも参考になることでしょう。

お金をかけることなく(返金処理などを考えずに)動作を確認したいのであれば、Steamのサイトから無料のゲーム(大抵は基本無料で本格的にプレイするならDLCの購入が必要なゲーム)体験版を探してきて試すという方法もあります。無事に動いたWindowsゲームがあれば、ぜひProtonDBにも報告してください。

次回はSteamをLXDコンテナの中で動かす方法を紹介します。

動画3 操作に慣れないうちは殴ったほうがはやかったりする。杖の三振りぐらいでバランスを崩すノベタかわいい
動画4 空中で杖を振ると対空できる謎理論。物理で空を飛ぶ魔法少女かわいい

おすすめ記事

記事・ニュース一覧