FedoraでSteam、Proton-GE、MangoHudを使ってゲーミング環境を構築する:LinuxでWindowsゲームを快適にプレイ

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

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台のマシンだけだ。コーディングも、週末のゲームも。デュアルブートはもう過去の話。

Share: