Linux:AMD純正ユーティリティに似たOSS「CoreCtrl」

Linux
この記事は約7分で読めます。
スポンサーリンク

昨今のLinuxのゲーミング環境はかなり整備されてきている。ProtonとSteam Playで遊べるWindowsネイティブのゲームは10,000タイトルを超え、いよいよLinuxで遊べないゲームの方が少なくなってきた。

(オンライン対戦でアンチチート対策を施されたゲームは未だ動くものが少なく、Easy Anti-CheatのLinux対応の話も久しく続報がないが)目覚ましい進歩だ。(アンチチートソフトウェアの問題は開発元になんとかしてもらうしか解決策はない)

しかしこれだけでいままでWindowsを使っていたゲーマーがLinuxに引っ越してくるか?と聞かれれば沈黙せざるえない。

スポンサーリンク

Linuxゲーミングに必要なもの

なぜかというとLinuxにはハードウェアベンダーからWindowsに提供されているような「GeForce Experience」や「AMD Adrenalin」「Radeon Wattman」のような手軽にオーバークロックしたり、静音化や低電圧化する便利な設定ソフトがないからだ。NVIDIAは低機能ながらLinux向けにGUIで設定を行えるソフトウェアを提供しているが、AMD Radeon向けにはそれすらない。Linuxカーネルにドライバが統合されているにも関わらずコントロールパネルすらない状態なのはAMDが実はそこまでOSSに積極的ではない姿勢が窺える。

Linuxユーザにとってもこういった公式ツールの配布は長年の悲願の一つだろう。

(以前NVIDIA GPUをグラフィカルUIから操作できるNvidiuxというオープンソースソフトウェアを紹介したが2年近くコミットが無く、実質的に開発終了状態だ。)

だが去年から開発が始まった「CoreCtrl」というオープンソースソフトウェアプロジェクトが軌道に乗ればこの状況が変わりそうだ。

CoreCtrl

GNU/Linux には素晴らしいアプリケーションがたくさんあるが特定のハードウェアしかサポートしていないことが多く、結果的にたくさんの小さいプログラムが散り散りにインストールされたような状態になってしまう。これは多くの人にとって苦痛な状況だ。

「CoreCtrl」はこの問題を解決するために統合的な管理を行えることを目指して開発が進められているそうだ。

CoreCtrl は Linux で動くAMD Wattman に似たソフトウェアだ。簡単にハードウェアをコントロールしたり、プロファイルを作ることですばやく設定を変更できる。起動した直後からプログラムやゲーム、Windows にアプリでさえ自動的に設定してくれる。

CoreCtrl 1.0 overview
GPU操作画面

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

CPU管理

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

GPU詳細情報

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

CoreCtrl CPU 詳細情報

「Copy all」を押すとクリップボードにGPU、CPUの情報が全てコピーされるので便利だ。

将来的には様々なデバイスに対応したいと製作者はコメントしているので、NVIDIA製のグラフィックボードもサポートするかもしれない。

現状のCoreCtrlはAMD GPUの振る舞いをグローバル設定で保存できるくらいしかできず、プロファイルを保存できないバグがあるようだ。

CoreCtrlの完成度が上がって様々なLinuxディストリビューションにインストールされるようになったらと妄想すると夢が広がる。非常に有用なOSSなのでこれからに期待したい。

導入

インストールはUbuntuではPPAを追加する必要があるが、ArchやFedora、openSUSEではものすごく簡単だ。

下記のリンクを参考にしよう。

Projects · CoreCtrl / CoreCtrl
Core control application

Ubuntu

リポジトリを追加する

$ sudo add-apt-repository ppa:ernstp/mesarc
$ sudo apt-get update
$ sudo apt install corectrl

Arch Linux

$ yay -Sy corectrl

設定と注意点

本家の設定方法は下記のURLに記載されている。AMD GPUを使っていてCoreCtrlを常用したい人はすべての設定を行うべきだ。

ここからは本家のコピペみたいな内容なので英文が読める人は下記のサイトを見よう。その方が間違いがない。

Setup · Wiki · CoreCtrl / CoreCtrl
Core control application

自動起動

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はインストールしただけではチューニングできない。オーバークロックに挑戦した方ならばお馴染みの設定だが、ブートローダに以下のパラメータを入力する必要がある。

amdgpu.ppfeaturemask=0xffffffff

GRUBの場合

「/etc/default/grub」内の「GRUB_CMDLINE_LINUX_DEFAULT」という項目に先程のパラメータを挿入する。

GRUB_CMDLINE_LINUX_DEFAULT="〜略〜 amdgpu.ppfeaturemask=0xffffffff"

GRUBのコンフィグファイルを再生成する。

grub-mkconfig -o /boot/grub/grub.cfg

システムを再起動すると設定が反映される。

コメント

タイトルとURLをコピーしました