CoreCtrlとは
ありがたいことに AMD は Linux コミュニティにオープンソースドライバを提供しており、 Linuxカーネルに統合されています。このため AMD製GPU がシステムに搭載されていると別途ドライバをインストールすることなく即座に認識し、使用可能です。
しかし、細かな設定を行うツールがAMDから提供されていません。これが Linux でゲーミングする上でちょっとした障害になっていましたが「CoreCtrl」がその悩みを解決してくれます。
CoreCtrl
GNU/Linux には素晴らしいアプリケーションがたくさんあるが特定のハードウェアしかサポートしていないことが多く、結果的にたくさんの小さいプログラムが散り散りにインストールされたような状態になってしまいます。これはGNUの理念と合致しているところがありますが、多くのLinux入門者にとって苦痛な状況ではあります。
「CoreCtrl」はハードウェアの統合的な管理を行えることを目指して開発が進められているようです。
CoreCtrl は AMD Wattman に似たソフトウェアです。簡単にハードウェアをコントロールしたり、プロファイルを作ることですばやく設定を変更できる。プログラムやゲーム、Windows アプリでさえ自動的に設定してくれる。
ご覧の通りパネルは非常に見やすく設定変更も簡単です。クロック周波数、メモリ周波数、ファンの回転速度まで調整ができます。
現在は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 にはもう少し頑張ってほしいという気持ちがあります。
おわり
コメント