|

Instalar drivers Nvidia y CUDA en Linux sin romper nada

En pocas palabras: En Ubuntu, corré sudo ubuntu-drivers install, reiniciá y verificá con nvidia-smi. Después instalá cuda-toolkit 13.4.2 (vigente en septiembre de 2026) desde el repo de Nvidia y validá con nvcc –version. El driver y el toolkit son paquetes separados, y los módulos open exigen una placa Turing o más nueva.

Para instalar drivers Nvidia Linux sin romper nada, en Ubuntu corré ubuntu-drivers devices, después sudo ubuntu-drivers install, reiniciá y verificá con nvidia-smi. CUDA va aparte: se instala con el paquete cuda-toolkit del repo de Nvidia y se valida con nvcc --version.

El driver de Nvidia para Linux es el software (un módulo de kernel más librerías de usuario) que controla la placa de video y reemplaza a nouveau, el driver libre que traen las distros. CUDA Toolkit es el conjunto de compilador (nvcc), librerías y headers para programar la GPU. El driver hace funcionar la placa. El toolkit te deja compilar programas que la usan.

En 30 segundos

  • En septiembre de 2026, la rama más nueva del driver es la 615 (la Driver Installation Guide de Nvidia ya la toma como base), y el repo de Nvidia trae solo módulos de kernel abiertos (nvidia-open), para placas Turing o más nuevas.
  • En Ubuntu, el camino corto es sudo ubuntu-drivers install. Los módulos vienen firmados, así que no hay trámite de MOK con Secure Boot.
  • Con el repo de Nvidia, DKMS compila el módulo y en una máquina con Secure Boot aparece la pantalla azul de MOK al primer reinicio.
  • El driver y CUDA son paquetes separados. Un toolkit CUDA 13.x necesita un driver de la rama 580 o más nueva.
  • nvidia-smi prueba el driver, nvcc --version prueba el toolkit y deviceQuery prueba la cadena completa.

¿Cómo saber qué placa Nvidia tengo y si es compatible con CUDA?

Corré lspci | grep -i nvidia para ver el modelo y gcc --version para ver el compilador, y después comparalo con la lista oficial de GPUs compatibles con CUDA (developer.nvidia.com/cuda-gpus). Según ComputingForGeeks (septiembre de 2026), el driver actual exige una placa Turing o más nueva: GTX 16, RTX 20 en adelante y series A y H.

Son chequeos de un minuto. No hace falta saberlos de memoria.

  • Modelo de la placa: lspci | grep -i nvidia te da algo como “GA102 [GeForce RTX 3080]”.
  • Kernel en uso: uname -r. Lo vas a necesitar para instalar los headers correctos.
  • Estado de Secure Boot: mokutil --sb-state. Si dice “SecureBoot disabled”, no hay nada que enrolar.
  • Espacio en disco: unos 8 GB libres. Solo el toolkit ocupa 5,2 GB al descomprimirse, según la misma guía.

Si tu placa es anterior a Turing (Maxwell, Pascal o Volta), la historia cambia: la rama 580 es la última que las soporta y CUDA 13 las sacó como destino de compilación. Más abajo está la tabla con qué usar en cada caso.

¿Qué es nouveau y qué hago con Secure Boot antes de instalar?

Nouveau es el driver libre de Nvidia que viene en el kernel de Linux, y el driver oficial lo reemplaza. Con el paquete nvidia-open del repo de Nvidia no hay que bloquearlo a mano: el paquete instala /usr/lib/modprobe.d/nvidia-graphics-drivers.conf, que lo blacklistea solo. En las pruebas de ComputingForGeeks, nouveau estaba cargado antes de instalar y ausente después del reinicio.

Secure Boot es donde la gente se traba. Ponele que instalás todo prolijo, reiniciás y el módulo no carga porque el firmware se negó a aceptar algo sin firma. Hay dos situaciones distintas:

  • Paquetes de Ubuntu (ubuntu-drivers): traen módulos precompilados y firmados. No compila DKMS ni hay baile de MOK, según la guía citada.
  • Repo de Nvidia (nvidia-open): DKMS firma el módulo con una clave de máquina en /var/lib/shim-signed/mok/MOK.der. En el primer reinicio aparece la pantalla azul de MOK: elegís Enroll MOK y escribís la contraseña que te pidió apt.
  • Si no te apareció el prompt: encolá la clave a mano con sudo mokutil --import /var/lib/shim-signed/mok/MOK.der y reiniciá.

Eso sí: las máquinas de prueba de esa guía tenían Secure Boot apagado, así que los autores no recorrieron la pantalla azul. Tomalo como la descripción documentada del proceso, no como algo que ellos validaron paso a paso.

Una recomendación que no viene de la documentación de Nvidia sino de práctica general: sacá un snapshot antes de tocar drivers (Timeshift sirve) o, como mínimo, copiá lo importante. Un driver gráfico roto puede dejarte sin entorno de escritorio. ¿Cuesta cinco minutos? Sí. ¿Te ahorra una tarde? También.

¿Cómo instalar drivers Nvidia en Linux (Ubuntu) paso a paso?

En Ubuntu 26.04, el método recomendado es ubuntu-drivers: listás los drivers con ubuntu-drivers devices, instalás el marcado como recommended con sudo ubuntu-drivers install, reiniciás y verificás con nvidia-smi. Así lo documenta LinuxConfig (marzo de 2026). La alternativa es el repo de Nvidia.

Opción 1: ubuntu-drivers, la más simple

  1. Listá los drivers disponibles: ubuntu-drivers devices.
  2. Instalá el recomendado: sudo ubuntu-drivers install.
  3. Reiniciá: sudo reboot.
  4. Verificá: nvidia-smi.

En el ejemplo de LinuxConfig con una RTX 3080, la lista incluye nvidia-driver-580 y nvidia-driver-595 en variantes normal, -open y -server, y marca nvidia-driver-595-open como recomendado. Después del reinicio, nvidia-smi mostró driver 595.58.03 y CUDA 13.2. La variante -open es la indicada para Turing en adelante, mientras que las anteriores siguen necesitando los módulos tradicionales.

Ojo con los equipos sin pantalla. Con sudo ubuntu-drivers install --gpgpu, ComputingForGeeks vio que se instaló nvidia-headless-no-dkms-595-server-open, que carga el módulo pero no trae nvidia-smi. Resultado: “command not found” tras el reinicio. Se arregla con sudo apt install -y nvidia-utils-595-server, usando la misma rama.

Opción 2: el repo de Nvidia con nvidia-open

Esta vía sirve si querés las versiones más nuevas (en septiembre de 2026, driver 615.71.09 y CUDA 13.4.2 en el repo de Nvidia, contra la 595 que Ubuntu marcaba como recomendada en su propio repo). Según la guía de ComputingForGeeks, que armó todo sobre Ubuntu 26.04.1 y 24.04.5 con una A10G:

sudo apt update
sudo apt install -y build-essential linux-headers-$(uname -r)
distro=$(. /etc/os-release && echo "ubuntu${VERSION_ID/./}")
wget https://developer.download.nvidia.com/compute/cuda/repos/${distro}/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y nvidia-open
sudo reboot

El paquete arrastró 117 dependencias en 26.04 y 131 en 24.04, y tardó menos de tres minutos en ambas, casi todo compilando el módulo con DKMS. Para confirmar que cargó el módulo abierto, mirá cat /proc/driver/nvidia/version: tiene que decir “Open Kernel Module”.

No mezcles las dos opciones. Esa misma guía aclara que hay que elegir un solo stack, y si ya tenías nvidia-open del repo de Nvidia, primero hay que purgarlo antes de pasarte a los paquetes de Ubuntu.

Qué driver corresponde a cada generación de placa

Generación de GPUDriverToolkit
Turing y más nuevas (GTX 16, RTX 20/30/40/50, series A y H)nvidia-opencuda-toolkit (CUDA 13)
Maxwell, Pascal, Volta en Ubuntu 24.04cuda-drivers-580 del repo de Nvidiacuda-toolkit-12-9
Maxwell, Pascal, Volta en Ubuntu 26.04nvidia-driver-580 de UbuntuNo hay CUDA 12 en el repo de 26.04; para estas placas conviene quedarse en 24.04
instalar drivers nvidia linux diagrama explicativo

Fuente de la tabla: ComputingForGeeks.

Debian, Fedora y otras distros

La Driver Installation Guide de Nvidia cubre la preparación (headers del kernel, soporte de módulos), la elección entre paquetes de la distro y el instalador genérico, la verificación y las actualizaciones. Para Fedora, ComputingForGeeks tiene una guía aparte basada en la ruta akmod de RPM Fusion. No tengo pasos verificados para Arch en las fuentes, así que prefiero no inventarlos.

La vía gráfica y los casos que esta guía no cubre

La pestaña “Controladores adicionales” de Software y actualizaciones es la alternativa gráfica. LinuxConfig reportó en marzo de 2026 que en Ubuntu 26.04 esa pestaña no listaba ningún driver de Nvidia, sin saber si era un problema general. No pude confirmar si sigue así hoy. Usá la terminal.

Tampoco hay datos en las fuentes sobre laptops con gráficos híbridos (Optimus, PRIME) ni sobre diferencias entre Wayland y X11. Si tenés una notebook híbrida, consultá la documentación de tu distro antes de tocar nada.

¿Cómo instalar CUDA Toolkit en Linux con apt?

Con el gestor de paquetes: agregás el repo de Nvidia y corrés sudo apt install cuda-toolkit (o dnf install cuda-toolkit en Fedora y RHEL). Es el método que se actualiza con el sistema y el más simple de mantener.

MétodoComando típicoCuándo conviene
Gestor de paquetesapt install cuda-toolkitCasi siempre. Se actualiza con apt y convive con otras versiones

Tres puntos para no pisarte los pies:

  • El driver se instala aparte. Con el repo de Nvidia, el meta paquete cuda-toolkit respeta el driver que ya elegiste. Si venís de guías viejas, cuda-drivers hoy es un paquete de transición que arrastra nvidia-open.
  • No uses el nvidia-cuda-toolkit de Ubuntu. Es la 12.4 en Ubuntu 26.04 y la 12.0 en 24.04, un mayor entero atrás. Combiná el driver de Ubuntu con cuda-toolkit del repo de Nvidia.
  • No mezcles métodos. Antes de cambiar de método de instalación, removés la instalación previa (más en la sección de desinstalación).

En las pruebas de ComputingForGeeks, sudo apt install -y cuda-toolkit tardó unos 2 minutos 40 segundos y dejó todo en /usr/local/cuda-13.4, con /usr/local/cuda como symlink de update-alternatives. Se puede tener dos versiones lado a lado: sudo apt install -y cuda-toolkit-13-3 y después sudo update-alternatives --set cuda /usr/local/cuda-13.3. Para volver a la más nueva, --auto.

¿Qué versión de CUDA es compatible con mi driver Nvidia?

Dentro de la misma versión mayor, el driver no tiene que coincidir con el toolkit. Un toolkit CUDA 13.x corre sobre un driver más viejo, siempre que sea de la rama 580 o posterior, por la compatibilidad de versiones menores de Nvidia. ComputingForGeeks lo probó: un driver 595 de Ubuntu, que reporta CUDA 13.2, con el toolkit 13.4 del repo de Nvidia por encima. Pasaron las dos muestras de prueba.

Hay límites. El código que compila PTX en tiempo de ejecución (JIT) necesita el driver más nuevo, y una llamada a una función que el driver viejo no tiene devuelve cudaErrorCallRequiresNewerDriver. Cruzar una versión mayor (toolkit 13 sobre un driver de la era 12) es donde se rompe todo. Ahí hay que actualizar el driver. Tema relacionado: las novedades de rendimiento en Linux para NVIDIA.

Para PyTorch o TensorFlow no tengo en las fuentes una tabla de compatibilidad verificada, así que no te voy a dar números inventados. Mirá la matriz oficial de cada proyecto antes de elegir toolkit.

