現在、CoreCtrl はメンテナンスモードに移行しています。
今後新しい機能の追加や新しいハードウェアのサポートは行われず、バグ修正やメンテナンスのみ行われます。
代替ツールとして、LACT や TuxClocker などが挙げられています。
CoreCtrlとは
CoreCtrlは、GNU / Linux環境において、アプリケーションごとにCPUとGPUの挙動を簡単に制御・最適化するためのフリーかつオープンソースのユーティリティです。AMD Wattman に似たソフトウェアです。
主な特徴
プロファイルによる自動制御
CoreCtrlの最大の特徴は、アプリケーションごとのプロファイル管理です。特定のプログラム(ゲーム、3Dモデリングソフト、ビデオ編集ソフト、コンパイラなど)が起動した際に、システムの構成を自動的に切り替えることができます。これにより、ユーザーはプログラムの実行前後で手動で設定を変更する手間から解放されます
対応ハードウェアと機能
AMD製GPU: RX 9000シリーズまでのAMD GPUをフルコントロール可能です。高パフォーマンスモードへの切り替えだけでなく、セットアップを行うことでオーバークロックやアンダーボルトなどの高度な調整も含まれます。また、CPUの パフォーマンススケーリングやガバナーの設定など、基本的な制御が可能です
※Nvidia製ハードウェアの制御には対応していません。

ご覧の通りパネルは非常に見やすく設定変更も簡単です。クロック周波数、メモリ周波数、ファンの回転速度まで調整ができます。

現在はCPUの周波数の監視グラフとCPU周波数ガバナーの設定変更ができます。

GPUのファームウェアバージョンやデバイスのIDまで見ることが出来きます。

「Copy all」を押すとクリップボードにGPU、CPUの情報が全てコピーされるので便利です。
将来的には様々なデバイスに対応したいと製作者はコメントしているので、NVIDIA製のグラフィックボードもサポートするかもしれないとのこと。
導入
インストールはUbuntuではPPAを追加する必要がありますが ArchやFedora、openSUSEではものすごく簡単です。
下記のリンクを参考にしよう。

Ubuntu
リポジトリを追加し
$ sudo add-apt-repository ppa:ernstp/mesarc
$ sudo apt-get update
インストールするだけです。
$ sudo apt install corectrl
Arch Linux
Arch は最近公式リポジトリに含まれました。
$ sudo pacman -S corectrl
設定と注意点
本家の設定方法は下記のURLに記載されています。AMD GPUを使っていてCoreCtrlを常用したい人はすべての設定を行うのがよいでしょう。
ここからは本家のコピペみたいな内容なので英文が読める方は下記のサイトをご覧ください。その方が間違いがありません。

自動起動
CoreCtrlが起動していない状態だと設定は適用されないので、PCが起動時にCoreCtrlを起動する設定にしておくと便利です。
ターミナルで以下の設定ファイルをautostartフォルダにコピーしよう。
$ cp /usr/share/applications/org.corectrl.corectrl.desktop ~/.config/autostart/org.corectrl.corectrl.desktop
パスワードを毎回確認されないようにする
CoreCtrl からハードウェアを操作するには root権限 が必要です。このため起動するたびに管理者パスワードを要求されます。毎回パスワードを入力したくない人は以下の設定しましょう。Polkit のバージョンによって設定ファイルの記述方法が異なるのでそこだけ注意が必要。
Polkitの確認方法
$ pkaction --version
Polkitがバージョン0.106未満の場合
まずは設定ファイルの作成
# touch /etc/polkit-1/localauthority/50-local.d/90-corectrl.pkla
以下のコードをコピーアンドペーストする。
[User permissions]
Identity=unix-group:hogehoge
Action=org.corectrl.*
ResultActive=yes
hogehogeの部分は自分のユーザグループ名に設定しましょう。
Polikitがバージョン0.106以上の場合
設定ファイル作成、場所が以前と違うので注意
# touch /etc/polkit-1/rules.d/90-corectrl.rules
以下のコードをコピペ
polkit.addRule(function(action, subject) {
if ((action.id == "org.corectrl.helper.init" ||
action.id == "org.corectrl.helperkiller.init") &&
subject.local == true &&
subject.active == true &&
subject.isInGroup("hogehoge")) {
return polkit.Result.YES;
}
});
hogehogeの部分は自分のユーザグループ名に設定しましょう。
AMD GPUをチューニングできるようにする
AMD GPU は CoreCtrl インストールしただけではチューニングできません。オーバークロックやアンダークロック、定電圧化などに挑戦した方は以下のパラメータをブートローダに読ませましょう。
amdgpu.ppfeaturemask=0xffffffff
GRUBの場合
「/etc/default/grub」内の「GRUB_CMDLINE_LINUX_DEFAULT」という項目に先程のパラメータを挿入します。
GRUB_CMDLINE_LINUX_DEFAULT="〜略〜 amdgpu.ppfeaturemask=0xffffffff"
GRUBのコンフィグファイルを再生成する。
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
システムを再起動すると設定が反映される。
Systemd-boot の場合
$ sudo kernelstub -a "amdgpu.ppfeaturemask=0xffffffff"
最後に
NVIDIA は低機能ながら Linux向けに GUIツールを提供していますが、AMDは割と投げっぱなしです。一昔前は AMDはオープンソースコミュニティに優しいメーカーと思われていましたが昨今は NVIDIA が一部ドライバをオープンソース化するなどの動きがあります。企業規模が大きく違うためそこまで期待するのも悪い気もしますが AMD にはもう少し頑張ってほしいという気持ちがあります。
おわり




コメント