コンテンツにスキップ
このページの情報は古くなっています。/configuration/gaming/ から最新のドキュメントを参照してください。

CachyOS でゲームをする

CachyOS でのゲームガイドへようこそ!ここでは、ゲーム環境の構築に必要な基本的な手順を説明します。

まず最初に…

「100%絶対に FPS が上がる!」ということはありません。ゲームやハードウェアのスペックによっては効果があまりなかったり、そもそもまったくないということもあります。

ソフトウェアの最適化を、無料でできるパソコンのアップグレードとは考えてはいけません。

CachyOS でゲーム環境の構築をかんたんにできるよう、必要なゲーム関連パッケージと依存関係・ライブラリをひとつのメタパッケージにまとめています。ツールとランチャー/ストア向けの別のメタパッケージもあります。

不足しているパッケージがあれば、CachyOS チームにぜひお知らせください。

以下の手順にしたがってゲーム環境の構築を始めてください。

  • CachyOS Hello を開いて アプリ/チューニング に移動し、ゲーム用パッケージをインストール をクリックしてください。

CachyOS Hello は cachyos-gaming-metacachyos-gaming-applications の両方をインストールします。
※CachyOS Hello は日本語に対応しています。

Proton-CachyOS は Proton の bleeding-edge ブランチをベースに、さまざまな変更を加えたものです。

  • Wine-staging パッチ
  • Wine フルスクリーン FSR
  • ゲームのカットシーン用の動画・音声コーデックを同梱
  • umu-launcher と UMU-Protonfixes のサポート
  • ゲーム向けの早期ホットフィックス/回避策の追加

複数の起動オプションの正しい設定方法

Section titled “複数の起動オプションの正しい設定方法”

Steam の起動オプションは以下のパターンで構成されています。

Terminal window
<環境変数> <ラッパー> %command% <アプリケーション引数>
  • <環境変数>: 変数名=値 の形式のオプションです。

    PROTON_DXVK_D3D8=1
    # または
    DXVK_HUD="fps,memory,version,api"
  • <ラッパー>: 実際のアプリケーションの実行方法を変更するアプリケーションやスクリプトです。ラッパーへの引数は通常ラッパーの実行ファイルの後に続けます。

    mangohud --dlsym
    # または
    gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  • %command%: 実際のアプリケーションです。そのままにしてください。Steam が実行時に適切なコマンドに置き換えます。

  • <アプリケーション引数>: 実際のアプリケーションへのさまざまな引数で、アプリケーションによって異なります。

    %command% -dx11

すべての要素を組み合わせた起動オプションの例:

Terminal window
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
  • DLSS と NVIDIA の機能
    • PROTON_DLSS_UPGRADE=1: DLSS を自動的に最新バージョンにアップグレード
    • PROTON_DLSS_INDICATOR=1: ゲーム内に DLSS ステータスインジケーターを表示
    • PROTON_NVIDIA_LIBS=1: NVIDIA ライブラリ (PhysX, CUDA) を有効化 (DLSS/レイトレーシングには不要)
高度な NVIDIA の設定
  • PROTON_NVIDIA_NVCUDA=1: CUDA サポートのみを有効化
  • PROTON_NVIDIA_NVENC=1: NVENC エンコードのみを有効化
  • PROTON_NVIDIA_NVML=1: NVML モニタリングを有効化
  • PROTON_NVIDIA_NVOPTIX=1: OptiX レイトレーシングを有効化
  • PROTON_NVIDIA_LIBS_NO_32BIT=1: ライブラリを 64 ビットのみに制限 (RTX 4000 番台以降のパフォーマンス問題の修正策)
  • AMD と Intel のアップスケーリング
    • PROTON_FSR4_UPGRADE=1: FSR を自動的に最新バージョンにアップグレード
    • PROTON_FSR4_RDNA3_UPGRADE=1: RDNA3 最適化版の FSR4 DLL を使用
    • PROTON_XESS_UPGRADE=1: XeSS を自動的に最新バージョンにアップグレード

Lutris と Heroic で Proton-CachyOS を設定する

Section titled “Lutris と Heroic で Proton-CachyOS を設定する”