¿Cómo configurar PATH y LD_LIBRARY_PATH para CUDA?

Agregá dos líneas a ~/.bashrc (o ~/.zshrc) que apunten a la carpeta de CUDA y recargá con source ~/.bashrc. El instalador por paquetes no toca tu PATH, así que sin este paso nvcc te va a responder “command not found” aunque todo esté instalado.

export PATH=/usr/local/cuda-13.4/bin${PATH:+:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda-13.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}

La expansión con :+ evita que una LD_LIBRARY_PATH vacía deje una entrada en blanco, que hace que el cargador busque en el directorio actual. ¿Versión concreta o symlink? Apuntar a /usr/local/cuda-13.4 te asegura que un upgrade no te cambie el compilador sin avisar. Apuntar a /usr/local/cuda, como hace la guía de ComputingForGeeks, te deja cambiar de versión con update-alternatives sin editar archivos. Ninguna es mala, pero elegí una.

¿Cómo verificar que el driver y CUDA funcionan?

Se verifica en tres capas: nvidia-smi prueba el driver, nvcc --version prueba el toolkit y compilar deviceQuery de nvidia/cuda-samples prueba la ejecución real en la GPU. Si las tres responden, la cadena entera funciona.

nvidia-smi
nvcc --version
sudo apt install -y cmake git
git clone --depth 1 https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
cmake -B build
cmake --build build --target deviceQuery vectorAdd -j$(nproc)
./build/cpp/1_Utilities/deviceQuery/deviceQuery

En la A10G de esa guía, deviceQuery reportó compute capability 8.6 y 10240 núcleos CUDA, y terminó con Result = PASS. El vectorAdd actual usa memoria unificada e imprime Unified Memory: CPU and GPU answers match. Si algún tutorial viejo te manda a buscar “Test PASSED”, esa cadena ya no existe en la muestra.

Una confusión clásica: nvidia-smi dice CUDA 13.2 y nvcc dice 13.4. No es un error. El número de nvidia-smi es la CUDA más nueva que soporta el driver, y nvcc --version es el toolkit que instalaste. En los drivers 615, el encabezado separa KMD Version (módulo de kernel) y CUDA UMD Version (driver de usuario).

Errores comunes al instalar drivers Nvidia y CUDA en Linux

“nvcc: command not found”

Instalaste el toolkit y el compilador no aparece. No es que falte nada: el paquete no modifica tu PATH. Agregá los export de la sección anterior. Si en cambio falla al cargar librerías compartidas, el problema es LD_LIBRARY_PATH. Ampliamos el tema en alternativas a CUDA como TileLang de Huawei.

“NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver”

Instalás el driver, reiniciás contento, abrís la terminal, corrés nvidia-smi y te dice que no se pudo comunicar, porque el kernel se actualizó solo, el módulo DKMS no se recompiló o Secure Boot bloqueó un módulo sin firmar. Esa lista de causas viene de práctica general, no de la documentación de Nvidia. Diagnosticá con mokutil --sb-state, sudo dmesg | grep -i nvidia y dkms status. Si faltan los headers, instalá linux-headers-$(uname -r), recompilá con sudo dkms autoinstall y reiniciá. Con Secure Boot activo y sin MOK enrolada, el comando de mokutil --import que vimos arriba es el camino.

nvidia-smi: command not found en un servidor sin pantalla

Es el caso de --gpgpu que vimos: el módulo carga pero faltan las utilidades. Instalá nvidia-utils- con la rama que corresponda.

Pantalla negra o bucle de login después de instalar

Pasa con módulos que no cargaron o con una mezcla de paquetes de dos orígenes. Las fuentes no tratan este caso, así que va como práctica habitual: abrí una TTY con Ctrl+Alt+F3, purgá los paquetes de Nvidia y reinstalá un solo stack. Tener esa TTY a mano antes de empezar es el mejor seguro.

¿Cómo desinstalar CUDA y los drivers de Nvidia sin romper Linux?

Para sacar los drivers en Ubuntu: sudo apt purge 'nvidia-*' 'libnvidia-*', después sudo apt autoremove y reiniciá para que cargue nouveau otra vez, según LinuxConfig. Para CUDA, removés el paquete con sudo apt remove 'cuda-*'.

  • Quitá primero lo que instalaste primero: antes de cambiar de método (por ejemplo, de repo de Nvidia a repo de Ubuntu), eliminá la instalación previa completa.
  • Ojo con el comodín: 'nvidia-*' también matchea paquetes como nvidia-container-toolkit. Es una inferencia mía sobre el patrón, así que revisá la lista que muestra apt antes de confirmar.
  • Trabá la versión para evitar sorpresas: la Driver Installation Guide trata las actualizaciones y cómo alinear versiones con CUDA y el sistema operativo. Como práctica general, apt-mark hold sobre el paquete del driver evita upgrades inesperados.
  • Dejá una salida: una TTY o el modo recuperación a mano, porque sin driver el entorno gráfico puede no levantar.

Y si tu proyecto con GPU necesita además hosting o dominio para la parte web, en donweb.com podés resolver eso por separado; la placa y sus drivers viven en tu máquina o en el servidor donde la tengas.

Preguntas Frecuentes

¿Cómo instalo los drivers de Nvidia en Ubuntu?

Corré ubuntu-drivers devices para ver las opciones, sudo ubuntu-drivers install para instalar la recomendada y reiniciá. Después verificá con nvidia-smi. En Ubuntu 26.04, LinuxConfig reportó nvidia-driver-595-open como la recomendada para una RTX 3080.

¿Se instala CUDA junto con el driver de Nvidia o por separado?

Por separado. El driver (nvidia-open o el de Ubuntu) controla la placa, y el toolkit (cuda-toolkit) trae nvcc, librerías y headers. Con el repo de Nvidia, el meta paquete cuda-toolkit respeta el driver que ya tengas.

¿Por qué nvidia-smi dice que no se pudo comunicar con el driver?

Porque el módulo del kernel no está cargado. Las causas habituales son un reinicio pendiente, un kernel nuevo sin módulo DKMS recompilado o Secure Boot bloqueando un módulo sin firmar. Revisá dkms status, mokutil --sb-state y dmesg.

¿Qué hago con Secure Boot al instalar drivers de Nvidia en Linux?

Con los paquetes de Ubuntu no hay nada que hacer, porque los módulos vienen firmados. Con el repo de Nvidia, DKMS firma el módulo con la clave de /var/lib/shim-signed/mok/MOK.der y tenés que elegir Enroll MOK en la pantalla azul del primer reinicio, con la contraseña que pidió apt.

¿Cómo desinstalo CUDA y los drivers de Nvidia sin romper el sistema?

Sacá primero CUDA con sudo apt remove 'cuda-*' y luego los drivers con sudo apt purge 'nvidia-*' 'libnvidia-*', seguido de apt autoremove y un reinicio. Antes, asegurate de tener acceso a una TTY por si el entorno gráfico no arranca.

Conclusión

Instalar drivers Nvidia Linux sin romper nada se reduce a tres decisiones: elegir un solo origen de paquetes (Ubuntu o repo de Nvidia), saber qué hacer con Secure Boot antes de reiniciar y tratar el toolkit CUDA como una pieza aparte. Si tenés una Turing o más nueva en Ubuntu y no necesitás lo último, ubuntu-drivers install es el camino con menos fricción. Si necesitás el driver 615 y CUDA 13.4, el repo de Nvidia funciona, con DKMS y MOK de por medio.

Mi sugerencia: sacá el snapshot, anotá cuál de los dos orígenes elegiste y verificá con deviceQuery en vez de conformarte con nvidia-smi. Para distros que no sean Ubuntu, la Driver Installation Guide de Nvidia es el lugar donde mirar. Una salvedad: los números de esta guía son de pruebas ajenas hechas en septiembre y marzo de 2026, no mediciones propias, así que si tu hardware es distinto, esperá diferencias.

Fuentes

Te puede interesar...