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
Você deixa a porta aberta?
Um manual mais da hora
Como lidar com strings complicadas no PHP
Como montar arquivos .img do Android
Como verificar a integridade das stock ROMs da Samsung
Leitura recomendada
Drivers Linux disponíveis na internet
Configurando scroll do mouse no Slackware 10
HP LaserJet P1102w no Arch Linux
Placa de Rede Attansic openSUSE 11.4 64 bits - Configuração
Wireless ralink no Fedora Core 5
Comentários
Nenhum comentário foi encontrado.