システムに CachyOS の umu-launcher がインストールされていることを確認してください。以下のコマンドでインストールできます。

Terminal window
sudo pacman -S cachyos/umu-launcher
  1. Lutris のメイン画面で Wine の隣にある歯車アイコンをクリックしてください。
  2. Runner Options タブに移動して以下の設定になっていることを確認してください。
    • Wine version = proton-cachyos
    • Use System winetricks = Disabled
    • Graphics
      • Enable DXVK = Enabled
        • 注意: umu-launcher 使用時はユーザーが指定した DXVK, VKD3D, DXVK-NVAPI のバージョンは適用されません。
  3. System Options タブに移動してください。
    • Lutris
      • Disable Lutris Runtime = Enabled
      • Prefer system libraries = Enabled
  4. Game execution の項目にある Environment variables までスクロールしてください。
  5. 以下の環境変数を追加してください。
    • Key: UMU_RUNTIME_UPDATE (任意)
      • Value: 0
      • これにより proton-cachyos の Steam Linux Runtime アップデートをスキップします。Steam Linux Runtime を使用する Proton (proton-cachyos-slr, -GE, -EM など) と一緒に使用しないでください。
    • Key: PROTON_VERB (任意)
      • Value: waitforexitandrun
      • 対応する GAMEID で protonfixes が動作するようになります。
  6. Save をクリックして変更を適用してください。

proton-cachyos-slr のインストール方法

Section titled “proton-cachyos-slr のインストール方法”
以下のコマンドを実行
sudo pacman -S proton-cachyos-slr
手動インストール (上級者向け)
  1. こちらから最新バージョンをダウンロードしてください。(Assets までスクロール)

    CPU が AVX2 をサポートしている場合は x86-64_v3 で終わるものを選択してください。 それ以外の場合は x86-64 で終わるものをダウンロードしてください。

  2. ファイルを展開して ~/.steam/steam/compatibilitytools.d/ に入れてください。
  3. Steam が開いている場合は再起動してください。

proton-cachyos のコアとなっている wine が独立したパッケージです。Lutris, Heroic, Bottles などで使用できます。

  • Proton-CachyOS に含まれるすべての Wine の変更点を統合
  • ゲーム向けの早期ホットフィックス/回避策の追加

追加の設定オプション

  • WINE_WMCLASS="<名前>": すべての Wine ウィンドウの WM_CLASS を設定します。ウィンドウマネージャーがルールを介して Wine ウィンドウを制御できるようになります。
  • WINEUSERSANDBOX=1: Wine ユーザーフォルダー (Documents や Pictures など) 内に作成される、ユーザーの HOME ディレクトリの対応するフォルダーへのシンボリックリンクを無効にします。
  • WINE_NO_WM_DECORATION=1: ウィンドウのデコレーションを無効にします。ボーダーレスフルスクリーンや画面を介したクリックに関する問題を修正できます。
  • WINE_PREFER_SDL_INPUT=1: コントローラー検出の問題を回避します。

wine-cachyos-opt を使う場合、通常は wine の代わりに /opt/wine-cachyos/bin/wine を実行するだけで十分です。

より厳密な設定が必要な場合は以下のように実行してください。

Terminal window
export PATH="/opt/wine-cachyos/bin/:$PATH"
export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"

wine-cachyos-optwinetricks を使う場合は以下のように実行します。

Terminal window
WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=<プレフィックス> winetricks <verb>

Steam で使用すべき Proton バージョンは?

Section titled “Steam で使用すべき Proton バージョンは?”
  • Proton 10.0Valve の安定版リリースです。プレイしたいゲームがこのバージョンでうまく動作することが確認されている場合に使用してください。
  • Proton ExperimentalValve の最新版リリースです。比較的新しいゲームや現在の Proton 安定版でうまく動作しないゲーム、または ProtonDB で使用が推奨されている場合に使用してください。
  • proton-cachyos-slr は CachyOS メンテナーがビルド・メンテナンスしているバージョンです。さまざまな QoL 機能、修正、最適化が含まれているため、強くおすすめします。BattlEyeEasy Anti-Cheat などのアンチチートやカスタムランチャーを使用するゲームには proton-cachyos-slr が適しています。
  • proton-cachyosproton-cachyos-slr と同じバージョンですが、Steam Linux Runtime に依存せずビルドされています。この違いがどういうことか理解している場合のみ使用し、問題が発生した場合は proton-cachyos-slr に戻してください。
  • Proton-GEGloriousEggroll によるカスタムビルドです。さまざまな修正が含まれており、特定の状況で有用です。
  • Proton 9.0.4 以前Valve の安定版リリースです。プレイしたいゲームが以前の Proton リリースでしか動作しない場合に使用してください。

