このアプリケーションを使用すると、Linux システム上で AMD または Nvidia GPU を制御できます。
GPU情報 | オーバークロック | ファン制御 |
---|---|---|
過去のデータ | ||
現在の機能:
AMD と Nvidia の両方の機能は、X11、Wayland、さらにはヘッドレス セッションでも動作します。
Arch Linux: AUR パッケージ (または -git バージョン) をインストールする
Debian/Ubuntu/Derivatives: リリースから .deb をダウンロードします。
古いバージョンには gtk4 が同梱されていないため、Debian 12 以降および Ubuntu 22.04 以降でのみ利用できます。
Fedora: RPM はリリースで利用可能です。
Gentoo: GURU で利用可能。
OpenSUSE: RPM はリリースで利用可能です。
Leap にはリポジトリに必要な依存関係がないため、tumbleweed のみがサポートされています。
NixOS: nixpkgs で利用可能なパッケージがあります
それ以外の場合は、ソースからビルドします。
AppImage/Flatpak/その他のユニバーサル形式がないのはなぜですか?ここを参照してください。
注: Nvidia のサポートには、CUDA ライブラリがインストールされた Nvidia 独自のドライバーが必要です。
安定バージョンでまだリリースされていない最新の修正や機能を入手するには、テスト リリースからインストールするか、Arch ベースのディストリビューションでlact-git
AUR パッケージを使用してインストールできる、最新のコミットから構築されたパッケージがあります。
注: テスト リリースの日付はパッケージがビルドされた日付ではありません。実際の日付は、添付されたパッケージ ファイルの横に指定されています。
サービスを有効にして開始します (そうしないと、設定を変更できなくなります)。
sudo systemctl enable --now lactd
GUI を使用して設定を変更したり、情報を表示したりできるようになりました。
LACT はほとんどの場合、世代ごとに機能を実装するのではなく、現在のシステムのドライバーで利用可能な機能を公開します。ただし、次の表は、特定の世代でどのような機能が期待できるかを示しています。
世代 | クロック構成 | 電力制限 | 電源状態 | ファン制御 | 注意事項 |
---|---|---|---|---|---|
南の島々 (HD 7000) | サポートされていません | 未知 | 未知 | 未テスト | amdgpu.si_support=1 カーネル オプションが必要です |
海の島 (R7/R9 200) | サポートされていません | 未知 | 未テスト | 未テスト | amdgpu.cik_support=1 カーネル オプションが必要です |
火山諸島 (R7/R9 300) | サポートされていません | 未知 | 未テスト | 未テスト | |
北極諸島/北極星 (RX 400-500) | サポートされています | サポートされています | サポートされています | サポートされています | |
ベガ | サポートされています | サポートされています | サポートされています | サポートされています | |
RDNA1 (RX5000) | サポートされています | サポートされています | サポートされています | サポートされています | |
RDNA2(RX6000) | サポートされています | サポートされています | サポートされています | サポートされています | |
RDNA3(RX7000) | サポートされています | 限定 | サポートされています | 限定 | カスタム曲線であっても、それを下回るとファンがオンにならない、設定できない温度しきい値があります。電力上限が本来よりも低い場合もあります。カーネル 6.7 以降が必要です。詳細については、#255 を参照してください。 |
ここにリストされていない GPU も動作しますが、完全な機能が利用できない可能性があります。監視/システム情報はどこからでも入手できます。統合型 GPU では、基本構成しか利用できない場合もあります。
Maxwell 以降のものはすべて動作するはずですが、世代サポートはまだ完全にテストされていません。
/etc/lact/config.yaml
に構成ファイルがあります。ほとんどの設定は GUI からアクセスできますが、一部の設定は手動で編集すると便利です (デーモンにアクセスできるユーザーを指定するためのadmin_groups
など)
ソケット権限の設定:
デフォルトでは、LACT は、GUI が接続する必要がある UNIX ソケットの所有権として、 wheel
またはsudo
グループ (利用可能な方) を使用します。
ほとんどの構成 (Arch ベース、ほとんどの Debian ベース、または Fedora システムのデフォルト設定など) では、何もする必要はありません。
ただし、一部のシステムではユーザー構成が異なる場合があります。特に、これは OpenSUSE の問題であることが報告されています。
このような構成でソケット権限を修正するには、 /etc/lact/config.yaml
を編集し、ユーザー名またはグループをdaemon
の下のadmin_groups
の最初のエントリとして追加し、サービスを再起動します ( sudo systemctl restart lactd
)。
オーバークロック機能は、ドライバーではデフォルトで無効になっています。これを有効にするには 2 つの方法があります。
LACT GUI の「オーバークロックを有効にする」オプションを使用する。これにより、必要なドライバー オプションを有効にするファイルが/etc/modprobe.d
に作成されます。これは最も簡単な方法であり、ほとんどの人にとってうまくいくはずです。
注:これにより、新しい設定を含めるために initramfs が自動的に再生成されます。考えられるすべてのディストリビューションの組み合わせをカバーしているわけではありません。 LACT でオーバークロックを有効にしても、再起動しても機能しない場合は、ディストリビューションの設定をチェックして、initramfs が更新されていることを確認する必要がある場合があります。カーネル バージョンの更新は、initramfs 更新をトリガーする確実な方法です。
ブートパラメータの指定。ブートローダーでamdgpu.ppfeaturemask=0xffffffff
カーネル パラメーターを手動で指定して、オーバークロックを有効にすることができます。詳細については、ArchWiki を参照してください。
システムのサスペンド時に一部の GPU 設定がリセットされる可能性があるため、LACT はシステムの再開時に設定を再ロードします。これは、 org.freedesktop.login2
DBus インターフェイスに依存しているため、systemd を使用しないディストリビューションでは機能しない可能性があります。
依存関係:
すべての依存関係をインストールするコマンド:
sudo dnf install rust cargo make git gtk4-devel libdrm-devel blueprint-compiler
sudo pacman -S --needed base-devel git make rust gtk4 hwdata blueprint-compiler
手順:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
LACT が構築される機能を変更することが可能です。これを行うには、 make
コマンドを次のバリエーションに置き換えます。
GUI を使用しないヘッドレス ビルド:
make build-release-headless
libadwaita サポートを使用して GUI を構築します。
make build-release-libadwaita
UNIX または TCP ソケット経由で利用できる API があります。詳細については、こちらを参照してください。
LACT デーモンを 1 台のマシンで実行し、別のマシンからリモートで管理することが可能です。
TCP 接続には認証または暗号化メカニズムがないため、これはデフォルトでは無効になっています。信頼できるネットワークでのみ使用するか、適切なファイアウォール ルールを設定してください。
これを有効にするには、 /etc/lact/config.yaml
を編集し、目的のアドレスを含むtcp_listen_address
daemon
セクションに追加します。
例:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
この後、サービスを再起動します ( sudo systemctl restart lactd
)。
GUI を使用してリモート インスタンスに接続するには、 lact gui --tcp-address 192.168.1.10:12853
を使用して実行します。
cli も利用可能です。
システム GPU をリストします。
lact cli list-gpus
出力例:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
GPU 情報の取得:
lact cli info
出力例:
lact cli info
GPU Vendor: Advanced Micro Devices, Inc. [AMD/ATI]
GPU Model: Vega 10 XL/XT [Radeon RX Vega 56/64]
Driver in use: amdgpu
VBIOS version: 115-D050PIL-100
Link: LinkInfo { current_width: Some("16"), current_speed: Some("8.0 GT/s PCIe"), max_width: Some("16"), max_speed: Some("8.0 GT/s PCIe") }
CLI の機能はかなり制限されています。 LACT をアプリケーション/スクリプトと統合する場合は、代わりに API を使用する必要があります。
問題を報告する場合は、システム情報と GPU モデルを含めてください。
GPU の構成の変更で問題が発生した場合は、バグ レポートにデバッグ スナップショットを含めることを強くお勧めします。ドロップダウン メニューのオプションを使用して生成できます。
スナップショットは、LACT が GPU と対話するために使用する SysFS を含むアーカイブです。
クラッシュが発生した場合は、コマンド ラインからlact gui
実行して GUI ログを取得し、 journalctl -u lactd
のデーモン ログでエラーを確認し、ドライバーおよびシステムの問題に関する情報が含まれている可能性があるカーネル ログについてはdmesg
参照してください。
Linux 上の AMD GPU に役立つその他のツールのリストは次のとおりです。