Este aplicativo permite que você controle sua GPU AMD ou Nvidia em um sistema Linux.
Informações da GPU | Overclock | Controle do ventilador |
---|---|---|
Dados históricos | ||
Recursos atuais:
A funcionalidade AMD e Nvidia funciona em X11, Wayland ou até mesmo em sessões headless.
Arch Linux: Instale o pacote AUR (ou a versão -git)
Debian/Ubuntu/Derivativos: Baixe um .deb dos lançamentos.
Ele está disponível apenas no Debian 12+ e no Ubuntu 22.04+, pois as versões mais antigas não vêm com gtk4.
Fedora: um RPM está disponível em versões.
Gentoo: Disponível no GURU.
OpenSUSE: um RPM está disponível em versões.
Apenas o tumbleweed é suportado, pois o salto não possui as dependências necessárias nos repositórios.
NixOS: Existe um pacote disponível em nixpkgs
Caso contrário, construa a partir do código-fonte.
Por que não existe AppImage/Flatpak/outro formato universal? Veja aqui.
Nota: O suporte da Nvidia requer o driver proprietário da Nvidia com bibliotecas CUDA instaladas.
Para obter as correções ou recursos mais recentes que ainda não foram lançados em uma versão estável, existem pacotes criados a partir do commit mais recente que você pode instalar a partir da versão de teste ou usando o pacote lact-git
AUR em distros baseadas em Arch.
Nota: a data do lançamento de teste não é a data em que os pacotes foram compilados, a data real é especificada ao lado dos arquivos do pacote anexados.
Habilite e inicie o serviço (caso contrário, você não poderá alterar nenhuma configuração):
sudo systemctl enable --now lactd
Agora você pode usar a GUI para alterar configurações e visualizar informações.
A maior parte do LACT não implementa recursos por geração, mas expõe a funcionalidade que está disponível no driver para o sistema atual. No entanto, a tabela a seguir mostra quais funcionalidades podem ser esperadas para uma determinada geração.
Geração | Configuração de relógios | Limite de potência | Estados de poder | Controle do ventilador | Notas |
---|---|---|---|---|---|
Ilhas do Sul (HD 7000) | Não compatível | Desconhecido | Desconhecido | Não testado | Requer a opção de kernel amdgpu.si_support=1 |
Ilhas do Mar (R7/R9 200) | Não compatível | Desconhecido | Não testado | Não testado | Requer a opção de kernel amdgpu.cik_support=1 |
Ilhas Vulcânicas (R7/R9 300) | Não compatível | Desconhecido | Não testado | Não testado | |
Ilhas Árticas/Polaris (RX 400-500) | Suportado | Suportado | Suportado | Suportado | |
Vega | Suportado | Suportado | Suportado | Suportado | |
RDNA1 (RX 5000) | Suportado | Suportado | Suportado | Suportado | |
RDNA2 (RX 6000) | Suportado | Suportado | Suportado | Suportado | |
RDNA3 (RX 7000) | Suportado | Limitado | Suportado | Limitado | Existe um limite de temperatura não configurável abaixo do qual o ventilador não liga, mesmo com uma curva personalizada. O limite de energia às vezes também é menor do que deveria. Requer kernel 6.7+. Consulte #255 para obter mais informações. |
As GPUs não listadas aqui ainda funcionarão, mas podem não ter todas as funcionalidades disponíveis. As informações de monitoramento/sistema estarão disponíveis em todos os lugares. As GPUs integradas também podem ter apenas configuração básica disponível.
Qualquer coisa Maxwell ou mais recente deve funcionar, mas o suporte de geração ainda não foi testado exaustivamente.
Existe um arquivo de configuração disponível em /etc/lact/config.yaml
. A maioria das configurações são acessíveis através da GUI, mas algumas delas podem ser úteis para serem editadas manualmente (como admin_groups
para especificar quem tem acesso ao daemon)
Configuração de permissões de soquete:
Por padrão, o LACT usa o grupo ether wheel
ou sudo
(o que estiver disponível) para a propriedade do soquete unix ao qual a GUI precisa se conectar.
Na maioria das configurações (como a configuração padrão em sistemas baseados em Arch, na maioria dos sistemas baseados em Debian ou Fedora) você não precisa fazer nada.
No entanto, alguns sistemas podem ter configurações de usuário diferentes. Em particular, foi relatado que isso é um problema no OpenSUSE.
Para corrigir permissões de soquete em tais configurações, edite /etc/lact/config.yaml
e adicione seu nome de usuário ou grupo como a primeira entrada em admin_groups
em daemon
e reinicie o serviço ( sudo systemctl restart lactd
).
A funcionalidade de overclock está desabilitada por padrão no driver. Existem duas maneiras de habilitá-lo:
Usando a opção "habilitar overclocking" na GUI do LACT. Isso criará um arquivo em /etc/modprobe.d
que habilita as opções de driver necessárias. Esta é a maneira mais fácil e deve funcionar para a maioria das pessoas.
Nota: Isto tentará regenerar automaticamente o initramfs para incluir as novas configurações. Não cobre todas as combinações possíveis de distribuição. Se você habilitou o overclock no LACT, mas ele ainda não funciona após a reinicialização, pode ser necessário verificar a configuração da sua distribuição para ter certeza de que o initramfs foi atualizado. Atualizar a versão do kernel é uma forma garantida de acionar uma atualização do initramfs.
Especificando um parâmetro de inicialização. Você pode especificar manualmente o parâmetro de kernel amdgpu.ppfeaturemask=0xffffffff
em seu gerenciador de inicialização para ativar o overclock. Veja o ArchWiki para mais detalhes.
Como algumas configurações da GPU podem ser redefinidas ao suspender o sistema, o LACT irá recarregá-las na reinicialização do sistema. Isso pode não funcionar em distribuições que não usam o systemd, pois depende da interface DBus org.freedesktop.login2
.
Dependências:
Comando para instalar todas as dependências:
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
Passos:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
É possível alterar quais recursos o LACT é construído. Para fazer isso, substitua o comando make
pela seguinte variação:
Construção sem cabeça e sem GUI:
make build-release-headless
Construa GUI com suporte a libadwaita:
make build-release-libadwaita
Existe uma API disponível em um soquete Unix ou TCP. Veja aqui para mais informações.
É possível ter o daemon LACT rodando em uma máquina e gerenciá-lo remotamente em outra.
Isso está desabilitado por padrão, pois a conexão TCP não possui nenhum mecanismo de autenticação ou criptografia! Certifique-se de usá-lo apenas em redes confiáveis e/ou configure regras de firewall apropriadas.
Para habilitá-lo, edite /etc/lact/config.yaml
e adicione tcp_listen_address
com o endereço desejado e na seção daemon
.
Exemplo:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
Depois disso, reinicie o serviço ( sudo systemctl restart lactd
).
Para conectar-se a uma instância remota com a GUI, execute-a com lact gui --tcp-address 192.168.1.10:12853
.
Há também um CLI disponível.
Listar GPUs do sistema:
lact cli list-gpus
Exemplo de saída:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
Obtendo informações da GPU:
lact cli info
Exemplo de saída:
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") }
A funcionalidade da CLI é bastante limitada. Se você deseja integrar o LACT com algum aplicativo/script, você deve usar a API.
Ao relatar problemas, inclua as informações do sistema e o modelo da GPU.
Se você estiver tendo problemas para alterar a configuração da GPU, é altamente recomendável incluir um instantâneo de depuração no relatório de bug. Você pode gerar um usando a opção no menu suspenso:
O snapshot é um arquivo que inclui o SysFS que o LACT usa para interagir com a GPU.
Se houver uma falha, execute lact gui
na linha de comando para obter logs da GUI, verifique se há erros nos logs do daemon em journalctl -u lactd
e consulte dmesg
para logs do kernel que podem incluir informações sobre problemas de driver e sistema.
Aqui está uma lista de outras ferramentas úteis para GPUs AMD no Linux: