Debian 12 es una distribución de GNU/LINUX que es maravillosa. La gente que está detrás de GNU/LINUX tiene una filosofía, que es el software libre en contraposición del software propietario. Debian 12 por defecto, tiene un driver libre para las tarjetas gráficas NVIDIA pero el problema e ignoro la razón que un programa de edición de vídeo como DA VINCI RESOLVE no se ejecutaba correctamente con este driver libre de NVIDIA. Así que decidí instalar el driver propietario y se solucionó el problema. Yo estoy a favor del software libre pero tampoco soy un taliban. Me considero pragmática. Digo sí al software libre pero si un software es propietario y funciona bien, no le hago asco a utilizarlo si es gratuito, claro está. Así que vamos a ponernos manos a la faena.
Lo primero que hay que hacer es añadir una lista de repositorios de Debian, en este caso, Debian 12 al archivo que está en la siguiente ruta /etc/apt/sources.list y en este caso particular, yo añadiría todos los repositorios, entre ellos los contrib non-free porque hay que instalar una serie de paquetes necesario para correr el driver propietario de NVIDIA.
root@debian:/home/user# gedit /etc/apt/sources.list
Copiamos y pegamos la siguiente lista de repositorios:
deb http://deb.debian.org/debian bookworm main
deb-src http://deb.debian.org/debian bookworm main
deb http://deb.debian.org/debian-security/ bookworm-security main
deb-src http://deb.debian.org/debian-security/ bookworm-security main
deb http://deb.debian.org/debian bookworm-updates main
deb-src http://deb.debian.org/debian bookworm-updates main
deb http://deb.debian.org/debian bookworm main
deb-src http://deb.debian.org/debian bookworm main
deb http://deb.debian.org/debian-security/ bookworm-security main
deb-src http://deb.debian.org/debian-security/ bookworm-security main
deb http://deb.debian.org/debian bookworm-updates main
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free
Actualizamos los repositorios de Debian en modo root con el siguiente comando:
root@debian:/home/user# apt update
Es el momento de descargar el driver en un archivo ejecutable de la página oficial de NVIDIA. En este link puedes descargar el archivo: https://la.nvidia.com/Download/index.aspx?lang=la
Selecciona el tipo, la serie y la familia del producto que has comprado (tarjeta gráfica) y también el sistema operativo y la arquitectura (en nuestro caso Linux 64 bits) . También puedes seleccionar el idioma y lo descargamos.
NVIDIA-Linux-x86-1.0-6629-pkg1.run
La otra opción sería utilizar el comando nvidia-detect, si no lo tienes instalado, puedes hacerlo. Detectar cual es la tarjeta NVIDIA que tienes, te indicará un nombre y puede que te haga una recomendación de instalar el paquete nvidia-driver o similar.
Es el momento de instalar sin salir del entorno gráfico una serie de paquetes:
root @debian# apt install build-essential linux-headers-amd64 pkg-config libglvnd-dev
Ahora pulsamos a la vez la siguiente combinación de teclas <CTRL> + <ALT> + <F5> y abandonamos el modo gráfico de Debian.
A continuación, está bien saber que escritorio usamos en Debian, en mi caso es el Cinnamon:
root@debian# echo $XDG_CURRENT_DESKTOP
Y el terminal nos dirá:
X-Cinnamon
Si deseamos saber que sesión gráfica utilizamos podemos usar este comando:
root@debian:/home/user# systemctl status display-manager
El terminal mostrará el siguiente resultado:
● lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; preset: enabled)
También podemos usar este comando para saber la sesión gráfica:
user @debian:~$ ps auxf | grep -e dm$ -e slim$
El terminal arrojará el siguiente resultado:
root 1063 0.0 0.0 308380 7340 ? SLsl 10:46 0:00 /usr/sbin/lightdm
root@debian# sudo service lightdm stop
Es el momento de deshabilitar el módulo de kernel NOUVEAU que dificulta la instalación del driver propietario de NVIDIA. Nouveau es el driver de código abierto presente en el kernel Linux para las gráficas de NVIDIA y ha recibido un fuerte varapalo después de que Ben Skeggs haya renunciado a su puesto en Red Hat, ya que dicha decisión ha puesto fin a su contribución activa al controlador.
Par empezar, ejecuta este comando para verificar si nouveau está habilitado:
user@debian:~$ lsmod | grep nouveau
El terminal ofrecerá un resultado similar a este:
nouveau 1949696 0
mxm_wmi 16384 1 nouveau
video 49152 1 nouveau
i2c_algo_bit 16384 2 mgag200,nouveau
ttm 106496 2 drm_vram_helper,nouveau
drm_kms_helper 184320 4 mgag200,nouveau
drm 491520 6 drm_kms_helper,drm_vram_helper,mgag200,ttm,nouveau
wmi 32768 5 wmi_bmof,dell_smbios,dell_wmi_descriptor,mxm_wmi,nouveau
Escribe los siguientes pasos para deshabilitar NOUVEAU
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF
No te olvides de actualizar el kernel con initramfs en modo root:
root@debian# sudo update-initramfs -u
y ahora reinicia el sistema con el siguiente comando:
root@debian# sudo reboot
Fuente: https://docs.nvidia.com/ai-enterprise/deployment-guide-vmware/0.1.0/nouveau.html
Detenemos la sesión gráfica que en mi caso particular es lightdm
root@debian# sudo service lightdm stop
root@debian# sudo systemctl stop lightdm
Buscamos la subcarpeta llamada Descargas con el comando cd:
root@debian# cd /home/user/Descargas
Y hacemos un listado de los archivos que hayan en esa subcarpeta
root@debian:/home/user/Descargas# ls
Concede permisos de ejecución con el siguiente comando en modo root para instalar el driver propietario:
root @debian # chmod +x NVIDIA-linux-x86-64_xxxxx.run
Ejecuta en modo root el driver propietario para que se instale:
root @debian # ./NVIDIA-linux-x86-64_xxxxx.run
Aparece una serie de pantallas y se marca la opción "continuar" y "sí" a todo para que la instalación siga su curso. Puede que te advierta de algún inconveniente.
Cuando termine de instalas, solo te queda regenerar y subir el kernel con la configuración actualizada con el siguiente comando
root@debian # sudo update-initramfs -u
Y finalmente, actualizar otra vez:
root@debian # sudo reboot
Acabo de actualizar mi kernel y ahora el módulo del kernel NVIDIA no se carga. ¿Cuál es el problema?
La capa de interfaz del módulo del kernel de NVIDIA debe compilarse específicamente para la configuración y versión de su kernel. Si actualiza su kernel, la solución más sencilla es reinstalar el controlador.
AVANZADO: Puede instalar el módulo del kernel NVIDIA para un kernel que no se está ejecutando (por ejemplo: en la situación en la que acaba de compilar e instalar un nuevo kernel, pero aún no ha reiniciado) con una línea de comandos como ésta:
root@debian # sh NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='KERNEL_NAME'
Donde 'KERNEL_NAME' es lo que `uname -r` indicaría si el kernel de destino se estuviera ejecutando.
Ejemplo: he escrito en mi terminal como usuario:
user@debian:~$ uname -r
Y a mí me arroja el terminal como resultado:
5.10.0-29-amd64
Entonces, tendrías que ejecutar el siguiente comando para instalar de nuevo el driver propietario de NVIDIA que es un archivo ejecutable con el nucleo actualizado con el siguiente comando:
root@debian ./NVIDIA-Linux-x86-1.0-6629-pkg1.run --kernel-name='5.10.0-29-amd64'