システムの全般的なチューニング
AMD のパフォーマンスチューニング
Section titled “AMD のパフォーマンスチューニング”AMD P-State ドライバ
Section titled “AMD P-State ドライバ”amd-pstate は Linux カーネルにおける最新の AMD APU および CPU シリーズ向けの CPU 周波数制御メカニズムに対応する、AMD CPU パフォーマンス制御ドライバです。この新しい仕組みは Collaborative Processor Performance Control (CPPC) に基づいており、これまでの ACPI ハードウェア P-States よりも細かな周波数管理を実現します。
現在の AMD CPU/APU プラットフォームは ACPI P-States ドライバを使用しており、P-State の切り替えが3段階でしか制御できません。CPU 周波数とクロックを管理するために CPPC は ACPI P-States の制御を置き換え、Linux カーネルがハードウェアにパフォーマンスの制御情報を直接伝えるための柔軟で低遅延のインターフェースを提供します。
以下は amd-pstate ドライバの3つの動作モードとブート時のカーネルコマンドラインのオプションです。
- AMD P-State (非自律モード):
amd-pstate=passive - AMD P-State Guided (ガイド付き自律モード):
amd-pstate=guided - AMD P-State EPP (自律モード):
amd-pstate=active
実行時にモードを切り替えてオプションをテストすることもできます。
-
自律モード: プラットフォームは最小パフォーマンス、最大パフォーマンス、エネルギーパフォーマンス設定の値のみを考慮します。
Terminal window echo active | sudo tee /sys/devices/system/cpu/amd_pstate/status -
ガイド付き自律モード: プラットフォームは OS が最小・最大パフォーマンスレジスタで設定した範囲内で、現在の処理内容に応じた動作パフォーマンスレベルを設定します。
Terminal window echo guided | sudo tee /sys/devices/system/cpu/amd_pstate/status -
非自律モード: プラットフォームは OS から直接 Desired Performance Register を通じてパフォーマンスレベルの指示を受け取ります。
Terminal window echo passive | sudo tee /sys/devices/system/cpu/amd_pstate/status
詳しい情報は以下からご覧ください。
AMD P-State ドキュメントAMD P-State ドライバ動作モードAMD P-State ユーザー空間インターフェースAMD P-State EPP の設定
Section titled “AMD P-State EPP の設定”P-State EPP を使用するには powersave と performance の2つの CPU 周波数スケーリングガバナーが利用できます。powersave ガバナーを使用して設定値を調整することをおすすめします。
- powersave ガバナーを設定:
sudo cpupower frequency-set -g powersave - performance ガバナーを設定:
sudo cpupower frequency-set -g performance
設定値を変更するには、希望する設定値で以下のコマンドを実行してください。
echo power | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference利用可能な設定値: performance, power, balance_power, balance_performance
AMD 3D V-Cache オプティマイザー
Section titled “AMD 3D V-Cache オプティマイザー”AMD は 7950X3D や 7900X3D などのデュアル CCD 3D CPU のキャッシュスケジューリングを最適化するパッチを公開しました。BIOS の CPPC オプションを “Driver” に設定する必要があります。これにより sysfs でモードを上書きできるようになります。
2つのモードがあります。
- Frequency (周波数)
- Cache (キャッシュ)
cache を設定すると、ドライバはより多くのキャッシュを持つ CCD にタスクを優先的に割り当てます。主にゲームで効果的です。
frequency オプションは、3D Cache CCD より高いクロック周波数を持つ2番目の CCD にタスクを割り当てます。
Frequency (デフォルト):
echo frequency | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_modeCache:
echo cache | sudo tee /sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_modeモードを変更すると、amd の優先コア統計の順位が変動します。以下のコマンドで確認できます。
grep -v /sys/devices/system/cpu/cpu*/cpufreq/amd_pstate_prefcore_rankingAMD P-State コアパフォーマンスブースト
Section titled “AMD P-State コアパフォーマンスブースト”AMD Core Performance Boost (AMD Turbo Core とも呼ばれます) は AMD による動的周波数スケーリング技術で、特定のプロセッサバージョンでプロセッサの動作周波数を動的に調整・制御できます。通常の動作時は低電力・低発熱の動作を保ちながら、必要に応じてパフォーマンスを増加させます。
CachyOS で AMD CPB を管理するには以下のコマンドを使用できます。
❯ echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/boost # 全コアのブーストを無効にする❯ lscpu -ae # AMD CPB がグローバルで無効になっていることがわかるCPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ 0 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1212.8250 1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 1394.2180 2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 1204.4600
❯ echo 1 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/boost # cpu0 のブーストを有効化❯ lscpu -aeCPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ MHZ 0 0 0 0 0:0:0:0 yes 4564.0000 400.0000 1393.2380 1 0 0 0 0:0:0:0 yes 3301.0000 400.0000 400.0000 2 0 0 1 1:1:1:0 yes 3301.0000 400.0000 2157.8469CachyOS は AMD CPB のサポートを有効にするコミットをバックポートした power-profiles-daemon のカスタムバージョンも提供しています。powersave プロファイルを使用すると AMD CPB が無効になり、balanced または performance では有効になります。
詳細については以下をご覧ください。
- https://lore.kernel.org/linux-pm/[email protected]/T/#m4a0c8917ea8fb033504055bd61512c80c85410c8
- https://lore.kernel.org/linux-pm/[email protected]/
パフォーマンスの改善
Section titled “パフォーマンスの改善”開発: firelzrd
README の概要:
- ADIOS (Adaptive Deadline I/O Scheduler) は Linux カーネルのブロックレイヤー I/O スケジューラで、最新のマルチキューブロックデバイス (blk-mq) 向けに設計されています。デッドラインスケジューリングの原則と学習ベースの適応レイテンシ制御メカニズムを組み合わせることで、低遅延の I/O 操作を実現することを目的としています。
- mq-deadline と Kyber I/O スケジューラのコンセプトを参考にしています。中核となるのは、過去のパフォーマンスとリクエストの特性 (操作の種類、サイズ) に基づいて I/O の完了レイテンシを予測し、その予測を使って動的にリクエストのデッドラインとバッチング動作を調整する機能です。
要約: ADIOS はストレージデバイスの遅延の動きを学習し、その情報を使って I/O リクエストの完了期限を動的に設定します。重要なシステム操作 (ティア 0) からバックグラウンド処理 (ティア 3) までの4段階でリクエストを優先付けし、スムーズなユーザー体験を確保します。応答性に重点を置きつつ、sysfs 設定でレイテンシとスループットのバランスを調整できます。
ライブデモはこちらの動画でご覧ください。
ADIOS を有効にする方法
Section titled “ADIOS を有効にする方法”この方法では現在のセッション中のみでスケジューラを設定します。再起動すると変更は失われます。
sync && echo adios | sudo tee /sys/block/<yourdrive>/queue/scheduler# <yourdrive> を実際のドライブ識別子に置き換えてください (例: sda, sdb, nvme0n1)- テキストエディター (例: nano, micro, vim) で新しい udev ルールファイルを開くか作成してください。
例 sudo nano /etc/udev/rules.d/60-ioschedulers.rules - ドライブの種類 (HDD, SSD, NVMe) に応じて特定の I/O スケジューラを自動設定する以下のルールをファイルに追加してください。
# HDDACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \ATTR{queue/scheduler}="bfq"# SSDACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="adios"# NVMe SSDACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="adios"
- ファイルを保存してエディターを閉じてください。
- 再起動せずに適用するには
udevルールを再読み込みしてください。Terminal window sudo udevadm control --reload-rulessudo udevadm trigger
FAQ:
- 応答性が向上するのに、なぜデフォルトで有効にしない?
- ADIOS はまだ活発に開発・テスト中です。デスクトップの応答性に大きなメリットをもたらしますが、デフォルトとして採用するにはすべての処理内容とハードウェアに対して、十分に安定していないと判断されています。エッジケースではシステムのロックアップなどの問題につながるバグが発生する可能性があります。このため最新の改善をテストして恩恵を受けたいユーザー向けの機能となっています。
NVIDIA スムーズモーション (RTX 40xx & 50xx シリーズ)
Section titled “NVIDIA スムーズモーション (RTX 40xx & 50xx シリーズ)”以下は NVIDIA の公式ドキュメントからの引用です。
NVIDIA スムーズモーションは、レンダリングされた2フレーム間で追加のフレームを推論することでよりスムーズなゲームプレイを実現する、ドライバベースの新しい AI モデルです。DLSS フレーム生成がないゲームに対して、NVIDIA スムーズモーションは GeForce RTX 40 シリーズ以降の GPU で体験を向上させる新しいオプションです。
- ゲームで NVIDIA スムーズモーションを有効にする方法
- 以下の環境変数を追加してください。
NVPRESENT_ENABLE_SMOOTH_MOTION=1
- 以下の環境変数を追加してください。
FAQ:
- DLSS フレーム生成よりもスムーズモーションを使う理由は?
- ゲームが DLSS フレーム生成に対応していない場合、ドライバベースの AI モデルによるスムーズモーションが代替手段となります。
- スムーズモーションにデメリットはある?
- あります。スムーズモーションを有効にすると、追加フレームの推論処理による若干の入力遅延が生じる場合があります。
- サードパーティのオーバーレイと相性が悪いことがあります。回避するには以下の環境変数を追加してください。
NVPRESENT_QUEUE_FAMILY=1
- MangoHud がフレームレートが増加したことを表示しないのはなぜ?
- 現在 MangoHud はスムーズモーションが生成する追加フレームを考慮しないため、報告されるフレームレートが実際と異なります。
- モニター内蔵の FPS カウンターを使うと正確なフレームレートを確認できます。
- 現在 MangoHud はスムーズモーションが生成する追加フレームを考慮しないため、報告されるフレームレートが実際と異なります。
- DLSS フレーム生成と比べて画質は?
- 画質は劣り、特に高速な動きのシーンでノイズが発生することがあります。
- MangoHud などの外部の FPS 制限ツールと互換性はある?
- ありません。ゲーム内の FPS 上限設定は問題なく動作します。
- スムーズモーションと DLSS フレーム生成を組み合わせることはできる?
- できません。一度に有効にできるフレーム生成機能は1つだけです。
省電力のチューニング
Section titled “省電力のチューニング”RCU Lazy を有効にする
Section titled “RCU Lazy を有効にする”RCU Lazy はアイドル時または低負荷時の消費電力を削減でき、ノートパソコンやハンドヘルドデバイスで便利です。5~10% 程度の電力を削減できます。ただし場合によって若干のパフォーマンス低下を引き起こすことがあります。 linux-cachyos-deckify カーネルはこうしたデバイスにとって省電力が重要なため、この設定がデフォルトで有効になっています。
RCU Lazy を有効にするには、カーネルのコマンドラインパラメーターに以下のパラメーターを追加してください。
rcutree.enable_rcu_lazy=1NVIDIA のトラブルシューティング
Section titled “NVIDIA のトラブルシューティング”SDDM の Wayland バックエンドを無効にする
Section titled “SDDM の Wayland バックエンドを無効にする”これ自体は大きな進化ですが、nvidia-settings を使ったオーバークロック設定が壊れたり、Wayland でうまく動作しない古い GPU との互換性が失われるなど、不便が生じることがあります。
この変更を元に戻すには cachyos-kde-settings パッケージを削除してください。
sudo pacman -R cachyos-kde-settingsNVIDIA GSP ファームウェア
Section titled “NVIDIA GSP ファームウェア”NVIDIA GSP ファームウェアは「場合によっては」パフォーマンスの低下を引き起こすことがあります。555.58.02 の NVIDIA ドライバでこの問題の大部分は解決されましたが、特定のシステムではまだ問題が残っています。
KDE でのフリーズや特定の状況でのパフォーマンス低下が発生している場合は、以下の設定ファイルで GSP ファームウェアを無効にできます。
/etc/modprobe.d/nvidia-gsp.conf
options nvidia NVreg_EnableGpuFirmware=0ファイルを作成したら以下のコマンドを実行してください。
sudo mkinitcpio -P新しい NVIDIA ドライバのインストール後は GSP ファームウェアをテストすることをおすすめします。多くの場合、有益な機能が追加されています。また NVIDIA は主に GSP ファームウェアを使って QA テストを実施するようになっています。
オーディオとソフトウェアの改善
Section titled “オーディオとソフトウェアの改善”ノートパソコンのスピーカー音質を向上させる
Section titled “ノートパソコンのスピーカー音質を向上させる”ノートパソコンのスピーカーはサイズが小さいため、こもったような音になることがあります。EasyEffects を使うと、さまざまなオーディオエフェクトとカスタム設定によってノートパソコンの内蔵スピーカーの音質を大幅に改善できます。
EasyEffects と必要な依存関係をインストールしてください。
# EasyEffects をインストールsudo pacman -S easyeffects# さらに多くのエフェクトのための追加プラグインをインストールsudo pacman -S lsp-plugins-lv2sudo pacman -S zam-pluginssudo pacman -S calfsudo pacman -S mda.lv2以下の手順にしたがって EasyEffects を設定してください。
- アプリケーションメニューから EasyEffects を起動するか、ターミナルで
easyeffectsと入力してください。 - 出力 タブに移動してスピーカーのオーディオに適用するエフェクトを管理してください。
- エフェクト タブに切り替えてオーディオエフェクトの追加、変更、調整を行ってください。

※ EasyEffects は日本語に対応しています。
コミュニティプリセットを使う
Section titled “コミュニティプリセットを使う”かんたんに音質アップをするなら、色々な環境に合わせた コミュニティプリセット から始めてみましょう。
- EasyEffects コミュニティプリセットリポジトリからプリセットをダウンロードしてください。
- EasyEffects で プリセット ボタンをクリックして「ローカルストレージからプリセットをインポート」をえらんでください。
- ダウンロードしたプリセットファイルを指定してください。
- インポートされたプリセットが一覧に表示されます。読み込む をクリックして音声出力に適用してください。

カスタムプロファイルを作成する
Section titled “カスタムプロファイルを作成する”より自分に合った音質にするには、カスタムプロファイルを作成しましょう。
- プリセットメニューの 「+」 ボタンをクリックして新しいプリセットを作成してください。(名前の例: 「ノートパソコンのスピーカー」)
- 読み込むをクリックして新しいプリセットを有効にしてください。
- 出力 > エフェクト タブでエフェクトを追加・設定し、イコライザー、ベースエンハンサー、ステレオツールなどのエフェクトをためしてみてください。
コンボルバーエフェクトを使う (Dolby Atmos 対応ノートパソコン)
Section titled “コンボルバーエフェクトを使う (Dolby Atmos 対応ノートパソコン)”コンボルバーエフェクトでは、高品質なオーディオ環境をシミュレートするインパルスレスポンスを適用することで音質を劇的に改善できます。ただし正確なセットアップが必要です。
- エフェクト に コンボルバー を追加してください。
- ノートパソコンのモデルに対応したインパルスレスポンスファイル (
.wav形式) があれば読み込んでください。以下から検索できます。 - クリッピングを防ぐ: コンボルバーエフェクトは音量を大きくすることがあります。エフェクトでコンボルバーの後に リミッター を追加してピークを調節し、歪まないようにしてください。

