世界を動かす技術を、日本語で。

約90%のWindowsゲームがLinuxで動作するようになった

概要

  • Linux でのゲーム互換性が 大幅に向上
  • ProtonDB の最新データで 90%のWindowsゲーム がLinuxで動作
  • Steam DeckProton の発展が後押し
  • 互換性には 段階的な違い も存在
  • 一部 人気タイトル は未対応のまま

LinuxでのWindowsゲーム互換性が過去最高水準に

  • 近年、WINEやProtonの開発者による貢献で Linuxゲーミング環境 が大幅進化
  • Steam Deck などLinuxベースハードウェアの普及で 注目度上昇
  • ProtonDB (Boiling Steam経由)の最新統計で Windowsゲームの約90% がLinux上で動作
  • 新規Linuxインストール でも 9割のWindowsゲーム がプレイ可能という快挙
  • Windows 10から11への移行期 に他プラットフォームへのユーザー流入増加

Linuxゲーム互換性の評価基準と傾向

  • Boiling Steam5段階のプレイアビリティ で互換性を評価
    • Platinum(緑) :インストール直後から完璧に動作
    • Gold(薄緑) :軽微な調整で動作
    • Silver(黄) :一部不具合を抱えつつもプレイ可能
    • Bronze(赤) :SilverとBorkedの中間、安定性に難
    • Borked(濃赤) :起動不可
  • Steam Deck 評価との主な違いは、 Steam Deck固有のパフォーマンス問題 を考慮しない点
  • デスクトップ/ノートPC ユーザーにはBoiling Steamの評価がより有用

互換性向上の背景と課題

  • Platinum評価 の新作ゲームが増加傾向
  • Bronze/Borked評価 のタイトルが減少
  • 開発者側 も多様なハードウェア対応で恩恵
    • 新作WindowsゲームでLinuxやSteam Deck動作を確認する動き
  • 一部人気タイトル は引き続きLinux未対応
    • アンチチート技術 による互換性問題が継続
    • 一部開発者は非Windowsユーザーへの配慮が薄い傾向

Linuxでゲームを楽しむためのヒント

  • 意図的に対応していないゲーム でも、 コミュニティ主導の互換性向上策設定情報 が多数存在
  • Linuxゲーミングコミュニティ での情報収集推奨
  • Tom's Hardware などのニュースサイトで最新情報・レビューをチェック

まとめ

  • Linuxでのゲーム互換性 は歴史的な高水準に到達
  • Proton/WINE/コミュニティ の努力が大きく寄与
  • 一部課題は残るものの、 今後もさらなる発展 が期待

Hackerたちの意見

これを見ると嬉しいね。昔のWindows(またはDOS)ゲームが今のWindowsバージョンでうまく動かないことが多いってことは覚えておくべきだね。アンチチートの問題は、少なくともあと数年は続くと思うけど、Steam Deckの成功がサポートの要求をかなり引き上げたと思う。Linuxのサポートにはまだいくつかの問題があると思うけど、6.16カーネルに上がったことで、以前抱えていた問題の多くが解決されたよ。古いLTSを使っていると、最新のディストロよりも問題が多く出るかもしれないね。

昔のWindows(またはDOS)ゲームが今のWindowsバージョンでうまく動かないことが多いってことは覚えておくべきだね。正直言って、有名じゃない古いゲームはWINEの下で壊れる可能性が高いよ。もしかしたら、何かのマイナーなアニメーションAPIへの呼び出しが原因かもしれないけど、それだけでゲーム全体が壊れちゃうこともあるからね。

つまり、10%のWindowsゲームが侵入的なアンチチートを使ってるってこと?

