Esta aplicación te permite controlar tu GPU AMD o Nvidia en un sistema Linux.
información de la GPU | overclocking | control del ventilador |
---|---|---|
Datos históricos | ||
Características actuales:
Tanto la funcionalidad de AMD como la de Nvidia funcionan en X11, Wayland o incluso en sesiones sin cabeza.
Arch Linux: instale el paquete AUR (o la versión -git)
Debian/Ubuntu/Derivatives: descargue un .deb de las versiones.
Solo está disponible en Debian 12+ y Ubuntu 22.04+ ya que las versiones anteriores no incluyen gtk4.
Fedora: un RPM está disponible en lanzamientos.
Gentoo: Disponible en GURU.
OpenSUSE: un RPM está disponible en las versiones.
Solo se admite la planta rodadora ya que Jump no tiene las dependencias requeridas en los repositorios.
NixOS: Hay un paquete disponible en nixpkgs
De lo contrario, compila desde la fuente.
¿Por qué no existe AppImage/Flatpak/otro formato universal? Ver aquí.
Nota: La compatibilidad con Nvidia requiere el controlador propietario de Nvidia con las bibliotecas CUDA instaladas.
Para obtener las últimas correcciones o funciones que aún no se han lanzado en una versión estable, existen paquetes creados a partir de la última confirmación que puede instalar desde la versión de prueba o utilizando el paquete lact-git
AUR en distribuciones basadas en Arch.
Nota: la fecha de la versión de prueba no es la fecha en que se crearon los paquetes; la fecha real se especifica junto a los archivos del paquete adjunto.
Habilite e inicie el servicio (de lo contrario, no podrá cambiar ninguna configuración):
sudo systemctl enable --now lactd
Ahora puede utilizar la GUI para cambiar la configuración y ver información.
LACT en su mayor parte no implementa características por generación, sino que expone la funcionalidad que está disponible en el controlador para el sistema actual. Sin embargo, la siguiente tabla muestra qué funcionalidad se puede esperar para una generación determinada.
Generación | Configuración de relojes | límite de potencia | Estados de poder | control del ventilador | Notas |
---|---|---|---|---|---|
Islas del Sur (HD 7000) | No compatible | Desconocido | Desconocido | No probado | Requiere la opción del kernel amdgpu.si_support=1 |
Islas del Mar (R7/R9 200) | No compatible | Desconocido | No probado | No probado | Requiere la opción del kernel amdgpu.cik_support=1 |
Islas Volcánicas (R7/R9 300) | No compatible | Desconocido | No probado | No probado | |
Islas Árticas/Polaris (RX 400-500) | Apoyado | Apoyado | Apoyado | Apoyado | |
vega | Apoyado | Apoyado | Apoyado | Apoyado | |
RDNA1 (RX5000) | Apoyado | Apoyado | Apoyado | Apoyado | |
RDNA2 (RX6000) | Apoyado | Apoyado | Apoyado | Apoyado | |
RDNA3 (RX 7000) | Apoyado | Limitado | Apoyado | Limitado | Hay un umbral de temperatura no configurable por debajo del cual el ventilador no se enciende, incluso con una curva personalizada. El límite de energía también es a veces más bajo de lo que debería ser. Requiere núcleo 6.7+. Consulte el n.º 255 para obtener más información. |
Las GPU que no figuran aquí seguirán funcionando, pero es posible que no tengan todas las funciones disponibles. La información de monitoreo/sistema estará disponible en todas partes. Es posible que las GPU integradas también solo tengan disponible una configuración básica.
Cualquier dispositivo Maxwell o posterior debería funcionar, pero el soporte de generación aún no se ha probado exhaustivamente.
Hay un archivo de configuración disponible en /etc/lact/config.yaml
. Se puede acceder a la mayoría de las configuraciones a través de la GUI, pero algunas de ellas pueden ser útiles para editarlas manualmente (como admin_groups
para especificar quién tiene acceso al demonio).
Configuración de permisos de socket:
De forma predeterminada, LACT utiliza ether the wheel
o el grupo sudo
(el que esté disponible) para la propiedad del socket Unix al que la GUI necesita conectarse.
En la mayoría de las configuraciones (como la configuración predeterminada en los sistemas basados en Arch, la mayoría de los sistemas basados en Debian o Fedora) no necesita hacer nada.
Sin embargo, algunos sistemas pueden tener una configuración de usuario diferente. En particular, se ha informado que esto es un problema en OpenSUSE.
Para corregir los permisos de socket en dichas configuraciones, edite /etc/lact/config.yaml
y agregue su nombre de usuario o grupo como la primera entrada en admin_groups
bajo daemon
y reinicie el servicio ( sudo systemctl restart lactd
).
La funcionalidad de overclocking está deshabilitada de forma predeterminada en el controlador. Hay dos formas de habilitarlo:
Utilizando la opción "habilitar overclocking" en la GUI de LACT. Esto creará un archivo en /etc/modprobe.d
que habilita las opciones de controlador requeridas. Esta es la forma más sencilla y debería funcionar para la mayoría de las personas.
Nota: Esto intentará regenerar automáticamente initramfs para incluir la nueva configuración. No cubre todas las combinaciones de distribuciones posibles. Si ha habilitado el overclocking en LACT pero aún no funciona después de reiniciar, es posible que deba verificar la configuración de su distribución para asegurarse de que initramfs esté actualizado. Actualizar la versión del kernel es una forma garantizada de activar una actualización de initramfs.
Especificación de un parámetro de arranque. Puede especificar manualmente el parámetro del kernel amdgpu.ppfeaturemask=0xffffffff
en su gestor de arranque para habilitar el overclocking. Consulte ArchWiki para obtener más detalles.
Como algunas de las configuraciones de la GPU pueden restablecerse al suspender el sistema, LACT las recargará cuando se reanude el sistema. Es posible que esto no funcione en distribuciones que no usan systemd, ya que depende de la interfaz DBus org.freedesktop.login2
.
Dependencias:
Comando para instalar todas las dependencias:
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
Pasos:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
Es posible cambiar las funciones con las que se construye LACT. Para hacerlo, reemplace el comando make
con la siguiente variación:
Construcción sin cabeza sin GUI:
make build-release-headless
Cree una GUI con soporte para libadwaita:
make build-release-libadwaita
Hay una API disponible a través de un socket Unix o TCP. Consulte aquí para obtener más información.
Es posible tener el demonio LACT ejecutándose en una máquina y luego administrarlo de forma remota desde otra.
Esto está deshabilitado de forma predeterminada, ya que la conexión TCP no tiene ningún mecanismo de autenticación o cifrado. Asegúrese de usarlo solo en redes confiables y/o configurar reglas de firewall adecuadas.
Para habilitarlo, edite /etc/lact/config.yaml
y agregue tcp_listen_address
con la dirección que desee y en la sección daemon
.
Ejemplo:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
Después de esto reinicie el servicio ( sudo systemctl restart lactd
).
Para conectarse a una instancia remota con la GUI, ejecútela con lact gui --tcp-address 192.168.1.10:12853
.
También hay un cli disponible.
Lista de GPU del sistema:
lact cli list-gpus
Salida de ejemplo:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
Obteniendo información de la GPU:
lact cli info
Salida de ejemplo:
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 funcionalidad de la CLI es bastante limitada. Si desea integrar LACT con alguna aplicación/script, debe utilizar la API en su lugar.
Cuando informe problemas, incluya la información de su sistema y el modelo de GPU.
Si tiene problemas para cambiar la configuración de la GPU, se recomienda encarecidamente incluir una instantánea de depuración en el informe de errores. Puedes generar uno usando la opción en el menú desplegable:
La instantánea es un archivo que incluye el SysFS que utiliza LACT para interactuar con la GPU.
Si hay un bloqueo, ejecute lact gui
desde la línea de comando para obtener registros de la GUI, verifique los registros del demonio en journalctl -u lactd
para ver si hay errores y consulte dmesg
para los registros del kernel que pueden incluir información sobre problemas del controlador y del sistema.
Aquí hay una lista de otras herramientas útiles para las GPU AMD en Linux: