コンテンツにスキップ

CachyOS 設定

CachyOS は最適化されたカーネルとリポジトリに加えて、デスクトップ体験をさらに向上させる設定と QoL 改善のためのヘルパースクリプトも提供しています。これらの設定とスクリプトはすべて cachyos-settings パッケージに含まれています。

提供しているすべての設定とスクリプトの詳細については、CachyOS Settings リポジトリをご覧ください。

cachyos-bugreport.sh スクリプトを使ってバグレポートを生成する方法は以下のとおりです。

  1. ターミナルを開き以下のコマンドを実行してください。
    Terminal window
    sudo cachyos-bugreport.sh
    出力例
    Terminal window
    sudo cachyos-bugreport.sh
    [sudo] password for array:
    Starting with bugreport
    Redacting personal information...
    Do you want to upload this log to https://paste.cachyos.org? [Y]es/[N]o: Y
    Uploading Log
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 130.3k 100 10 100 130.3k 7 96934 00:01 00:01 117.7k
    # アップロード完了後にここに URL が表示されます。
  2. スクリプトはホームディレクトリにデバッグに役立つシステム情報とログを含むログファイルを生成します。また、ログをバグ報告時に便利な CachyOS のログ共有サービスにアップロードするかどうかも確認されます。

特定の状況で便利です。特に Valve が提供する Proton バージョンで有効です。

DLSS の DLL とプリセットを最新バージョンに更新する作業を行うツールです。特定のバージョンの DLSS が必要なゲームで有用です。

ゲームプロセスに環境変数を注入することで動作します。

dlss-swapper の環境変数
Terminal window
export PROTON_ENABLE_NGX_UPDATER=1
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
dlss-swapper-dll の環境変数
Terminal window
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=on
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
export DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest
  • dlss-swapperdlss-swapper-dll の違いは?
    • dlss-swapper は NGX Updater が提供する最新バージョンに DLSS の DLL とプリセットを更新します。dlss-swapper-dll はゲームのディレクトリにすでに存在する DLL を使用します。

対象プロセス (ゲームやその他のプロセス) に対して powerprofilesctl のパフォーマンスプロファイルを有効にし、プロセスの実行中はスクリーンセーバーを無効にする小規模のスクリプトです。

Q&A:

使い方 Steam のゲームで game-performance を使う場合、Steam の起動オプションに game-performance コマンドを追加してください。

  1. Steam を開いてライブラリに移動してください。
  2. game-performance を使用したいゲームを右クリックして「プロパティ」をクリックしてください。
  3. 「一般」タブの「起動オプション」の項目に以下のコマンドを追加してください。
    Terminal window
    game-performance %command%
  4. プロパティタブを閉じてゲームを起動してください。

Steam 以外での使い方 game-performance はラッパースクリプトなので、任意のプロセスをパフォーマンスプロファイルで起動できます。ターミナルで以下のコマンドを実行してください。

Terminal window
game-performance <command>

古い CPU で game-performance は効果はある? 基本的にはありません。古い CPU では効果よりも悪影響の方が大きくなる可能性があるため、使用しないことをおすすめします。

なぜデフォルトで有効にしない? パフォーマンスプロファイルの有効化は消費電力や発熱が増加するなどのことから、すべてのユーザーに適切とは限らないためです。デフォルトでは有効にせず、必要なときにユーザー自身がえらんで有効にできるようにしています。

kerver は以下の簡単な情報を表示するスクリプトです。

  • 現在のカーネルバージョン
    • x86_64 サポートと CPU コンパイラー最適化を確認
  • 現在の I/O スケジューラ
  • CPU, I/O, sched-ext スケジューラの情報 (有効な場合)
使い方
ターミナルを開き以下のコマンドを実行
kerver
出力例
Terminal window
kerver
Check kernel version:
Linux version 6.19.8-1-hC (linux-hC@hC) (clang version 22.1.1, LLD 22.1.1) #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000
Linux CatchyOS 6.19.8-1-hC #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000 x86_64 GNU/Linux
Check x86_64 support:
x86-64-v3 (supported, searched)
x86-64-v2 (supported, searched)
Check CPU config:
CONFIG_X86_NATIVE_CPU=y
# CONFIG_GENERIC_CPU is not set
# CONFIG_MZEN4 is not set
Current disk schedulers:
sda: none mq-deadline kyber [adios] bfq
sdb: none mq-deadline kyber [adios] bfq
Check available schedulers:
BORE CPU Scheduler modification 6.6.2 by Masahito Suzuki
rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
io scheduler mq-deadline registered
io scheduler kyber registered
Adaptive Deadline I/O Scheduler 3.2.0 by Masahito Suzuki
io scheduler adios registered
io scheduler bfq registered
sched_ext: BPF scheduler "bpfland_1.1.0_gc505008f_x86_64_unknown_linux_gnu" enabled with options scx_bpfland

テキストを CachyOS のログ共有サービスにアップロードできるシンプルな CLI ツールです。バグ報告やサポートを求める際にログやそのほかのテキストを共有するのに便利です。

paste-cachyos の使用例を一部紹介します。

pacman のアップデート出力を共有する
Terminal window
sudo pacman -Syu | paste-cachyos

アップロード例

systemd-resolved の journalctl ログ
Terminal window
journalctl -u systemd-resolved.service | paste-cachyos

PCI レイテンシタイマーを変更することで PCI サウンドカードのレイテンシを下げてパフォーマンスの改善を目指すシンプルなスクリプトです。

バイナリと systemd サービスの両形式で利用できます。systemd サービスではブート時に自動的に変更を適用でき、バイナリでは必要なタイミングで変更を適用できます。

現在のセッションのみに適用する
Terminal window
sudo pci-latency
systemd サービスを有効にする
Terminal window
systemctl enable pci-latency.service
systemd サービスを無効にする
Terminal window
systemctl disable pci-latency.service

sbctl-batch-sign はセキュアブートサポートに必要なファイルへの署名をかんたんにするヘルパースクリプトです。

Windows とのデュアルブート時には EFI に多くの Windows ファイルへの署名が必要になるため、このスクリプトが特に役立ちます。

スクリプト実行時の処理の概要は以下のとおりです。

  • sbctl verify を使って未署名のファイルをスキャン
    • 必要に応じて sbctl sign で検出されたファイルに署名
  • Windows や GRUB に属するファイル、または .mui.dll 拡張子のファイルは除外

詳細についてはセキュアブートの設定の項目をご覧ください。

RAM 使用量, SWAP, KSM (カーネル同一ページマージ) の共有量でメモリを最も消費しているプロセスのトップ一覧を表示する Lua スクリプトです。

使用前に
Terminal window
# スクリプトを実行するために lua-luv をインストールする
sudo pacman -S lua-luv
使い方
Terminal window
topmem
出力例
Terminal window
topmem
MEMORY Top 10 processes SWAP KSM
1333M node 0M 0M
811M exe 0M 0M
759M VQ6B1EUZqoCU04zoRU= --cha... 0M 0M
681M node 0M 0M
531M zed-editor 0M 0M
484M brave 0M 0M
424M qs 0M 0M
408M mdx-language-server 0M 0M
395M Telegram 0M 0M
365M VQ6B1EUZqoCU04zoRU= --cha... 0M 0M

適切な環境変数を設定することで、対象プロセスに Zink (Vulkan 上の OpenGL) の使用を強制します。

使用される環境変数
Terminal window
MESA_LOADER_DRIVER_OVERRIDE=zink
GALLIUM_DRIVER=zink
__GLX_VENDOR_LIBRARY_NAME=mesa
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json

Zink の方がパフォーマンスや互換性が高いゲームを Steam でプレイする場合に便利です。

使い方
Terminal window
zink-run <command>

まずオーバーライドとはなにか説明します。

オーバーライドとは cachyos-settings が提供する標準設定を変更するために作成する設定ファイルです。元のファイルを変更せずにシステムをカスタマイズできるため、cachyos-settings の将来のアップデートとの互換性を保ちやすくなります。

CachyOS はデスクトップ全体のパフォーマンスを向上させるため、多くの sysctl のチューニングを提供しています。各 sysctl エントリーは 70-cachyos-settings.conf ファイルで詳しく説明されています。

これらの値を変更するには、元のエントリーをコピーして /etc/sysctl.d/ の中に変更した値を含む新しいファイルを作成してください。

sysctl オーバーライドの例
  1. cachyos-settings の元の値を確認してください。

    Terminal window
    cat /usr/lib/sysctl.d/70-cachyos-settings.conf
    # Only experimental!
    # Let Realtime tasks run as long they need
    # sched: RT throttling activated
    kernel.sched_rt_runtime_us=-1
  2. /etc/sysctl.d に sysctl 設定を変更するための新しいファイルを作成してください。

    kernel.sched_rt_runtime_us= をデフォルト値に戻す
    sudo micro /etc/sysctl.d/99-kernel-sched-rt.conf # ファイルが存在しない場合、このコマンドで作成・編集できます
    kernel.sched_rt_runtime_us=950000
  3. CTRL + S でファイルを保存し、CTRL + Q でエディターを終了してください。

  4. sysctl 設定を変更したら、変更を適用してください。

    Terminal window
    sudo sysctl --system

udev ルールも同様です。/etc/udev/rules.d/ の中に元のファイルと同じ名前で新しいファイルを作成することでオーバーライドできます。

udev ルールのオーバーライドの例
  1. 元の CachyOS の udev ルールを確認してください。

    Terminal window
    cat /usr/lib/udev/rules.d/60-ioschedulers.rules
    出力例
    Terminal window
    # HDD
    ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"
    # SSD
    ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="mq-deadline"
    # NVMe SSD
    ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="none"

    SSD と NVMe の I/O スケジューラをそれぞれ mq-deadlinenone の代わりに kyber に変更したい場合は、オーバーライドファイルを作成してください。

  2. /etc/udev/rules.d に元のルールをオーバーライドする新しいファイルを作成してください。

    Terminal window
    sudo micro /etc/udev/rules.d/60-ioschedulers.rules # ファイルが存在しない場合、このコマンドで作成・編集できます
    # HDD
    ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \
    ATTR{queue/scheduler}="bfq"
    # SSD
    ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"
    # NVMe SSD
    ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \
    ATTR{queue/scheduler}="kyber"
  3. CTRL + S でファイルを保存し、CTRL + Q でエディターを終了してください。

  4. udev ルールを変更したら、ルールをリロードして適用してください。

    Terminal window
    sudo udevadm control --reload-rules
    sudo udevadm trigger