読者です 読者をやめる 読者になる 読者になる

GNU/LinuxでのSteamの現状

これは、Steam & PC Gaming Advent Calendar 2015の21日目の記事です。
皆さん、GNU/Linuxでゲームしてますか?(2回目)
前回の更新ではGNU/Linuxでゲームマシンを組むための指針について書いてみましたが
今回はとうとうGNU/Linux(Ubuntu 15.10)でゲームってのはどこまでできるのかというところに迫ってみたいと思います。

承前

今回実験に用いたマシンのスペックは以下のとおりです。
CPU: Core i7 4790k
GPU: GTX980
MEM: 16G
SSD:
M.2接続(内部接続SATA) -> Windows
SATA -> GNU/Linux

基本的にマシンは同一で、インストールしているSSDがM.2なのかSATA接続という違いだけですね。
こういう環境で、WindowsGNU/Linuxでどのような違いがあるかが今回の調査となります。

The Talos Principle の場合

まず最初に取り上げるのはThe Talos Principleです。
このゲームはSerious Sam 3: BFEと同じエンジンを使ってるパズルゲーですね。
Portalと似たような感じですね。
スペックの計測にはこのゲームのベンチマークを用いてみます。

今回の計測ではGNU/LinuxWindows7(DirectX11)およびWindows7(OpenGL)で計測を行いました。
これにより、GNU/LinuxWindowsというだけでなくてDirectX11とOpenGLの違いや、OpenGLでもOSによる違いなどいろいろな視点で見ることができます。
こんなやつですね。それぞれの設定と結果は以下のとおりです。

GNU/Linux

設定

結果

- benchmark results -
11:27:27 INF:
 Duration: 60.0 seconds (5577 frames)
  Average: 93.0 FPS (102.4 w/o extremes)
 Extremes: 225.2 max, 28.9 min
 Sections: AI=6%, physics=4%, sound=2%, scene=67%, shadows=15%, misc=5%
    Highs: 437 in 2.7 seconds (164.9 FPS)
     Lows: 849 in 15.5 seconds (54.9 FPS)
30-60 FPS: 10%
 > 60 FPS: 90%
Windows DirectX11

設定

結果

- benchmark results -
 Duration: 60.0 seconds (6318 frames)
  Average: 105.3 FPS (109.6 w/o extremes)
 Extremes: 188.3 max, 49.3 min
 Sections: AI=9%, physics=1%, sound=1%, scene=68%, shadows=16%, misc=5%
    Highs: 833 in 6.0 seconds (139.6 FPS)
     Lows: 1154 in 14.5 seconds (79.4 FPS)
 > 60 FPS: 100%
Windows OpenGL

設定

結果

- benchmark results -

 Duration: 60.0 seconds (4511 frames)
  Average: 75.2 FPS (79.1 w/o extremes)
 Extremes: 208.7 max, 17.5 min
 Sections: AI=6%, physics=1%, sound=1%, scene=77%, shadows=11%, misc=3%
    Highs: 529 in 4.8 seconds (109.9 FPS)
     Lows: 809 in 15.1 seconds (53.6 FPS)
30-60 FPS: 18%
 > 60 FPS: 82%

並べてみると結構面白い結果になりましたね。
瞬間的なFPSだけみるとGNU/Linux(164.0FPS) -> Windows7_DirectX11(139.6FPS) -> Windows7_OpenGL(109.9FPS)
といったようにGNU/Linuxが上回ってるタイミングがありますが、アベレージで見ると
Windows7_DirectX11(105.3FPS) -> GNU/Linux(93.0FPS) -> Windows7_OpenGL(75.2FPS)
といったような結果になりますね。GNU/Linuxもゲーム自体はOpenGLで動いてますんで、
OpenGLGNU/Linuxのほうがスペックが出るようですし、DirectX11を使わないゲームかつGNU/Linuxでも動くものはGNU/Linuxでプレイしても面白いかもしれませんね。

Grid AutoSport

次に取り上げるのはGRID Autosportです。
このゲームは昨年でたGRIDシリーズの最新作です。今回もThe Talos Principleと同様にベンチマークを用いて計測を行います。

こちらにはWindows版にてOpenGLで動かすオプションはありませんので、単純にGNU/LinuxWindowsでの結果だけです。
以下設定と結果です。なおこのベンチマークではログをXMLで吐くため、結果については必要なところの抜粋とさせてください。

GNU/Linux

設定

結果

<fps_race av_fps_ms="14.319108" max_fps_ms="8.930698" min_fps_ms="22.795486" av_fps="69.836754" max_fps="111.973328" min_fps="43.868332"/>
Windows

設定

結果

<fps_race av_fps_ms="7.807260" max_fps_ms="6.050583" min_fps_ms="10.620408" av_fps="128.085907" max_fps="165.273331" min_fps="94.158340"/>

こうやって並べてみると結果が一目瞭然ですね。このゲームにおいては、GNU/Linuxではかろうじて60FPSを超えてるのに対して、Windowsでは120FPS超えというわかりやすい結果になりましたね。とはいえ、レースゲーでとりあえず60FPS超えてるというのはプレイ事態には支障がないでしょうから、それ単体で見ると悪くない結果といえるのではないでしょうか。

結論

今回二つのゲームのベンチを回してみて、GNU/Linux+Steamでゲームをプレイするということの現状が多少見えたかなと思います。
実は数年前にも試したことがありそのときは非常に芳しくない状況だったため、今回もそういうことになるんじゃないかと危惧していました。
しかし、最近のゲームを動かしてみると、Windowsと遜色なく動くタイトルもあれば、そこまではいかないものの遊べるという意味では及第点を出せるタイトルもあり案外遊べるもんだなと思いました。
とはいえ、問題がないかといえばそうでもなく、今回blogには乗せませんでしたが、Portal 2は日本語版をインストールして起動させたら文字が一切表示されないというトラブルが発生し、言語設定をEnglishに変更したら文字が表示されるということもありました。こういう事態は普通にゲームを買ってプレイするという人には不親切極まりない状況であり、SteamOSなどを推していくのであれば対応必須ではないかと思ったしだいです。
今後の展望についてですが、数日前に発表されていたのですがAnnouncing Steam OS Support for SFV といったように格闘ゲームの定番であるストリートファイターの次回作がSteamOSでもプレイできるようになるという話であったり、Batman™ : Arkham KnightMac / GNU/Linux版が2016年春にはリリース予定など、GNU/Linuxでプレイできるゲームタイトルは増える傾向にあるという状況であり、SteamOSが軌道に乗った暁にはさまざまなタイトルがプレイできる素晴しい未来がくるのではないかとひそかに期待しています。