最適な結果のために
Section titled “最適な結果のために”- 色々ためしてみよう 特定のノートパソコンモデルと個人の音の好みに最も合うプリセットを見つけるには、さまざまなプリセットをためしてみてください。
- 調整は少しずつ 音声が歪んだり不自然になったりすることを防ぐために、各エフェクトは少しずつ調整しましょう。
- 切り替えて比較しよう EasyEffects のオン/オフをこまめに切り替えてデフォルトの音声と比較してみてください。
- 自分のデバイス専用のプリセットやコンボルバーインパルスがないか探そう たとえば Framework Laptop 13 や ThinkPad T14 などの、人気のノートパソコンには専用のプリセットやインパルスが用意されていることがあります。これを活用して最適な音質にしましょう。
- 自動起動を設定しよう アプリの設定から EasyEffects が起動後に自動的に実行されるよう設定して、いつでも自分のカスタマイズが適用されるようにしましょう。
- 複数デバイスへのプリセット自動読み込み PipeWire > プリセット自動読み込み タブを使って異なる出力デバイス (スピーカーとヘッドフォンなど) に特定のプリセットを連携させてスムーズに切り替えられるよう設定することができます。

EasyEffects の代替
Section titled “EasyEffects の代替”代替として JDSP4Linux も使用できます。PipeWire と PulseAudio クライアント向けのオーディオエフェクトプロセッサです。
OBS Studio
Section titled “OBS Studio”通常の obs-studio パッケージよりもおすすめのカスタムの obs-studio-browser パッケージをリポジトリで提供しています。CUDA エラーや仮想カメラの問題などよくある問題を修正するパッチが適用されています。
sudo pacman -S obs-studio-browser# 前に OBS をインストールしていた場合は、pacman が置き換えるかどうか確認します# 置き換える場合は "Y" を入力してくださいスワップの設定
Section titled “スワップの設定”ZRam から Zswap への切り替え
Section titled “ZRam から Zswap への切り替え”デフォルトで CachyOS はスワップ管理に ZRam を使用しています。代わりに Zswap を使用したい場合は、以下の手順にしたがって切り替えることができます。
- カーネルパラメーターを追加して ZRam を無効にしてください。ブートローダーの設定を編集して以下の行を追加してください。
systemd.zram=0
- 以下のカーネルパラメーターを追加して Zswap を有効にしてください。
zswap.enabled=1 zswap.shrinker_enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=30
- Zswap を無効にする CachyOS の udev ルールを無効化するための空のオーバーライドファイルを作成してください。
Terminal window sudo touch /etc/udev/rules.d/30-zram.rules - Zswap 用のスワップファイルを作成してください。
Btrfs を使用している場合
- スワップファイル用の Btrfs サブボリュームを作成してください。
Terminal window sudo btrfs subvolume create /swap - 好きなサイズ (例: 8GB) のスワップファイルを作成してください。
--sizeパラメーターで変更できます。Terminal window sudo btrfs filesystem mkswapfile --size 4g --uuid clear /swap/swapfile - スワップファイルを有効にしてください。
Terminal window sudo swapon /swap/swapfile - 再起動後も適用するため、スワップファイルを
/etc/fstabに追加してください。Terminal window echo "/swap/swapfile none swap defaults 0 0" | sudo tee -a /etc/fstab
Btrfs を使用していない場合
- 好きなサイズ (例: 8GB) のスワップファイルを作成してください。
count=パラメーターで変更できます。Terminal window sudo dd if=/dev/zero of=/swapfile bs=1G count=8 - スワップファイルの正しいパーミッションを設定してください。
Terminal window sudo chmod 0600 /swapfile - スワップファイルをフォーマットしてください。
Terminal window sudo mkswap /swapfile - 再起動後も適用するため、スワップファイルを
/etc/fstabに追加してください。Terminal window echo "/swapfile none swap defaults 0 0" | sudo tee -a /etc/fstab - スワップファイルを有効にしてください。
sudo swapon /swapfile
- スワップファイル用の Btrfs サブボリュームを作成してください。
mkinitcpio.conf設定ファイルに lz4 圧縮モジュールを追加してください。- テキストエディターでファイルを開いてください。
Terminal window sudo nano /etc/mkinitcpio.conf MODULES配列を見つけてlz4を追加してください。以下のようになります。MODULES=(... lz4)Ctrl + OとEnterで編集内容を確認してファイルを保存し、Ctrl + Xでエディターを終了してください。
- テキストエディターでファイルを開いてください。
- 変更を適用するために initramfs を再ビルドしてください。コマンドはブートローダーによって異なります。
systemd-boot
Terminal window sudo sdboot-manage genGRUB
Terminal window sudo grub-mkconfig -o /boot/grub/grub.cfgLimine
Terminal window sudo limine-mkinitcpio - すべての変更を適用するためにシステムを再起動してください。