うん、人気のあるオンラインゲームはその10%に入るだろうね。俺が欲しいのはロケットリーグだけなんだけど :( でもTF2は動くから良かった。

ProtonDBによると、トップ100とトップ1000のゲームの約7~10%が「壊れてる」けど、その理由は微妙なところがある。ただ、最近はほぼ常にアンチチートが原因だね。[1] https://www.protondb.com/dashboard

Steam Deckに感動した後、今年の初めにRX 9070XT(Radeon 9800 Pro以来の初めての赤チームのカード)をゲーミングPC用に購入して、フルタイムでLinuxに切り替えたんだ。今は何百時間もプレイしてるけど、特に面白いことは書くことがないな。自分がプレイするゲームにとっては、スムーズな移行だったよ。

Steam Deckを手に入れてから、PCを全然使わなくなったんだ。ほとんどの時間、デッキをテレビに繋いでた。最近、PCにBazziteをインストールしてテレビに移したから、今はそれでずっと遊んでる。ValveがLinuxでのゲームを実現するためにやったことは素晴らしいよ。WINEでSteamを手動でインストールして、動くゲームがほんの数本しかなかった日々を思い出す。

日常生活でLinuxを使うのが「面白い」んじゃなくて、ただやることになってた日々が恋しい。すごくいい気分だよ。

2003年の自分は、WINEは行き止まりのプロジェクトで、開発者の時間の無駄だと思ってた。確かにValveはProtonに多くの努力を注いだけど、その前に行われた膨大な作業がなければ、考えもしなかっただろうね。非シニカルなWINEの開発者たちに感謝だよ。

2003年の自分は、Wineが行き詰まりだと思ってた。Neverwinter NightsやQuake 3 ArenaみたいなゲームがネイティブのLinux版を出してたからね。デスクトップでのLinux元年が近づいていて、Wineは一時的なつなぎに過ぎないだろうって。

それが役に立つかどうかは別として、Wineの開発者たちにはいつも感心してた。彼らは非常に知識が豊富なハッカーで、WindowsとUnixの達人だね。

Steam Deckを持ってない人のために、ライブラリのどれがLinuxで動くか確認したい場合は:1. ライブラリに行く 2. フィルターボタンをクリック 3. 「ハードウェアサポート」の下にあるドロップダウンから「Steam Deck」を選ぶと4つのオプションが出てくる。意味は以下の通り:

  • Verified(確認済み) - このゲームは100% Linux(とDeck)で動くってValveが確認してる
  • Playable(プレイ可能) - このゲームはLinux(とDeck)で動くけど、ちょっとした問題があるかも(例えばフォントサイズ)
  • Untested(未テスト) - 動くかもしれないけど、テストされてない だから、自分のゲームがちゃんと動くか確認したいなら、「Verified」か「Verified or playable」のゲームにフィルタリングすると、動かないかもしれないゲームは除外されるよ。最近のLinuxで動くゲームの多さには驚くと思う。ValveがProtonにかけてる努力や、いくつかの開発者(Valveを含む)がSteamでネイティブのLinux版を出してるおかげで、SkyrimやOblivionみたいなゲームも好きなMODと一緒に動くからね!

それかProtonDBを使ってみて https://www.protondb.com/explore

まあ、Steam Deckのサポートレベルはちょっと恣意的で、VerifiedのゲームでもUntestedのゲームより動作が悪いことがあるよね。私が問題を抱えたのは、PS3で楽しんだ後にSteamで買った『The Unfinished Swan』だけ。最初は真っ白な画面になっちゃって、Protonのバージョンをいじっても全然ダメだった。でも、数ヶ月前に再挑戦したら、デフォルト設定で完璧に動いたよ。

それに、いくつかのケースでは「サポート外」のゲームでもすぐに動いたり、最小限の調整だけで済むことが多いよ。私の知る限り、問題が多いのはオンラインの競技ゲームで、アンチチートを使ってるやつだね。

もう戻る気はないよ。もし何かが変わって、選択肢がWindowsかコンソールしかなかったら、新しいゲームを買うのをやめるか、別の趣味を始めるだけ。問題を解決するために健全なスクリプトを使ったり、ZFSスナップショットで悪いMODのインストールを元に戻したり、開発に同じシステムを使ったりするのは、もう手放す気にはなれない。最近は、LXDコンテナ内でゲームサーバーをセットアップするCloud Initの設定を少しずつ集め始めた。中にはネイティブのLinuxバイナリもあるけど、Windowsサーバーしかないものもある。Wineを通して問題なく動くよ。興味がある人は、ぜひ試してみてほしい。自分はUbuntuを使ってて、AMDとNvidiaのカード両方で問題なく動いてる。失うものは何もないよ!

Pop OS!NVIDIA GPU使ってるけど、マジで動く。動かないときは、プロトンのバージョンを変えると大体直る。Windowsより全然いい。

25年間Windowsを使った後にLinuxに移行したよ。昔のゲームが好きな自分としては、Wine(dxvkとcnc-ddrawを使って)でWindowsよりも多くのゲームをより良い方法で動かせることに驚いてる。64ビットのOSで16ビットのゲームも動かせる!フルスクリーンに無理やり切り替わるゲームも、Wineのバーチャルデスクトップで動かせる。WindowsではDxWndみたいなハックを設定しなきゃいけなかったけど、いつも上手くいくわけじゃなかった。Wineで2倍や3倍にズームできたらいいのにと思うけど、Gamescopeがあるから大丈夫: gamescope -S integer -F nearest --borderless wine game.exe ゲームごとに異なるWineの設定(プレフィックス)を使う可能性もあるけど、今のところそれに頼る必要はなかった。Unityのゲームが無駄にギガバイトのゼロを使ってるのに気づいたけど、Linuxでは圧縮されたSquashFSイメージから動かせるから、ゲームの読み込みも早くなる: mkdir ./game squashfuse ./game.squashfs ./game pushd ./game wine game.exe popd sleep 1 umount ./game rmdir ./game マルチプロセッサシステムでクラッシュするゲームに出くわしたけど、修正は簡単で、1つのCPUに制限すればいい: taskset --cpu-list 1 wine game.exe

Unityがゼロのデータでディスクスペースを無駄にしてるってどういうこと?どうやってそれに気づいたの?Unityの意図なのかな?割合で言うと、100GBのゲームの2%とか、4GBのゲームの50%とか?ネットで調べても全然情報が見つからないんだけど。

それ、AppleのApp Storeのドキュメントにあった「連続ゼロ」っていうのを思い出すな。[1] なんか「暗号化してから圧縮するから、簡単に圧縮できると思わないでね」っていう裏の意味があるように感じた。これってアセットのパディングか、もしくはフルアルファセクションの生テクスチャなのかな?それにしても、ちょっと変だよね。どのゲームの、どのアセット?

フルスクリーンに無理やり切り替わるゲームは、Wineの仮想デスクトップで動かせるよ。以前はWindowsでDxWndみたいなハックを設定しなきゃいけなかったけど、いつも上手くいくわけじゃなかった。WineがWindowsに移植されるかもね :-)