Steam ゲーム録画機能によるスタッタリングを修正

Section titled “Steam ゲーム録画機能によるスタッタリングを修正”

ゲームに以下の起動オプションを追加してください。

Terminal window
LD_PRELOAD="" %command%

ゲームの Proton ログを有効にする方法は以下のとおりです。

  1. Steam でゲームを右クリックして プロパティ をクリック
  2. 起動オプションPROTON_LOG 環境変数を設定
    Terminal window
    PROTON_LOG=1 %command%
    ホームディレクトリに steam-<AppID>.log という名前のログファイルが作成されます。(例: Counter Strike 2 の AppID は 730 なので steam-730.log になります)
カスタムログディレクトリ

カスタムログディレクトリを設定するには PROTON_LOG_DIR を使用してください。

PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%

Proton-CachyOS, -GE, -EM でシェーダーをプリキャッシュする

Section titled “Proton-CachyOS, -GE, -EM でシェーダーをプリキャッシュする”

Steam でこの機能を無効にする方法

Section titled “Steam でこの機能を無効にする方法”

Steam で Steam設定 をクリックして ダウンロード に移動し、以下の設定のチェックを外してください。

  • バックグラウンドでのVulkanシェーダー処理を許可する
  • シェーダープリキャッシュを有効化

Windows の NTFS ゲームパーティションを活用する

Section titled “Windows の NTFS ゲームパーティションを活用する”

Lutris は CachyOS のゲームランチャーです。Lutris を使うと Wine や Proton、エミュレーターなどのゲームランナーをかんたんに管理できます。

  • Play ボタンをクリックするだけで Lutris からゲームを起動できます。
  • 左上の + をクリックして好きなゲームを追加できます。
  • 左パネルのソースでストアを設定してアカウントを接続すると、ストアがインストールされ、Windows と同じようにストア内からゲームを実行できます。
  • そのほかにも多くの機能があります。

Lutris で対応しているゲームストア一覧

Lutris での複数の起動オプションと環境変数の正しい設定方法

Section titled “Lutris での複数の起動オプションと環境変数の正しい設定方法”
  • -dx11-fullscreen などの起動オプションは、Game options タブの Arguments 欄にスペース区切りで追加してください。
  • mangohud --dlsymgame-performance などのコマンドラッパーは、System options タブの Command prefix フィールドにスペース区切りで追加してください。
  • PROTON_ENABLE_HDR=1 などの環境変数は、System options タブの Environment variables テーブルに + ボタンで新しい項目を追加してください。

パフォーマンスとそのほかのヒント

Section titled “パフォーマンスとそのほかのヒント”

gamemode と ananicy-cpp を併用しないこと

Section titled “gamemode と ananicy-cpp を併用しないこと”

gamemodeananicy-cpp は両方ともプロセスの nice 値を同時に変更しようとするため、競合や予期せぬ動作につながる可能性があります。ananicy-cpp なしで gamemode を使うことをおすすめします。

ananicy-cpp を停止するには以下のコマンドを実行してください。

Terminal window
systemctl stop ananicy-cpp

オンデマンドの電源プロファイル切り替え

Section titled “オンデマンドの電源プロファイル切り替え”

CachyOS には power-profiles-daemon を使って電源プロファイルを一時的に performance に切り替えるラッパースクリプト game-performance が含まれています。 このプロファイルはシステムの電力レベルを上げて CPU ガバナーを performance に設定し、動作中の scx スケジューラにゲーム用プロファイルがある場合はそのプロファイルに切り替えます。

ゲームの起動に使用すると、ゲームが終了するまでシステムはパフォーマンスモードのままになり、その後もとのプロファイルに戻ります。

