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

CachyOS でゲームをする

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

まず最初に…

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

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

訳: 「FPS あげかたおしえて」—— この世に万能な最適化などない

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

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

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

  • CachyOS Hello を開いて アプリ/チューニング に移動し、ゲーム用パッケージをインストール をクリックしてください。 ImageComponent imgsrc=[object Promise] /> 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-slr または proton-cachyos-native
    • 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: PROTON_VERB (任意)
    • Value: waitforexitandrun
      • 対応する GAMEID で protonfixes が動作するようになります。
  6. Save をクリックして変更を適用してください。

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

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

    通常は x86-64 で終わるバージョンをダウンロードしてください。 CPU が AVX2 に対応しており、テストしてみたい場合のみ x86-64_v3 で終わるバージョンを選択してください。

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

Proton-CachyOS のコアとなっている Wine が独立したパッケージです。Lutris, Heroic, Bottles などで使用できます。Steam で使用されることを想定していません。

  • 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 を指定するには、ライブラリを開き、ゲームを右クリックしてプロパティ -> 互換性にある「特定のSteam Play互換ツールの使用を強制する」をオンにして使用したい Proton のバージョンを指定してください。

  • 公式の Proton をグローバル設定にするには、設定 -> 互換性 -> デフォルトの互換性ツールを最新の公式 Proton の安定版や Proton Experimental に指定してください。

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

Section titled “Steam で使用すべき Proton バージョンは?”
  • Proton 11.0Valve の安定版リリースです。プレイしたいゲームにこのバージョンが合っていることがわかっている場合はこちらを使用してください。

  • Proton ExperimentalValve の最新版リリースです。比較的新しいゲームや現在の Proton 安定版でうまく動作しないゲームであったり、ProtonDB で使用がおすすめされている場合に使用してください。

    初心者の方は、Valve 版 Proton や Proton Experimental をおすすめします。上級者向け機能を使用する場合、Steam の外部で Proton を使用してください。また現時点で公式の Proton に実装されていない修正が必要な場合は、カスタム版 Proton を使用してみてください。

  • Proton-CachyOSCachyOS によって開発・メンテナンスされているバージョンです。上級者向けの利便性向上の機能や修正が必要な場合のみProton Experimental の代わりとして使用することをおすすめします。CachyOS リポジトリには proton-cachyosproton-cachyos-slr の2つのバージョンがありますが、proton-cachyos パッケージよりも proton-cachyos-slr パッケージを使用することをおすすめします。

  • Proton-EMEtaash-mathamsetty によって開発されている、新機能の追加を中心とするカスタム版です。winewaylandFSR4 を使用したいが、Proton-CachyOS は無駄が多いと感じる場合におすすめです。Proton-CachyOS に実装されている修正の一部は、前述したものに限らず Proton-EM が元になっています。最新かつベストな winewayland を使用したい場合にぴったりです。

  • dwprotonDawn Winery によって開発されている Proton-CachyOS のフォークです。一部のトゥーンレンダリング系ゲーム (原神や鳴潮など “anime game” と呼ばれるゲーム) 向けの修正やパッチが実装されています。そうしたゲームとほかのカスタム版 Proton で不具合が見られる場合は dwproton がおすすめです。

  • Proton-GEGloriousEggroll によるカスタムビルドです。さまざまな修正が含まれており、特定の状況で有用です。

  • Proton 9.0.4 以前Valve の安定版リリースです。プレイしたいゲームが以前の Proton リリースでしか動作しない場合に使用してください。

Valve 版 Proton で H264 のビデオが再生されない/カラーバーになる不具合を修正

Section titled “Valve 版 Proton で H264 のビデオが再生されない/カラーバーになる不具合を修正”

以下のコマンドで Steam を起動してください。読み込まれた後、Steam を終了してから通常通り起動してください。

Terminal window
steam steam://unlockh264/

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 フィールドにスペース区切りで追加してください。
  • DXVK_HDR=1 などの環境変数は、System options タブの Environment variables テーブルに + ボタンで新しい項目を追加してください。

Lutris のログを正しく生成する方法

Section titled “Lutris のログを正しく生成する方法”
  • “Output debbugin info” を Inherit from environment に設定してください。
  • 次に “Environment variables” に PROTON_LOG を追加し、1 に設定してください。

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

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

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

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

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

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 のスレッドをご覧ください。