NixOS + NVIDIA antiga: como sobreviver ao driver 595 (GTX 750 Ti / Maxwell)
Recentemente enfrentei um problema ao atualizar meu sistema
NixOS: após atualizar os flakes, o driver da
NVIDIA foi atualizado automaticamente da versão
580.142 para
595.58.03, e minha GPU (GTX 750 Ti, arquitetura Maxwell) simplesmente parou de funcionar.
Ao tentar carregar o módulo manualmente:
modprobe nvidia
Recebi o erro:
modprobe: ERROR: could not insert 'nvidia': No such device
Apesar disso, o sistema ainda apresentava vídeo normalmente usando
framebuffer em baixa resolução.
Causa do problema
A causa não é um erro de configuração, mas sim uma mudança recente da NVIDIA:
- A arquitetura Maxwell foi considerada "feature-complete"
- Drivers mais novos (como 595) não garantem mais suporte real
- O módulo carrega, mas não reconhece a GPU
Ou seja, o driver
existe, mas não contém mais suporte efetivo ao hardware.
Solução
A solução é usar a versão mais recente ainda compatível com a GPU que no meu caso é a
580.142.
No
NixOS, isso pode ser feito usando a função
mkDriver.
{ config, pkgs, ... }:
{
services.xserver.videoDrivers = [ "nvidia" ];
hardware.graphics.enable = true;
nixpkgs.config.nvidia.acceptLicense = true;
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
open = false;
nvidiaSettings = true;
# GPUs antigas não usam GSP
gsp.enable = false;
nvidiaPersistenced = true;
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "580.142";
sha256_64bit = "sha256-IJFfzz/+icNVDPk7YKBKKFRTFQ2S4kaOGRGkNiBEdWM=";
settingsSha256 = "sha256-BnrIlj5AvXTfqg/qcBt2OS9bTDDZd3uhf5jqOtTMTQM=";
persistencedSha256 = "sha256-il403KPFAnDbB+dITnBGljhpsUPjZwmLjGt8iPKuBqw=";
};
};
}
De acordo com o site oficial, a última versão suportada de fato é a
580.142.
Observações importantes
1. GSP precisa ser desabilitado
GPUs antigas não possuem suporte a firmware GSP.
Sem isto:
gsp.enable = false;
o build falha com:
This version of NVIDIA driver does not provide a GSP firmware
2. Como descobrir os hashes
Use:
pkgs.lib.fakeSha256
e deixe o
Nix falhar. Ele mostrará o
hash correto para substituir.
Conclusão
Se você possui uma GPU mais antiga (como a
GTX 750 Ti), atualizar o
NixOS pode quebrar o driver
NVIDIA sem aviso claro.
A solução não é usar um driver
"legacy" antigo, mas sim fixar a versão mais recente ainda compatível com o seu hardware. No caso da arquitetura Maxwell, isso está na faixa da série
580.
A
Nvidia falou que ainda vai dar três anos de atualizações de segurança para essas GPUs, mas não vai haver novas versões. Temos até 2028 para usar
essas placas.
Referências
Outras dicas deste autor
Como verificar a integridade das stock ROMs da Samsung
Servidor web simples sem instalar nada
Como verificar senha no shell script
Você deixa a porta aberta?
Como montar arquivos .img do Android
Leitura recomendada
Scanner TCE S440 no Linux
Habilitando Virtualização no BIOS do HP 6005 Pro
ALSA e headsets USB: hotplugging
Compilando driver de adaptadores Ralink
Multifuncional Canon MG3200 Series no openSUSE 13.1
Comentários
Nenhum comentário foi encontrado.