OTVDM(Wineベース)は、64ビットのWindowsで16ビットプログラムを動かせるから、Linuxだけの話じゃないよ。

いいね。特権付きでカーネルのsquashfsを使うのが習慣なんだ。今日、squashfuseについて知ったよ。

ここ2ヶ月くらい、LinuxでOverwatch 2を楽しくプレイしてるよ。マルチモニターでちゃんと動かすためにgamescopeが必要だけど、月に1回くらいクラッシュするかな。でもパフォーマンスは最高で、大きな不満はないよ。仕事以外ではWindowsには戻らないつもり :(

どのOS使ってるの?AMDそれともNVIDIA?Win10のサポートが切れたから、ゲーミングPCを切り替えようかな。

デュアルブートユーザーだけど、これはいいニュースだね。でも、どれだけのプレイヤーがWindowsを捨ててLinuxに移行できるかの方が重要だと思う。もしLinuxで動かない10%のゲームをプレイすることになったら、Windowsのインストールを残しておかなきゃいけないよね?

最後のWindowsゲーミングボックスをやっと手放したよ。Windows 10がセキュリティアップデートが受けられなくなるって警告してきたからね。今のところ、DebianでSteamも問題なく動いてるけど、主にシングルプレイかマルチプレイのストラテジーゲームをやってる。追記:そういえば、Linux版のCivilization 5はよくクラッシュしてたな。Protonに切り替えたら、それ以来問題なくなったよ。