みやこの元団長日記

グラブルの騎空団ぐるぐるストッキング(ぐるスト(ストはカタカナ))の元団長がたまになんか書くかもしれません

SteamのWindows向けゲームをLinuxでプレイする方法

かなり今さら感ありますが、最近お世話になってるので記事にしてみました。

SteamにはSteam PlayというWindows向けゲームをLinux上で動作させる仕組みがあります。この機能を有効にすることで、Windows版しかリリースされていないゲームも一部Linuxでプレイできるようになります。また、オプションを設定することでSteam上の全てのWindows向けゲームでSteam Playを有効にできます(実行できるかはゲームによります)。

実際にどのゲームがLinux上で動作できているのかはProtonDBというサイトにまとめられているので、気になるゲームのタイトル(英語)を入れて検索してみるといいと思います。ProtonDBでは各ゲームが「Native」「Platinum」「Gold」「Silver」「Bronze」「Borked」に分類されています。「Native」のゲームは元々Linuxをサポートしているゲームで、それ以外はLinux版のないゲームになります。「Platinum」に分類されているゲームは軽微な修正等なしでそのまま動作するゲームです。以下、「Gold」「Silver」と正常動作させるための敷居が高くなっていき、「Borked」に分類されているゲームはSteam Playを使ってもLinuxでは動作しないと思ってください。

そんなに数を試していない完全な個人の感想ですが、「Gold」は書いてあるとおりに修正すれば高確率で動きそうです(Steam版FF14等が該当)。「Silver」になるとかなり厳しくなってきて、動作しても一部不具合があったりします。このあたりはゲームのアップデートで変わってきたりもするので、それなりの覚悟(英語の問題報告を読む等)が必要になってくるかもしれません。

ちなみにこの記事によると、2018年8月以降にSteam上でリリースされたゲームのうち約半数が修正等なしでLinuxで動作する(Platinum)とのことです。

というわけで、前置きが長くなりましたが今回はLinux版SteamクライアントのArch Linuxへのインストール方法と実際にSteam Playを使ったWindows向けゲームの実行方法を紹介します。

ちなみに私の環境は以下のような感じです。

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

Arch LinuxはSteamに公式対応されていないのでクライアントのインストールが少し面倒です。Ubuntuだと公式対応されているのでもっと楽にインストールできると思います(たぶん)。

基本的にArch WikiのSteamの項目に沿って進めればインストールできます。

まずmultilibリポジトリを有効にします。

以下のコマンドでpacmanの設定ファイルを管理者権限で開きます。

sudoedit /etc/pacman.conf

以下の行がコメントアウトされているので、先頭の#を削除してmultilibリポジトリを有効にします。

[multilib]
Include = /etc/pacman.d/mirrorlist

書き換えたら保存して閉じ、以下のコマンドでpacmanを更新します。

sudo pacman -Syy

これでLinux版Steamクライアントがインストールできるようになったのでインストールします。

sudo pacman -S steam

また、32bit版のライブラリやSteam用のアジア圏のフォントが必要になるのでインストールします。

sudo pacman -S multilib-devel lib32-libpulse ttf-liberation wqy-zenhei

32bit版のグラフィックドライバもインストールします。NVIDIA製のグラフィックカードを使っている場合はlib32-nvidia-utilをインストールします。

sudo pacman -S lib32-nvidia-util

AMDIntel製のカードを使っている場合はArchWikiのここの表のOpenGL (Multilib)に書かれている対応するドライバをインストールしてください。

もし英語(en_US)のロケールが有効になっていない場合は有効にします。

以下のコマンドで現在有効になっているロケールが確認できます。

locale -a

このコマンドの出力にen_US.utf-8が含まれていない場合、/etc/locale.genを編集してen_US.UTF-8を有効にし、ロケールを再生成する必要があります。

sudoedit /etc/locale.gen

上記コマンドで/etc/locale.genを開き、en_US.UTF-8の行の先頭の#を削除して保存します。

次にロケールを再生成します。

sudo locale-gen

お疲れ様でした!これで先程インストールしたSteamクライアントが起動できるはずです。念の為ここで一旦PCを再起動しておくと確実かと思います。

Steam Playを有効にする

以降はSteamクライアント上での作業が中心になります。Steamのアカウントを持っていない場合は作成しておいてください。

まず先程インストールしたSteamクライアントを起動します。ランチャー等にSteam (Runtime)という項目ができているはずなのでクリックして起動します。起動には少し時間がかかります。

ちょっとうろ覚えですが、起動するとSteamへのログインが要求されるはずなのでログインします。

無事に起動できると以下のような画面になるはずです。

f:id:MiyacoPL:20200504132326p:plain

ここで左上の「Steam」→「Settings」と進み設定ウィンドウを開きます。

好みですが、日本語にしたい場合は「Language」タブで言語を日本語に設定してください。言語を変更してSteamクライアントを再起動すると反映されます。

次に同じ設定ウィンドウの左のタブの一番下に「Steam Play」という項目があるので開きます。

以下の画像のように「Enable Steam Play for supported titles(サポートされたタイトルでのSteam Playの有効化)」と「Enable Steam Play for all other titles(全てのタイトルでのSteam Playの有効化)」にチェックを入れます。「Run other titles with」の項目は一番新しそうなProtonを選んでおきます。記事執筆時点(2020年5月4日)では「Proton-5.0-7」が最新でした。

f:id:MiyacoPL:20200504132008p:plain

これで全てのWindows向けゲームでSteam Playが有効になるので、「OK」をクリックして設定ウィンドウを閉じます。

Windows向けゲームをプレイしてみる

注意ですが、冒頭で述べたようにSteam上の全てのゲームがSteam Playで動作するわけではありません

ゲームを購入する前にProtonDBで動作報告を確認しておいてください。

動かなくても私は責任取りません

あと当然ですがゲーム自体の動作環境も確認してください。Linuxで動かす場合は若干パフォーマンスの低下があるのでPCスペックギリギリだと危険です。

というわけで、実際に私が購入してプレイしてみた「NieR:Automata」で手順を紹介します。これはProtonDB上で「Platinum」に分類されているゲームなのですんなり動きました。

まず「Store」で検索して購入します。このあたりの手順はWindows等と変わらないので省略します。

購入するとライブラリに追加されて「Install」ボタンがあるのでクリックしてインストールします。サイズが大きいのでダウンロード等に時間がかかりますが、無事終わると以下のような画面になってプレイできるようになります。

f:id:MiyacoPL:20200504135546p:plain

「Play」ボタンをクリックすると色々いい感じに処理が走って起動します。

f:id:MiyacoPL:20200504140519p:plain

起動はするのですが、日本語キーボードではなく英語キーボードとして認識されてしまったので起動オプションを指定する必要がありました。

キーボードプレイの場合、強攻撃が右Shiftの隣の「¥」キーに割り当てられているのですが、これが一つ上の「]」キーになってしまっていました。ゲーム内のキーバインド設定でも「¥」キーが認識されなかったので、きちんと日本語キーボードとして認識させる必要がありました。

なので一旦ゲームを閉じて起動オプションの設定を行います。

先程のSteam上の「Play」ボタンが表示されていた画面の右の方に歯車アイコンがあるのでクリックし、「Properties」を選択します。するとゲーム別の設定ウィンドウが開くので、「Set launch options」をクリックし、入力欄に以下のように入力します。

LANG=ja_JP.UTF-8 %command%

これでOKを押して閉じて起動するときちんと日本語キーボードとして認識されます。

困ったことがあったらググると解決方法は見つかることが多いです(ただし基本英語)。上記の対応策はSteamコミュニティでフランス語キーボードが認識されなくて困っている人がいてその解決策を日本語版にしたらうまくいきました。

実際に起動してる画像です。2Bえっちかわいい。

f:id:MiyacoPL:20200504140535p:plain

キーボード+マウスの操作でプレイしましたが、普通にプレイできてEエンドまでクリアできました。

あとは完全に余談ですが、NieR:Automataには有志のModがあって入れると細かい画質設定ができたり60FPS制限の解除ができたりします。Modを入れて動作させるのはかなり大変だったので別途こちら(英語)にやり方をまとめておきました。挑戦してみたい方はぜひ試してみてください(ただし自己責任で)。

実際にMod入りで起動しているところはこんな感じです。

f:id:MiyacoPL:20200504144109p:plain

上記画像ではModはFARHD Texture PackGShadeReShadeのフォーク)を入れています。右上のHUDはMangoHudというやつです。Modのメニュー等開いていて見にくいかもしれませんが、FPS表記が60を超えていて背景の錆びた赤茶の箱の解像度が上がって綺麗になっているのがわかるかと思います。

ゲームが動かなかったら

そのままでは動かないゲームもけっこうあります。

私はGWでセールになっていたFF10(ProtonDBでSilver)を買ってみましたがかなり地獄を見ました(一応プレイできています)。あと少し前に無料プレイ期間のあったProject Winter(いわゆる雪山人狼)を試してみましたが、マイクが認識されないというこのゲームにとっては致命的な問題がありました。

困った時は前述のProtonDBでの動作報告(英語)を確認したり、GitHubのProtonのページのIssues(英語)を確認したりすると対策があったりします。あとはググるredditのスレッド(英語)やSteamコミュニティのスレッド(英語)が引っかかってヒントがあったりもします。

たまにWindowsでも同じ問題があって同じ対策が使えたりする場合もあるので、Windows版の情報も調べてみるとヒントになったりもします。

Windowsの情報以外は基本的に日本語の情報はないと思ってください。全部英語です。

あとはターミナルからSteamを起動してログを確認して問題を確認したり、ゲームがログを残している場合はそれを確認するともしかしたらヒントが得られるかもしれません。

とにかく動かなかったら気合でなんとかする気持ちで頑張ってください。

(最悪返金という手もなくはないです)

おわりに

こんな感じで、SteamのゲームであればけっこうLinuxでもプレイできたりします。

Arch LinuxはSteamに公式対応されていないのでインストールが少し面倒ですが、一旦インストールさえしてしまえば普通に使えます。

今はGWのセールもしているのでぜひ遊んでみてください。