みくにまるのブログ

意識低い系ブロガー、みくにまるが送るブログ。

Arch Linuxで入手できる様々な最適化カーネル

Arch LinuxではAURを通してざまざまなカスタムカーネルを入手可能です。
結構色々と試してみたので概要とその感想

Zenカーネル

公式リポジトリで配布しているカーネル
公式配布なのでビルド不要なのが強み
ただしCPUの温度が常に高くなるという報告が一部あるので
普段遣いには向いていないかもしれない。

個人的にZenカーネルの利用時にAndroidエミュレータが起動しなかったりと
zenカーネル由来っぽい不具合に当たった経験があるので
常時利用は厳しいのではと思っている。

pfカーネル

カーネルに高速化のパッチを当てた上で
CPUの種類ごとに最適化ビルド済みのバイナリまで配布してくれている
非公式リポジトリを追加すれば、pacmanで簡単に更新を受け取ることが可能。
しかもArchのカーネルよりもカーネル更新への追従が早い。
(上流カーネルのリリースから数時間後には上がる)

パッチというよりも最適化ビルド済みというのがありがたく
個人的にはこのカーネルをメインで利用してる。

使用感としては高負荷時の作業がかなりスムーズになる。
裏でカーネルをビルドしながらVSCodeを動かしても動作の遅れは殆ど感じない。
CPU使用率が100%でもユーザーファンの音さえなければ気付かないレベル。
YouTube動画などを見てもCPU温度の上昇が緩やかでノートパソコンにも優しい。
いや、緩やかというか殆ど上がらない、最高。

ゲームに関してもzenカーネルとの違いがあまり分からなかった。

デメリットは必要以上のパッチは当てていないので
wineへの最適化などが行われていないことか
(これはメリットでもある)

右の方にある[download package]をクリックするとリポジトリを追加できる
x86_64_v3
AMD Zen 2

xanmodカーネル

phoronixで最高ランクのベンチマークを叩き出しているカスタムカーネル
https://www.phoronix.com/vr.php%3Fview%3D29870&sa=U&ved=2ahUKEwjdnZPFlpDxAhV1xosBHc30AzgQFjAAegQIAhAC&usg=AOvVaw2cK76uogXbt7X_5zYOUcuO
https://www.phoronix.com/scan.php?page=article&item=xanmod-liquorix-510&num=3

ビルド時にpkgbuildを編集してuse_pds=yを加えると
ゲームで凄まじいfpsを叩き出すという情報を発見したので試してみた
https://www.reddit.com/r/archlinux/comments/i5llis/linuxtkgpds_or_linuxzen/
FPSは特に上がらなかったが、たしかに体感では操作がキビキビしている気もする。
ただし自分でビルドした事による最適化の効果という可能性もある。

FPSが上がるというよりは
FPSが低下してるシーンでも操作までは遅延しなくなるという印象か。
起動時に凄まじい量のログを吐き出すが
PKGBUILDが丁寧に作られていないのではと心配になる。

ゲーム以外の用途では
裏で全コアでカーネルをビルドしながら
ブラウザを開いてYouTubeを見ても全くカクつかない。
これはすごい。

ただし低負荷時のCPU温度はpfカーネルの方が低いので
ラップトップ向きではなさそう。

xanmod-caculeカーネル

前述のxamodカーネルにCacule modパッチを加えたもの
最速の異名を持つ
https://www.reddit.com/r/pop_os/comments/kmnqno/xanmod_cacule_kernel_for_high_responsiveness/
使ってみたが、少し動画を見るだけでCPU温度が凄まじく上昇して実用性に乏しかった

やはり余計なオプションを加えず高速化パッチに絞っているpfカーネルが最強か?

kernel-cacul

元プロゲーマーで某Arch派生ディストリのコミュニティメンバーがチューニングしたカーネル
本人曰く、各パッチの開発者積極的にコミュニケーションを取って丁寧にマージしているのが売りらしい。

レビュワーによるとCPU温度が低いらしいので期待大。
ビルド時に聞かれるrtオプションにはnと回答してビルドしてみた。

実際に試して見るとやはり低負荷時にはpfカーネルの方がcpu温度が低い。
普段遣い向けではなさそう。

結論

サクサク感ではゲーム中、普段遣い共にuse_pds=yにしたxanmodカーネルが一番だった。
裏で全コアフル稼働してカーネルをビルドしていても操作がサクサクという異様さ。
ただし低負荷時のCPUの温度の高さや、毎回ビルドが必要な煩雑さを考えると
各CPU用に最適化済みのバイナリが配布されていて、低負荷時の温度も低いpfカーネルに軍配。
(まあCPUごとの最適化の影響はそこまでないという気もする
https://www.phoronix.com/scan.php?page=article&item=linux-50-march&num=6

また、pfカーネルは独自パッチを最小限にしてあるのも
普段使いで不具合が出にくそうでいい。

という訳でArch Linuxのカスタムカーネルはpfカーネルを利用することにした。