Capa do Artigo

🐧 Guia Definitivo: NVIDIA 390 Legacy no Debian Trixie

Tutorial 1.0 Fábio Dutra

Este tutorial resolve o problema de incompatibilidade do driver proprietário NVIDIA 390xx com kernels recentes (série 6.x) no Debian Trixie. Ele contorna o temido erro de dependências quebradas e o bug da compilação do DKMS (/Kbuild: Arquivo ou diretório inexistente).

Fase 1: Preparação e Faxina

O DKMS falha se você tiver cabeçalhos (headers) de kernels antigos instalados. Vamos limpar a casa e instalar as ferramentas certas.

1. Remova headers antigos:

# Descubra seu kernel atual
uname -r

# Remova os antigos (Exemplo: sudo apt remove --purge linux-headers-6.18*)
sudo apt autoremove

# Instale os cabeçalhos exatos e pbuilder
sudo apt update
sudo apt install pbuilder dpkg-dev linux-headers-$(uname -r)

Fase 2: Compilar os pacotes patcheados

O Debian Unstable (Sid) possui os patches necessários para o kernel 6.x.

1. Adicione o repositório do Sid temporariamente:

Adicione ao /etc/apt/sources.list:

deb-src http://deb.debian.org/debian unstable main non-free contrib non-free-firmware

2. Baixe o código e compile:

mkdir -p "$HOME/nvidia-build/390xx" "$HOME/nvidia-build/settings"

cd "$HOME/nvidia-build/390xx"
apt source --download-only nvidia-legacy-390xx-driver

cd "$HOME/nvidia-build/settings"
apt source --download-only nvidia-settings-legacy-390xx

sudo pbuilder create --distribution trixie --architecture amd64

cd "$HOME/nvidia-build/390xx"
sudo pbuilder build nvidia-graphics-drivers-legacy-390xx_*.dsc

cd "$HOME/nvidia-build/settings"
sudo pbuilder build nvidia-settings-legacy-390xx_*.dsc

Fase 3: Criar Repositório Local e Instalar

cd /var/cache/pbuilder/result/
sudo sh -c 'dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz'

echo "deb [trusted=yes] file:/var/cache/pbuilder/result/ ./" | sudo tee /etc/apt/sources.list.d/nvidia-local.list
sudo apt update

sudo apt install nvidia-legacy-390xx-driver nvidia-legacy-390xx-kernel-dkms nvidia-settings-legacy-390xx

⚠️ Atenção: A instalação vai DAR ERRO na etapa de configuração do DKMS. Isso é esperado.

Fase 4: A Vacina do DKMS

Copie e cole este bloco inteiro para forçar o script da NVIDIA a ignorar a variável bugada:

cat << 'EOF' > /tmp/nvidia_fix.txt
ifeq ($(src),)
override KERNELRELEASE =
endif
EOF

cat /usr/src/nvidia-legacy-390xx-390.157/Makefile > /tmp/nvidia_makefile.bak
cat /tmp/nvidia_fix.txt /tmp/nvidia_makefile.bak | sudo tee /usr/src/nvidia-legacy-390xx-390.157/Makefile > /dev/null

Reconstrua manualmente e finalize:

sudo dkms remove -m nvidia-legacy-390xx -v 390.157 --all
sudo dkms add -m nvidia-legacy-390xx -v 390.157
sudo dkms build -m nvidia-legacy-390xx -v 390.157 -k $(uname -r)
sudo dkms install -m nvidia-legacy-390xx -v 390.157 -k $(uname -r)

sudo dpkg --configure -a
sudo rm /etc/apt/sources.list.d/nvidia-local.list
sudo apt update
sudo reboot
Debian NVIDIA Linux Kernel
Compartilhar:

Comentários