---
title: CachyOS 設定
---
import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';


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

提供しているすべての設定とスクリプトの詳細については、[CachyOS Settings リポジトリ](https://github.com/CachyOS/CachyOS-Settings?tab=readme-ov-file#cachyos-settings)をご覧ください。

## スクリプトとツール

### [cachyos-bugreport.sh](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/cachyos-bugreport.sh)

`cachyos-bugreport.sh` スクリプトを使ってバグレポートを生成する方法は以下のとおりです。
<Steps>
1. ターミナルを開き以下のコマンドを実行してください。
    ```sh
    sudo cachyos-bugreport.sh
    ```
    <details>
        <summary>出力例</summary>
        ```sh
        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 が表示されます。
        ```
    </details>
2. スクリプトはホームディレクトリにデバッグに役立つシステム情報とログを含むログファイルを生成します。また、ログをバグ報告時に便利な CachyOS のログ共有サービスにアップロードするかどうかも確認されます。
</Steps>

### DLSS Swapper

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

:::note
Proton-CachyOS にはアップグレード機能がすでに組み込まれています。
:::

:::caution
`PROTON_DLSS_UPGRADE=1` と `dlss-swapper` は同じ処理を行うため、同時に使用しないでください。競合が発生するおそれがあります。
:::

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

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

<details>
    <summary>dlss-swapper の環境変数</summary>
    ```sh
    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
    ```
</details>
<details>
    <summary>dlss-swapper-dll の環境変数</summary>
    ```sh
    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
    ```
</details>

- `dlss-swapper` と `dlss-swapper-dll` の違いは？
    - `dlss-swapper` は NGX Updater が提供する最新バージョンに DLSS の DLL とプリセットを更新します。`dlss-swapper-dll` はゲームのディレクトリにすでに存在する DLL を使用します。


### [game-performance](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/game-performance)

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

Q&A:

<details>
    <summary>使い方</summary>
    Steam のゲームで `game-performance` を使う場合、Steam の起動オプションに `game-performance` コマンドを追加してください。
        <Steps>
            1. Steam を開いてライブラリに移動してください。
            2. `game-performance` を使用したいゲームを右クリックして「プロパティ」をクリックしてください。
            3. 「一般」タブの「起動オプション」の項目に以下のコマンドを追加してください。
                ```sh
                game-performance %command%
                ```
                :::tip[Steam の起動オプション管理ガイド]
                CachyOS Wiki - [複数の起動オプションの正しい設定方法](/ja/configuration/gaming#複数の起動オプションの正しい設定方法)
                :::
            4. プロパティタブを閉じてゲームを起動してください。
        </Steps>
        <details>
            <summary>Steam 以外での使い方</summary>
            `game-performance` はラッパースクリプトなので、任意のプロセスをパフォーマンスプロファイルで起動できます。ターミナルで以下のコマンドを実行してください。
            ```sh
            game-performance <command>
            ```
        </details>
</details>

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

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

### [kerver](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/kerver)

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

- 現在のカーネルバージョン
    - x86_64 サポートと CPU コンパイラー最適化を確認
- 現在の I/O スケジューラ
- CPU, I/O, sched-ext スケジューラの情報 (有効な場合)

<details>
    <summary>使い方</summary>
    ```sh title='ターミナルを開き以下のコマンドを実行'
    kerver
    ```
    <details>
        <summary>出力例</summary>
        ```sh
        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
        ```
    </details>
</details>

### [paste-cachyos](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/paste-cachyos)

テキストを CachyOS の[ログ共有サービス](https://paste.cachyos.org)にアップロードできるシンプルな CLI ツールです。バグ報告やサポートを求める際にログやそのほかのテキストを共有するのに便利です。

:::note
`paste-cachyos` を使用するには、アップロードしたい内容をパイプ `|` でコマンドに渡す必要があります。

例:
```sh
<command> | paste-cachyos
```
:::

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

<details>
    <summary>pacman のアップデート出力を共有する</summary>
    ```sh
    sudo pacman -Syu | paste-cachyos
    ```
    [アップロード例](https://paste.cachyos.org/p/079e1cc)
</details>

<details>
    <summary>systemd-resolved の journalctl ログ</summary>
    ```sh
    journalctl -u systemd-resolved.service | paste-cachyos
    ```
</details>

### [pci-latency](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/pci-latency)

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

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

<details>
    <summary>現在のセッションのみに適用する</summary>
    ```sh
    sudo pci-latency
    ```
</details>
<details>
    <summary>systemd サービスを有効にする</summary>
    ```sh
    systemctl enable pci-latency.service
    ```
</details>
<details>
    <summary>systemd サービスを無効にする</summary>
    ```sh
    systemctl disable pci-latency.service
    ```
</details>

### [sbctl-batch-sign](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/sbctl-batch-sign)

:::note
Limine とは互換性がありません。
:::

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

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

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

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

詳細については[セキュアブートの設定](/ja/configuration/secure_boot_setup#カーネルイメージとブートマネージャーへの署名)の項目をご覧ください。

### [topmem](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/topmem)

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

<details>
    <summary>使用前に</summary>
    ```sh
    # スクリプトを実行するために lua-luv をインストールする
    sudo pacman -S lua-luv
    ```
</details>
<details>
    <summary>使い方</summary>
    ```sh
    topmem
    ```
    <details>
        <summary>出力例</summary>
        ```sh
        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
        ```
    </details>
</details>

### [zink-run](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/zink-run)

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

<details>
    <summary>使用される環境変数</summary>
    ```sh
    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
    ```
</details>

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

<details>
    <summary>使い方</summary>
    ```sh
    zink-run <command>
    ```
</details>

## オーバーライドの作成

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

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

### sysctl

CachyOS はデスクトップ全体のパフォーマンスを向上させるため、多くの sysctl のチューニングを提供しています。各 sysctl エントリーは [70-cachyos-settings.conf](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/lib/sysctl.d/70-cachyos-settings.conf) ファイルで詳しく説明されています。

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

<details>
    <summary>sysctl オーバーライドの例</summary>
    <Steps>

    1. `cachyos-settings` の元の値を確認してください。

        ```sh
        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 設定を変更するための新しいファイルを作成してください。

        ```sh title="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 設定を変更したら、変更を適用してください。
        ```sh
        sudo sysctl --system
        ```
    </Steps>
</details>

### udev ルール

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

:::tip[元のファイルを見つけるコマンド]
```sh
pacman -Ql cachyos-settings | grep udev
```
:::

<details>
    <summary>udev ルールのオーバーライドの例</summary>
    1. 元の CachyOS の udev ルールを確認してください。
        ```sh
        cat /usr/lib/udev/rules.d/60-ioschedulers.rules
        ```
        <details>
            <summary>出力例</summary>
                ```sh
                # 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"
                ```
        </details>
        SSD と NVMe の I/O スケジューラをそれぞれ `mq-deadline` と `none` の代わりに `kyber` に変更したい場合は、オーバーライドファイルを作成してください。
    2. `/etc/udev/rules.d` に元のルールをオーバーライドする新しいファイルを作成してください。
        ```sh
        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 ルールを変更したら、ルールをリロードして適用してください。

        ```sh
        sudo udevadm control --reload-rules
        sudo udevadm trigger
        ```
</details>
