Linuxゲーミングはもはや「不可能」ではない
数年前、Linuxでゲームをしたいと言えば笑われた。決まり文句は「Windowsにしとけよ」だった。今は違う。Valveは2018年からProtonに投資し続け、現在ではProtonDBの統計によると70%以上のSteamゲームがLinux上で動作する——Cyberpunk 2077やElden Ringといった重量級タイトルも含めて。
私はFedoraをメインの開発マシンとして2年間使ってきた。最初はコーディング専用のつもりだったが、週末にゲームを試してみたら驚いた:多くのゲームがWindowsより快適に動くのだ。問題はLinuxで動かないということではなく、ほとんどのガイドが「Steamインストールして起動するだけ」で終わってしまい、最も重要な部分——パフォーマンスの最適化とゲームが起動しない場合の対処——を省略していることだ。
この記事では実践的な手順を直接解説する:正しいドライバーの入れ方、デフォルトProtonの代わりにProton-GEを使う方法、そしてゲーム内でFPS/GPU/CPUをリアルタイム監視するMangoHudについて。
Proton、Proton-GEとWine:何が違うのか?
ここを間違えると、間違ったツールをインストールし、デバッグの方向性も誤ることになる——時間の無駄も甚大だ。
- Wine:低レベルの互換レイヤーで、Windows APIをLinux向けに変換する。ゲーム向けに最適化されておらず、FPSが低く、多くのゲームがクラッシュする。
- Proton:ValveがWineをフォークしたもの。DXVK(DirectX 9/10/11 → Vulkan)、VKD3D-Proton(DX12 → Vulkan)、そして数十ものゲーム特化パッチを統合している。SteamにバンドルされているのがこのProtonだ。
- Proton-GE:GloriousEggrollがメンテナンスするコミュニティビルド。公式Protonより2〜4週間早く更新され、カットシーン用メディアコーデックや一部のアンチチートゲームの修正など、特定ゲーム向けのパッチを追加統合している。Proton-GEでは動くがデフォルトProtonではクラッシュするゲームも多い。
実践的な戦略:Proton-GEをデフォルトとして使う。GEが問題を起こす場合のみ公式Protonにフォールバックする。
最初のステップ:ドライバーとVulkan
LinuxゲーミングはVulkanに大きく依存している。これは高性能グラフィックスAPIで、最近のゲームのほとんどでOpenGLに取って代わっている。ドライバーやVulkanが正しくないと、ツールを全部入れてもゲームがクラッシュするか20 FPSで動くだけだ。
AMD GPU(Linuxゲーミングにはより良い選択)
AMDドライバー(AMDGPU)はカーネル4.2からLinuxカーネルに組み込まれている。ユーザースペース部分をインストールするだけでよい:
# RPM Fusionが未インストールの場合は有効化する
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# VulkanとMesaをインストール(32ビットゲーム向けにi686パッケージも必要)
sudo dnf install vulkan-tools mesa-vulkan-drivers mesa-vulkan-drivers.i686
# VulkanがGPUを認識しているか確認
vulkaninfo --summary
NVIDIA GPU
# RPM FusionからNVIDIAドライバーをインストール
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
# NVIDIA向けVulkan
sudo dnf install vulkan-loader vulkan-loader.i686
# 再起動して確認
nvidia-smi
vulkaninfo --summary
FedoraでのNVIDIAの落とし穴:FedoraはデフォルトでSecure Bootが有効になっている。再起動後にドライバーが読み込まれない場合(nvidia-smiコマンドがエラーを返す場合)、手動でカーネルモジュールに署名するか、BIOSでSecure Bootを無効にするかの二択だ。後者の方が速いが、セキュリティが下がる——どちらを選ぶかはあなた次第。
SteamのインストールとSteam Playの有効化
RPM FusionからSteamをインストール
# Steamは32ビットライブラリが必要——RPM Fusionが対応している
sudo dnf install steam
# より良いサンドボックスが必要な場合はFlatpakを使う
flatpak install flathub com.valvesoftware.Steam
FlatpakよりネイティブSteamを選んだのは、Proton-GEの統合が簡単だからだ。Flatpakのサンドボックスは優れているが、ファイルシステムの権限付与が追加で必要になり、初心者には混乱の元になりやすい。
すべてのゲームにSteam Playを有効化
Steamを開く → Settings → Compatibility → Enable Steam Play for all other titles → 最新のProtonバージョンを選択。このステップで、ネイティブLinuxビルドがないゲームも含めて、WindowsゲームをProton経由で実行できるようになる。
Proton-GEのインストール——違いを生む一手
2つの方法がある:手動またはProtonUp-Qtを使う。簡単な方から始めよう。
方法1:ProtonUp-Qt(推奨)
flatpak install flathub net.davidotek.pupgui2
flatpak run net.davidotek.pupgui2
ProtonUp-Qtで:Add versionをクリック → GE-Protonを選択 → 最新バージョンを選択 → Install。完了後にSteamを再起動する。
方法2:手動インストール
mkdir -p ~/.steam/root/compatibilitytools.d
# GE-Proton9-27をGitHubの最新バージョンに置き換える
wget https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-27/GE-Proton9-27.tar.gz
tar -xf GE-Proton9-27.tar.gz -C ~/.steam/root/compatibilitytools.d/
killall steam && steam
Steam再起動後:ライブラリのゲームを右クリック → Properties → Compatibility → Force the use of a specific Steam Play compatibility tool → GE-Protonを選択。
MangoHud:ゲーム内FPS監視オーバーレイ
MangoHudはゲーム画面上にシステム情報をリアルタイム表示する——FPS、GPU温度、CPU使用率、VRAM、フレームタイム。ゲームが突然重くなったとき、MangoHudを見ればGPUがサーマルスロットリングしているのかCPUがボトルネックになっているのかすぐわかる。
MangoHudのインストール
sudo dnf install mangohud mangohud.i686
# すぐにテストする
mangohud glxgears
MangoHudの設定
mkdir -p ~/.config/MangoHud
cat > ~/.config/MangoHud/MangoHud.conf << 'EOF'
# オーバーレイの位置
position=top-left
# 表示する情報
gpu_stats
gpu_temp
gpu_power
cpu_stats
cpu_temp
ram
vram
fps
frametime
frame_timing
# 0 = FPS無制限
fps_limit=0
text_color=FFFFFF
font_size=20
EOF
SteamゲームにMangoHudを有効化
ゲームを右クリック → Properties → General → Launch Optionsに以下を追加:
MANGOHUD=1 %command%
すべてのゲームで一括で有効にしたい場合は、~/.bashrcに追加する:
export MANGOHUD=1
さらなる最適化:GameModeと環境変数
Feral InteractiveのGameMode
小さなツールだが効果的:ゲーム実行中はCPUガバナーを自動的にperformanceに切り替え、終了時に元に戻す。マシンによっては、GameModeでFPSが5〜15%向上する。
sudo dnf install gamemode
# デーモンが正常に動作しているか確認
gamemoded -t
Launch Optionsに追加する:
MANGOHUD=1 gamemoderun %command%
よく使う環境変数
# DXVKのFPSオーバーレイを表示(より軽量なMangoHudの代替として)
DXVK_HUD=fps %command%
# デバッグ用Protonログを有効化——ログは~/steam-{AppID}.logに保存される
PROTON_LOG=1 %command%
標準セットアップの完全なLaunch Options:
MANGOHUD=1 gamemoderun %command%
ゲームが動かないときのデバッグ
これはほとんどのガイドが省略している部分だ。実際には、新しいゲームを初めて起動するとき、特に古いゲームやアンチチートを使用したゲームでは、30〜40%の確率で何らかの問題が発生する。
購入前にProtonDBを確認
ProtonDB.comでゲーム名を検索する。Platinum/Goldの評価は、何も調整せずに快適に動くことを意味する。Silverは少しの調整が必要。Bronze/Borked——スキップするか、アップデートを待つ。
ステップごとのデバッグ手順
# Launch OptionsでProtonログを有効化
PROTON_LOG=1 %command%
# ゲームクラッシュ後、原因を調べる
cat ~/steam-APPID.log | grep -i error
# より詳細なSteamログ
cat ~/.local/share/Steam/logs/content_log.txt
よくあるエラー
- 起動直後にクラッシュする:Proton-GEに切り替えてみる。古いDirectX 8/9を使用するゲームの場合、
PROTON_USE_WINED3D=1を追加して古いレンダラーにフォールバックする。 - アンチチートによるブロック(EAC、BattlEye):開発者が積極的にLinuxサポートを有効化した場合のみ動作する。ProtonDBで有効化済みか確認する——有効な回避策は存在しない。
- 画面が真っ黒だが音は聞こえる:Vulkanが正しく初期化されていない場合が多い。
PROTON_USE_WINED3D=1 %command%を追加してOpenGLに切り替える。 - GPUは正常なのにFPSが異常に低い:MangoHudを開いてCPUがスロットリングしていないか確認する。ラップトップの場合、ゲームを開く前に
powerprofilesctl set performanceを実行する。
まとめ
このセットアップは1年以上安定して動いている:Fedora 40、RX 6700 XT、ネイティブSteam + Proton-GE 9.x、MangoHud常時オン。Cyberpunk 2077はUltra 1080pで約85 FPS——Windowsに引けを取らない。
覚えておくべきツールの順番:VulkanドライバーSteam(RPM Fusion)→ ProtonUp-Qt経由のProton-GE → MangoHud + GameMode。そして新しいゲームを購入する前に、まずProtonDBで確認する——多くのトラブルを未然に防げる。
今は1台のマシンだけだ。コーディングも、週末のゲームも。デュアルブートはもう過去の話。