Feral の GameMode も同様の機能を提供しています。

game-performance を Steam、Lutris、Heroic Games Launcher に追加する方法

Section titled “game-performance を Steam、Lutris、Heroic Games Launcher に追加する方法”
  1. Steam ライブラリ を開いてください。
  2. ゲームのタイトルを右クリックして プロパティ をクリックしてください。
  3. 一般 タブに 起動オプション の項目があります。
  4. 以下の起動オプションを追加してください。
    Terminal window
    game-performance %command%

シェーダーキャッシュの最大サイズを増やす

Section titled “シェーダーキャッシュの最大サイズを増やす”

ゲームのシェーダーはプレイ中に自動コンパイルされるため、シェーダーが必要になったタイミングで読み込み時間が長くなったり動作が重くなったりすることがあります。こうしたシェーダーはシステムに保存されて次回から再利用されます。

ただしシェーダーキャッシュのファイルサイズには上限があり、デフォルトのサイズを超えると古いシェーダーが削除されます。大型ゲームのシェーダーが 1GB を超えることもあり、こうした場合に起動のたびにシェーダーを再コンパイルする原因となります。

長い読み込み時間や負荷の上昇を避けるために、グローバルシェーダーキャッシュのサイズを増やすことができます。

  1. ターミナルを開いてください。
  2. 設定フォルダーに environment.d ディレクトリがない場合は作成してください。
    Terminal window
    mkdir -p ~/.config/environment.d
  3. 新しい設定ファイルを作成してください。
    Terminal window
    touch ~/.config/environment.d/gaming.conf
  4. Micro (テキストエディター) でファイルを開いてください。
    Terminal window
    micro ~/.config/environment.d/gaming.conf
    GPU ベンダーに応じて以下を貼り付けてください。
    AMD
    Terminal window
    # AMD のシェーダーキャッシュサイズを 12GB に増やす
    MESA_SHADER_CACHE_MAX_SIZE=12G
    NVIDIA
    Terminal window
    # NVIDIA のシェーダーキャッシュサイズを 12GB に増やす
    __GL_SHADER_DISK_CACHE_SIZE=12000000000
  5. CTRL+S でファイルを保存し、CTRL+Q で Micro を終了してください。システムを再起動してください。

再起動後、シェーダーキャッシュの最大サイズが永久的に増加します。このガイドのもとになった psygreg のシェーダーブースターに感謝申し上げます。

最新の DLSS プリセットを強制適用する

Section titled “最新の DLSS プリセットを強制適用する”

dlss-swapper を Steam, Lutris, Heroic Games Launcher に追加する方法

Section titled “dlss-swapper を Steam, Lutris, Heroic Games Launcher に追加する方法”
  1. Steam ライブラリ を開いてください。
  2. ゲームのタイトルを右クリックして プロパティ をクリックしてください。
  3. 一般 タブに 起動オプション セクションがあります。
  4. 以下の起動オプションを追加してください。
    Terminal window
    dlss-swapper %command%
手動で DLL を置き換える方法

dlss-swapper が動作しなかったり、問題が発生している場合は、手動で最新バージョンの nvngx_dlss.dll に置き換えてから、代わりに dlss-swapper-dll ラッパースクリプトを使ってゲームの DLSS 実装を手動で更新してみてください。

すでに Arch Wiki ではさまざまなハードウェアプラットフォームでレイトレーシングを有効にする詳しい手順が掲載されています。

DirectX12 ゲームでの NVIDIA のパフォーマンス低下

Section titled “DirectX12 ゲームでの NVIDIA のパフォーマンス低下”

NVIDIA の Linux ドライバによる GPU スケジューリングが Windows と違って不適切であることが原因だと報告するユーザーがいますが、NVIDIA からの公式声明はまだありません。現時点で回避策はありません。NVIDIA が修正に取り組んでいるとされていますが、リリース時期は不明です。

これは CachyOS とは無関係です。

一部のゲームではパフォーマンスの低下がほかより目立たないことがあります。参考としてこのベンチマーク比較動画をご覧ください。

この問題の詳細については NVIDIA のスレッドをご覧ください。