Mit dieser Anwendung können Sie Ihre AMD- oder Nvidia-GPU auf einem Linux-System steuern.
GPU-Info | Übertakten | Lüftersteuerung |
---|---|---|
Historische Daten | ||
Aktuelle Funktionen:
Sowohl die AMD- als auch die Nvidia-Funktionalität funktionieren auf X11-, Wayland- oder sogar Headless-Sitzungen.
Arch Linux: Installieren Sie das AUR-Paket (oder die -git-Version)
Debian/Ubuntu/Derivatives: Laden Sie eine .deb-Datei von Releases herunter.
Es ist nur unter Debian 12+ und Ubuntu 22.04+ verfügbar, da ältere Versionen kein GTK4 enthalten.
Fedora: In Releases ist ein RPM verfügbar.
Gentoo: Verfügbar in GURU.
OpenSUSE: In Releases ist ein RPM verfügbar.
Es wird nur Tumbleweed unterstützt, da Leap nicht über die erforderlichen Abhängigkeiten in den Repos verfügt.
NixOS: Es gibt ein Paket in nixpkgs
Andernfalls erstellen Sie aus dem Quellcode.
Warum gibt es kein AppImage/Flatpak/anderes universelles Format? Siehe hier.
Hinweis: Für die Nvidia-Unterstützung ist der proprietäre Nvidia-Treiber mit installierten CUDA-Bibliotheken erforderlich.
Um die neuesten Fixes oder Funktionen zu erhalten, die noch nicht in einer stabilen Version veröffentlicht wurden, gibt es Pakete, die aus dem neuesten Commit erstellt wurden und die Sie über die Testversion oder mit dem lact-git
AUR-Paket auf Arch-basierten Distributionen installieren können.
Hinweis: Das Datum der Testveröffentlichung ist nicht das Datum, an dem die Pakete erstellt wurden. Das tatsächliche Datum wird neben den angehängten Paketdateien angegeben.
Aktivieren und starten Sie den Dienst (andernfalls können Sie keine Einstellungen ändern):
sudo systemctl enable --now lactd
Sie können jetzt die GUI verwenden, um Einstellungen zu ändern und Informationen anzuzeigen.
LACT implementiert Funktionen größtenteils nicht auf Generationenbasis, sondern stellt vielmehr die Funktionalität bereit, die im Treiber für das aktuelle System verfügbar ist. Die folgende Tabelle zeigt jedoch, welche Funktionalität für eine bestimmte Generation zu erwarten ist.
Generation | Uhrenkonfiguration | Leistungsbegrenzung | Machtzustände | Lüftersteuerung | Notizen |
---|---|---|---|---|---|
Südliche Inseln (HD 7000) | Nicht unterstützt | Unbekannt | Unbekannt | Ungetestet | Erfordert die Kerneloption amdgpu.si_support=1 |
Meeresinseln (R7/R9 200) | Nicht unterstützt | Unbekannt | Ungetestet | Ungetestet | Erfordert die Kerneloption amdgpu.cik_support=1 |
Vulkaninseln (R7/R9 300) | Nicht unterstützt | Unbekannt | Ungetestet | Ungetestet | |
Arktische Inseln/Polaris (RX 400-500) | Unterstützt | Unterstützt | Unterstützt | Unterstützt | |
Vega | Unterstützt | Unterstützt | Unterstützt | Unterstützt | |
RDNA1 (RX 5000) | Unterstützt | Unterstützt | Unterstützt | Unterstützt | |
RDNA2 (RX 6000) | Unterstützt | Unterstützt | Unterstützt | Unterstützt | |
RDNA3 (RX 7000) | Unterstützt | Beschränkt | Unterstützt | Beschränkt | Es gibt einen nicht konfigurierbaren Temperaturschwellenwert, unterhalb dessen der Lüfter auch bei einer benutzerdefinierten Kurve nicht eingeschaltet wird. Auch die Leistungsobergrenze ist manchmal niedriger als sie sein sollte. Erfordert Kernel 6.7+. Weitere Informationen finden Sie unter #255. |
GPUs, die hier nicht aufgeführt sind, funktionieren weiterhin, verfügen jedoch möglicherweise nicht über die volle Funktionalität. Überwachungs-/Systeminformationen werden überall verfügbar sein. Bei integrierten GPUs ist möglicherweise auch nur eine Grundkonfiguration verfügbar.
Alles von Maxwell oder neuer sollte funktionieren, die Generationsunterstützung wurde jedoch noch nicht gründlich getestet.
Eine Konfigurationsdatei ist in /etc/lact/config.yaml
verfügbar. Auf die meisten Einstellungen kann über die GUI zugegriffen werden, einige davon können jedoch nützlich sein, wenn sie manuell bearbeitet werden (z. B. admin_groups
um anzugeben, wer Zugriff auf den Daemon hat).
Einrichtung der Socket-Berechtigungen:
Standardmäßig verwendet LACT entweder Ether the wheel
oder sudo
Group (je nachdem, was verfügbar ist) für den Besitz des Unix-Sockets, mit dem die GUI eine Verbindung herstellen muss.
Bei den meisten Konfigurationen (z. B. dem Standard-Setup auf Arch-basierten, den meisten Debian-basierten oder Fedora-Systemen) müssen Sie nichts tun.
Einige Systeme können jedoch eine andere Benutzerkonfiguration haben. Insbesondere wurde berichtet, dass dies ein Problem unter OpenSUSE ist.
Um Socket-Berechtigungen in solchen Konfigurationen zu korrigieren, bearbeiten Sie /etc/lact/config.yaml
und fügen Sie Ihren Benutzernamen oder Ihre Gruppe als ersten Eintrag in admin_groups
unter daemon
hinzu und starten Sie den Dienst neu ( sudo systemctl restart lactd
).
Die Übertaktungsfunktion ist im Treiber standardmäßig deaktiviert. Es gibt zwei Möglichkeiten, es zu aktivieren:
Durch Verwendung der Option „Übertaktung aktivieren“ in der LACT-GUI. Dadurch wird eine Datei in /etc/modprobe.d
erstellt, die die erforderlichen Treiberoptionen aktiviert. Dies ist der einfachste Weg und sollte für die meisten Menschen funktionieren.
Hinweis: Dadurch wird versucht, die initramfs automatisch neu zu generieren, um die neuen Einstellungen einzuschließen. Es deckt nicht alle möglichen Distributionskombinationen ab. Wenn Sie das Übertakten in LACT aktiviert haben, es aber nach einem Neustart immer noch nicht funktioniert, müssen Sie möglicherweise die Konfiguration Ihrer Distribution überprüfen, um sicherzustellen, dass initramfs aktualisiert wurde. Das Aktualisieren der Kernel-Version ist eine garantierte Möglichkeit, ein initramfs-Update auszulösen.
Angeben eines Boot-Parameters. Sie können den Kernel-Parameter amdgpu.ppfeaturemask=0xffffffff
manuell in Ihrem Bootloader angeben, um die Übertaktung zu aktivieren. Weitere Informationen finden Sie im ArchWiki.
Da einige der GPU-Einstellungen beim Anhalten des Systems möglicherweise zurückgesetzt werden, lädt LACT sie bei der Systemwiederaufnahme neu. Dies funktioniert möglicherweise nicht auf Distributionen, die systemd nicht verwenden, da es auf der DBus-Schnittstelle org.freedesktop.login2
basiert.
Abhängigkeiten:
Befehl zum Installieren aller Abhängigkeiten:
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
Schritte:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
Es ist möglich zu ändern, mit welchen Funktionen LACT erstellt wird. Ersetzen Sie dazu den Befehl make
durch die folgende Variante:
Headless-Build ohne GUI:
make build-release-headless
Erstellen Sie eine GUI mit Libadwaita-Unterstützung:
make build-release-libadwaita
Es gibt eine API, die über einen Unix- oder TCP-Socket verfügbar ist. Weitere Informationen finden Sie hier.
Es ist möglich, den LACT-Daemon auf einem Computer laufen zu lassen und ihn dann von einem anderen aus remote zu verwalten.
Dies ist standardmäßig deaktiviert, da die TCP-Verbindung über keinen Authentifizierungs- oder Verschlüsselungsmechanismus verfügt! Stellen Sie sicher, dass Sie es nur in vertrauenswürdigen Netzwerken verwenden und/oder richten Sie entsprechende Firewall-Regeln ein.
Um es zu aktivieren, bearbeiten Sie /etc/lact/config.yaml
und fügen Sie tcp_listen_address
mit Ihrer gewünschten Adresse und im daemon
-Abschnitt hinzu.
Beispiel:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
Danach starten Sie den Dienst neu ( sudo systemctl restart lactd
).
Um über die GUI eine Verbindung zu einer Remote-Instanz herzustellen, führen Sie diese mit lact gui --tcp-address 192.168.1.10:12853
aus.
Es ist auch eine CLI verfügbar.
System-GPUs auflisten:
lact cli list-gpus
Beispielausgabe:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
GPU-Informationen abrufen:
lact cli info
Beispielausgabe:
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") }
Die Funktionalität der CLI ist recht eingeschränkt. Wenn Sie LACT in eine Anwendung/ein Skript integrieren möchten, sollten Sie stattdessen die API verwenden.
Wenn Sie Probleme melden, geben Sie bitte Ihre Systeminformationen und Ihr GPU-Modell an.
Wenn Sie Probleme mit der Änderung der GPU-Konfiguration haben, wird dringend empfohlen, einen Debug-Snapshot in den Fehlerbericht aufzunehmen. Sie können eine erstellen, indem Sie die Option im Dropdown-Menü verwenden:
Der Snapshot ist ein Archiv, das das SysFS enthält, das LACT für die Interaktion mit der GPU verwendet.
Wenn es zu einem Absturz kommt, führen Sie lact gui
über die Befehlszeile aus, um GUI-Protokolle abzurufen, überprüfen Sie die Daemon-Protokolle in journalctl -u lactd
auf Fehler und suchen Sie in dmesg
nach Kernel-Protokollen, die möglicherweise Informationen zu Treiber- und Systemproblemen enthalten.
Hier ist eine Liste weiterer nützlicher Tools für AMD-GPUs unter Linux: