Cette application vous permet de contrôler votre GPU AMD ou Nvidia sur un système Linux.
Informations sur le GPU | Overclocking | Contrôle du ventilateur |
---|---|---|
Données historiques | ||
Fonctionnalités actuelles :
Les fonctionnalités AMD et Nvidia fonctionnent sur les sessions X11, Wayland ou même sans tête.
Arch Linux : installez le package AUR (ou la version -git)
Debian/Ubuntu/Derivatives : téléchargez un .deb à partir des versions.
Il n'est disponible que sur Debian 12+ et Ubuntu 22.04+, car les anciennes versions ne sont pas livrées avec gtk4.
Fedora : un RPM est disponible dans les releases.
Gentoo : disponible dans GURU.
OpenSUSE : un RPM est disponible dans les versions.
Seul tumbleweed est pris en charge car leap n'a pas les dépendances requises dans les dépôts.
NixOS : Il existe un package disponible dans nixpkgs
Sinon, construisez à partir des sources.
Pourquoi n'y a-t-il pas d'AppImage/Flatpak/autre format universel ? Voir ici.
Remarque : la prise en charge de Nvidia nécessite le pilote propriétaire Nvidia avec les bibliothèques CUDA installées.
Pour obtenir les derniers correctifs ou fonctionnalités qui n'ont pas encore été publiés dans une version stable, il existe des packages construits à partir du dernier commit que vous pouvez installer à partir de la version de test ou en utilisant le package lact-git
AUR sur les distributions basées sur Arch.
Remarque : la date de la version test n'est pas la date à laquelle les packages ont été construits, la date réelle est spécifiée à côté des fichiers du package joints.
Activez et démarrez le service (sinon vous ne pourrez modifier aucun paramètre) :
sudo systemctl enable --now lactd
Vous pouvez désormais utiliser l'interface graphique pour modifier les paramètres et afficher les informations.
Pour l’essentiel, LACT n’implémente pas de fonctionnalités génération par génération, mais expose plutôt les fonctionnalités disponibles dans le pilote du système actuel. Cependant, le tableau suivant montre quelles fonctionnalités peuvent être attendues pour une génération donnée.
Génération | Configuration des horloges | Limite de puissance | États de puissance | Contrôle du ventilateur | Remarques |
---|---|---|---|---|---|
Îles du Sud (HD 7000) | Non pris en charge | Inconnu | Inconnu | Non testé | Nécessite l'option de noyau amdgpu.si_support=1 |
Îles maritimes (R7/R9 200) | Non pris en charge | Inconnu | Non testé | Non testé | Nécessite l'option de noyau amdgpu.cik_support=1 |
Îles Volcaniques (R7/R9 300) | Non pris en charge | Inconnu | Non testé | Non testé | |
Îles arctiques/Polaris (RX 400-500) | Soutenu | Soutenu | Soutenu | Soutenu | |
Véga | Soutenu | Soutenu | Soutenu | Soutenu | |
RDNA1 (RX 5000) | Soutenu | Soutenu | Soutenu | Soutenu | |
RDNA2 (RX6000) | Soutenu | Soutenu | Soutenu | Soutenu | |
RDNA3 (RX7000) | Soutenu | Limité | Soutenu | Limité | Il existe un seuil de température non configurable en dessous duquel le ventilateur ne s'allume pas, même avec une courbe personnalisée. Le plafond de puissance est également parfois inférieur à ce qu’il devrait être. Nécessite le noyau 6.7+. Voir #255 pour plus d'informations. |
Les GPU non répertoriés ici fonctionneront toujours, mais pourraient ne pas disposer de toutes les fonctionnalités disponibles. Les informations de surveillance/système seront disponibles partout. Les GPU intégrés peuvent également n'avoir qu'une configuration de base disponible.
Tout ce qui est Maxwell ou plus récent devrait fonctionner, mais la prise en charge de la génération n'a pas encore été testée de manière approfondie.
Un fichier de configuration est disponible dans /etc/lact/config.yaml
. La plupart des paramètres sont accessibles via l'interface graphique, mais certains d'entre eux peuvent être utiles pour être modifiés manuellement (comme admin_groups
pour spécifier qui a accès au démon)
Configuration des autorisations de socket :
Par défaut, LACT utilise soit la wheel
, soit le groupe sudo
(selon celui disponible) pour la propriété du socket Unix auquel l'interface graphique doit se connecter.
Sur la plupart des configurations (telles que la configuration par défaut sur les systèmes basés sur Arch, sur la plupart des systèmes basés sur Debian ou Fedora), vous n'avez rien à faire.
Cependant, certains systèmes peuvent avoir une configuration utilisateur différente. En particulier, cela a été signalé comme étant un problème sur OpenSUSE.
Pour corriger les autorisations de socket dans de telles configurations, modifiez /etc/lact/config.yaml
et ajoutez votre nom d'utilisateur ou votre groupe comme première entrée dans admin_groups
sous daemon
, puis redémarrez le service ( sudo systemctl restart lactd
).
La fonctionnalité d'overclocking est désactivée par défaut dans le pilote. Il existe deux manières de l'activer :
En utilisant l'option "activer l'overclocking" dans l'interface graphique LACT. Cela créera un fichier dans /etc/modprobe.d
qui activera les options de pilote requises. C’est la méthode la plus simple et elle devrait fonctionner pour la plupart des gens.
Remarque : cela tentera de régénérer automatiquement les initramfs pour inclure les nouveaux paramètres. Il ne couvre pas toutes les combinaisons de distribution possibles. Si vous avez activé l'overclocking dans LACT mais que cela ne fonctionne toujours pas après un redémarrage, vous devrez peut-être vérifier la configuration de votre distribution pour vous assurer que initramfs a été mis à jour. La mise à jour de la version du noyau est un moyen garanti de déclencher une mise à jour initramfs.
Spécification d'un paramètre de démarrage. Vous pouvez spécifier manuellement le paramètre de noyau amdgpu.ppfeaturemask=0xffffffff
dans votre chargeur de démarrage pour activer l'overclocking. Voir ArchWiki pour plus de détails.
Comme certains paramètres du GPU peuvent être réinitialisés lors de la suspension du système, LACT les rechargera à la reprise du système. Cela peut ne pas fonctionner sur les distributions qui n'utilisent pas systemd, car il repose sur l'interface DBus org.freedesktop.login2
.
Dépendances :
Commande pour installer toutes les dépendances :
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
Mesures:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
Il est possible de modifier les fonctionnalités avec lesquelles LACT est construit. Pour ce faire, remplacez la commande make
par la variante suivante :
Construction sans tête et sans interface graphique :
make build-release-headless
Créez une interface graphique avec le support de libadwaita :
make build-release-libadwaita
Il existe une API disponible sur un socket Unix ou TCP. Voir ici pour plus d'informations.
Il est possible d'exécuter le démon LACT sur une machine, puis de le gérer à distance depuis une autre.
Ceci est désactivé par défaut, car la connexion TCP ne dispose d'aucun mécanisme d'authentification ou de cryptage ! Assurez-vous de l'utiliser uniquement sur des réseaux de confiance et/ou de configurer des règles de pare-feu appropriées.
Pour l'activer, éditez /etc/lact/config.yaml
et ajoutez tcp_listen_address
avec l'adresse souhaitée et dans la section daemon
.
Exemple:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
Après cela, redémarrez le service ( sudo systemctl restart lactd
).
Pour vous connecter à une instance distante avec l'interface graphique, exécutez-la avec lact gui --tcp-address 192.168.1.10:12853
.
Il existe également une cli disponible.
Répertorier les GPU système :
lact cli list-gpus
Exemple de sortie :
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
Obtenir des informations sur le GPU :
lact cli info
Exemple de sortie :
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") }
La fonctionnalité de la CLI est assez limitée. Si vous souhaitez intégrer LACT à une application/un script, vous devez plutôt utiliser l'API.
Lorsque vous signalez des problèmes, veuillez inclure les informations sur votre système et le modèle de GPU.
Si vous rencontrez un problème lors de la modification de la configuration du GPU, il est fortement recommandé d'inclure un instantané de débogage dans le rapport de bogue. Vous pouvez en générer un en utilisant l'option du menu déroulant :
L'instantané est une archive qui inclut le SysFS que LACT utilise pour interagir avec le GPU.
En cas de crash, exécutez lact gui
à partir de la ligne de commande pour obtenir les journaux de l'interface graphique, vérifiez les journaux du démon dans journalctl -u lactd
pour les erreurs et consultez dmesg
pour les journaux du noyau pouvant inclure des informations sur les problèmes de pilote et de système.
Voici une liste d'autres outils utiles pour les GPU AMD sous Linux :