- La mayoría de drivers vienen integrados en el kernel, pero para GPUs NVIDIA y hardware concreto compensa instalar controladores propietarios.
- En Ubuntu, ubuntu-drivers, apt y el PPA oficial de GPU simplifican la instalación y actualización de los drivers NVIDIA.
- Debian, Fedora y Arch ofrecen drivers propietarios desde sus repos oficiales o externos, con herramientas específicas para cada ecosistema.
- Conocer comandos como lspci, dmesg o modprobe ayuda a diagnosticar y solucionar problemas de detección, firmware y módulos cargados.
Si usas Linux para jugar, editar vídeo, trabajar con IA o simplemente quieres que tu equipo vaya fino, tarde o temprano vas a tener que pelearte con los drivers propietarios de la GPU, sobre todo si tu tarjeta es NVIDIA. Aunque cada vez es más fácil, sigue habiendo detalles importantes que conviene conocer para evitar pantallas negras, cuelgues o pérdida de rendimiento.
En esta guía vamos a ver con calma cómo instalar controladores propietarios de GPU en Linux (principalmente NVIDIA, pero con pinceladas para AMD y otros componentes), tanto desde herramientas gráficas como desde terminal, y en distintas distribuciones: Ubuntu y derivadas, Debian, Fedora y Arch. Además, repasaremos conceptos clave sobre drivers libres y privativos, cuándo merece la pena cambiarlos y cómo solucionar problemas típicos.
Diferencias entre drivers propietarios y de código abierto
El corazón de cualquier sistema Linux es su kernel cargado de controladores. Ahí viene ya incluido soporte para una barbaridad de dispositivos: desde hardware muy moderno hasta piezas bastante antiguas. En la mayoría de los casos no hay que hacer nada, el sistema detecta el dispositivo y aplica el driver correspondiente sin preguntar.
Sin embargo, cuando hablamos de drivers propietarios (privativos), la película cambia. Estos controladores están desarrollados y mantenidos por el propio fabricante del hardware (NVIDIA, AMD, Broadcom, etc.) y su código no es público. Eso significa que solo el proveedor puede corregir fallos, mejorar rendimiento o añadir funciones, y la comunidad no puede meter mano ni auditar qué hace exactamente el driver.
Por otro lado, existen los drivers de código abierto, muchos de ellos creados o mantenidos por la comunidad Linux, a veces con colaboración parcial del fabricante. Su principal virtud es que se integran muy bien con el sistema, se actualizan junto con el kernel y suelen ser más estables a nivel general. En la mayoría de distros se instalan solos cuando se detecta un hardware compatible.
El problema es que, en determinadas piezas de hardware (sobre todo tarjetas gráficas dedicadas), los controladores abiertos no llegan al nivel de rendimiento, compatibilidad o funciones de los propietarios. Con NVIDIA esto se nota mucho: el driver libre nouveau funciona, pero no exprime ni de lejos la GPU igual que el controlador oficial.
Qué controladores merece la pena instalar a mano
En más del 95% de los equipos, no es necesario instalar drivers manualmente porque el propio kernel ya incluye casi todo lo necesario. Pero hay ciertos componentes donde sí tiene sentido plantearse instalar el controlador propietario para sacarles todo el jugo.
El caso más claro son las tarjetas gráficas dedicadas, especialmente NVIDIA. Si usas el equipo para jugar, trabajar con gráficos 3D, edición de vídeo, renderizado o cálculos GPGPU (CUDA, IA, etc.), quedarte con el driver libre implica perder una buena parte del potencial de la GPU. Aquí el controlador privativo suele marcar una diferencia enorme.
También puede tener sentido instalar drivers específicos para la tarjeta de red, en especial Wi-Fi. Los controladores propietarios o empaquetados por el fabricante suelen mejorar la estabilidad de la conexión, reducir latencia y corregir problemas de cortes o redes que no se detectan correctamente.
Otro ejemplo habitual son las tarjetas de sonido dedicadas o de alta fidelidad. Aunque el audio básico suele funcionar, muchas funciones avanzadas (procesamiento, canales extra, perfiles especiales) solo están disponibles a través del controlador oficial del fabricante, si lo hay para Linux.
Con las impresoras y ciertos periféricos (teclados, ratones “gaming”, etc.), Linux suele tirar de drivers genéricos, que permiten usarlos “a secas”. Pero si quieres funciones avanzadas (botones especiales, atajos multimedia, iluminación RGB, perfiles de DPI), muchas veces hace falta un driver o herramienta adicional.
Instalar drivers en Linux desde interfaz gráfica
Las distribuciones modernas han simplificado muchísimo el proceso. En sistemas como Ubuntu y derivadas, prácticamente todos los drivers básicos se instalan durante la propia instalación del sistema, igual que hace Windows. Para el usuario medio, no es necesario tocar nada más.
Cuando conectas una impresora o un periférico estándar, suele ocurrir lo mismo: el sistema detecta el modelo, descarga o activa el driver adecuado y lo deja funcionando automáticamente. Frente a la filosofía de instalar software del fabricante (como en Windows), en Linux casi todo se gestiona vía repositorios.
Si quieres revisar o cambiar qué controladores privativos está usando tu equipo en Ubuntu, puedes ir al menú de aplicaciones, abrir “Software y actualizaciones” y entrar en la pestaña “Más controladores” o “Controladores adicionales”. Ahí verás, componente por componente, las opciones disponibles: driver libre, propietario recomendado, otras versiones, etc.
En este panel se listan sobre todo los drivers privativos opcionales (GPUs, Wi-Fi, algunos firmwares). Además se indica si están activos, en uso, o si el sistema está tirando del driver libre. Normalmente basta con seleccionar el controlador que te interese y pulsar en aplicar cambios para que la herramienta se encargue de todo.
Instalar drivers NVIDIA propietarios en Ubuntu con ubuntu-drivers
En sistemas Ubuntu LTS (18.04, 20.04, 22.04 y posteriores) existen tres formas muy habituales de instalar el controlador NVIDIA propietario: mediante la herramienta ubuntu-drivers, desde el sitio web de NVIDIA descargando el .run, o usando directamente apt y los paquetes nvidia-driver-XXX.
La utilidad ubuntu-drivers está pensada para detectar dispositivos que pueden usar drivers adicionales (como GPUs) y proponerte los paquetes adecuados. Para ver qué tarjetas y controladores detecta tu sistema, puedes ejecutar en la terminal:
sudo ubuntu-drivers devices
Este comando muestra, para cada GPU, una lista de drivers disponibles y el recomendado. Verás entradas tipo nvidia-driver-525, nvidia-driver-535, variantes “open” o “server”, y también el controlador libre xserver-xorg-video-nouveau. El recomendado suele marcarse claramente.
Si al lanzar ese comando te salta un error del tipo ERROR:root:aplay command not found, basta con instalar el paquete correspondiente de utilidades de sonido:
sudo apt install alsa-utils
Para obtener un listado más concreto de opciones centradas en GPUs de cómputo (por ejemplo, en servidores), puedes usar:
sudo ubuntu-drivers list --gpgpu
La manera más cómoda de que el sistema elija por ti es tirar de la función autoinstall. Con un solo comando, Ubuntu selecciona el driver recomendado para tu GPU e instala todo lo necesario:
sudo ubuntu-drivers autoinstall
Una vez termine, reinicia para que el kernel cargue los módulos correctos:
sudo shutdown -r now
Después del reinicio, puedes comprobar que el controlador está cargado y funcionando usando la herramienta de línea de comandos de NVIDIA:
nvidia-smi
Si prefieres elegir una versión concreta (por ejemplo, porque un programa certificado requiere una rama específica), puedes lanzar algo del estilo:
sudo ubuntu-drivers install nvidia:535
De nuevo, tras la instalación conviene reiniciar el sistema:
sudo shutdown -r now
Instalar drivers NVIDIA en Ubuntu desde el sitio web oficial
Algunas personas prefieren instalar el driver propietario de NVIDIA directamente desde su web oficial, sobre todo si quieren una versión muy concreta o necesitan ir por delante de lo que ofrecen los repositorios de la distro. Este método es más delicado, pero también más flexible.
Desde tu máquina local, entra en la sección de descargas de la página de NVIDIA, selecciona tu modelo de GPU y tu sistema operativo Linux en los desplegables y pulsa en “Buscar” para ver la versión disponible. A continuación, descarga el archivo ejecutable para Linux, que suele tener un nombre tipo NVIDIA-Linux-x86_64-460.106.00.run.
Si vas a instalar el driver en un servidor o equipo remoto, tendrás que subir el archivo .run al sistema (por ejemplo, mediante scp, sftp o la herramienta de intercambio de archivos que uses habitualmente en Linux). Una vez copiado, conviene asegurarse de que el sistema tiene los paquetes básicos de compilación y librerías gráficas necesarias:
sudo apt install build-essential libglvnd-dev pkg-config
En muchos casos estos paquetes ya estarán presentes, pero si no es así, se instalarán en un momento. Después, simplemente da permisos de ejecución al archivo (si hace falta) y ejecútalo con bash:
sudo bash NVIDIA-Linux-x86_64-460.106.00.run
El instalador interactivo te guiará por varias preguntas (aceptar licencia, opciones de instalación, manejo de nouveau, etc.). Al terminar, deberías reiniciar el sistema para que se cargue el nuevo módulo del kernel:
sudo shutdown -r now
Si todo ha ido bien, el driver oficial de NVIDIA quedará instalado y activo, y de nuevo puedes validar con nvidia-smi que la GPU aparece y el driver está en uso.
Instalar drivers NVIDIA con apt en Ubuntu
Otra vía bastante limpia en Ubuntu y derivadas es instalar el driver NVIDIA directamente vía apt, recurriendo a los paquetes de los repositorios oficiales. Antes de nada, conviene saber qué rama de controlador es adecuada para tu GPU, algo que puedes averiguar con:
sudo ubuntu-drivers devices
Este comando te mostrará distintas ramas de driver (por ejemplo nvidia-driver-525, nvidia-driver-535, versiones “open”, “server”, etc.), y cuál se recomienda para tu tarjeta. Cada una corresponde a una línea de desarrollo con un conjunto diferente de características y soporte.
Es importante asegurarse de que los módulos del kernel correspondientes a esa rama están instalados. Por ejemplo, si vas a usar la rama 535 en un kernel genérico, podrías hacer:
sudo apt install linux-modules-nvidia-535-generic
Una vez tengas los módulos, puedes instalar el propio paquete del driver:
sudo apt install nvidia-driver-535
Cuando finalice el proceso, reinicia el equipo para que se cargue el módulo nvidia en lugar de nouveau:
sudo shutdown -r now
Para confirmar que el kernel está utilizando los módulos correctos, puedes listar los que están cargados y filtrar por nvidia:
sudo lsmod | grep nvidia
Si ves entradas como nvidia, nvidia_drm, nvidia_modeset o nvidia_uvm, todo apunta a que el driver propietario está activo. De nuevo, nvidia-smi es tu amigo para verificar el estado de la GPU y los procesos que la usan.
Instalar drivers NVIDIA usando el PPA Proprietary GPU Drivers
Dependiendo del modelo de tu tarjeta NVIDIA y de la versión de Ubuntu, puede que los repositorios estándar no ofrezcan la última versión del driver. Para eso existe un PPA oficial de Ubuntu llamado “Proprietary GPU Drivers”, donde suelen publicar las versiones más recientes compatibles.
La idea es sencilla: añades el PPA y dejas que el propio sistema se ocupe de resolver dependencias, actualizar paquetes y ofrecerte el driver adecuado a través de la herramienta de controladores adicionales. Primero añadimos el PPA y actualizamos los índices de paquetes:
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
Con eso hecho, puedes ir a “Configuración del sistema > Software y actualizaciones > Controladores adicionales” y verás listadas versiones más modernas de los drivers NVIDIA para tu GPU. Por ejemplo, si tienes una Geforce 840M, puedes comprobar en la web de NVIDIA cuál es el último driver compatible (pongamos que es el 375.20) y seleccionarlo en esta ventana.
Marca la versión que te interese, pulsa en “Aplicar cambios” y espera a que el sistema descargue e instale el driver y sus dependencias. No suele tardar mucho, pero es buena idea no tocar demasiado mientras tanto. Cuando termine, reinicia para que los cambios se apliquen.
Si prefieres, también puedes usar simplemente los drivers del repositorio estándar, que en ocasiones van una o dos versiones por debajo pero siguen siendo totalmente funcionales. Y si ya tenías instalado un driver NVIDIA desde la utilidad de Ubuntu, al agregar este PPA y actualizar, normalmente el driver se actualiza a la versión más nueva disponible en el PPA.
Instalar drivers NVIDIA en Debian 13 (Trixie)
En Debian la cosa ha sido tradicionalmente algo más delicada debido a su apuesta fuerte por el software libre, pero en Debian 13 el proceso para instalar los controladores propietarios NVIDIA desde los repos oficiales se ha simplificado bastante.
Lo primero es identificar la GPU instalada. Puedes usar comandos como lspci para listar los dispositivos PCI y localizar la línea correspondiente a la tarjeta gráfica. Una vez la tengas controlada, también es útil ver qué driver está usando el sistema por defecto; en la mayoría de casos será el driver libre nouveau.
Para poder instalar el controlador propietario, hay que asegurarse de que en el fichero /etc/apt/sources.list estén habilitadas las secciones contrib y non-free (o non-free-firmware, según versión). Edita el archivo con tu editor preferido e incluye esos componentes en las líneas de tus repositorios.
Tras modificar los repositorios, actualiza los índices de paquetes con:
sudo apt update
Debian proporciona una utilidad capaz de detectar qué versión del driver NVIDIA conviene instalar. Primero instala la herramienta recomendada (en función de la documentación oficial de tu versión) y luego ejecútala para que analice el hardware y te diga qué paquete exacto necesitas.
Antes de instalar el controlador en sí, conviene tener los encabezados del kernel instalados, ya que el paquete de NVIDIA puede necesitar compilar o ajustar módulos para el kernel en uso. Normalmente bastará con algo tipo:
sudo apt install linux-headers-$(uname -r)
A continuación, instala el driver recomendado (por ejemplo un paquete nvidia-driver o similar según la rama que Debian decida). Durante la instalación, es posible que aparezca un aviso indicando que el driver nouveau está cargado y puede entrar en conflicto con el de NVIDIA.
Ese mensaje suele ser meramente informativo: al reiniciar el sistema se cargará el módulo de NVIDIA en lugar de nouveau y el conflicto se resuelve solo. Acepta el mensaje, termina el proceso de instalación y reinicia.
Cuando vuelvas a iniciar sesión, comprueba que el módulo está cargado con lsmod | grep nvidia o lanzando nvidia-smi. Si ves la información de tu GPU y la versión del driver, es que el controlador propietario está funcionando correctamente en Debian 13.
NVIDIA Optimus y problemas con HDMI/DisplayPort en portátiles
En muchos portátiles modernos con GPU NVIDIA dedicadas aparece la famosa tecnología Optimus, que combina la gráfica integrada del procesador (Intel, por ejemplo) con la GPU dedicada, conmutando entre una y otra para ahorrar energía o ganar rendimiento.
En Linux, esto puede dar lugar a situaciones en las que la tarjeta NVIDIA está bien instalada, pero los puertos HDMI o DisplayPort no sacan señal, porque el sistema está usando mayoritariamente la integrada para el vídeo. Para estos casos, es muy útil instalar herramientas específicas de gestión de Optimus que te permitan elegir qué GPU usar.
Con estas utilidades puedes configurar el equipo para que utilice siempre la NVIDIA, solo en ciertas aplicaciones o en combinación con la integrada, dependiendo de tus necesidades. Es una pieza clave si quieres usar monitores externos a través de los puertos conectados físicamente a la GPU dedicada.
Instalar drivers con terminal: cuándo y por qué hacerlo
Aunque en equipos relativamente modernos es poco frecuente que sea imprescindible, a veces no queda más remedio que tirar de terminal para instalar o ajustar drivers, especialmente en sistemas sin entorno gráfico, servidores o cuando la interfaz gráfica se ha roto por un conflicto de controladores.
Si no tienes demasiada experiencia con Linux, es recomendable considerar la terminal como un último recurso, porque un comando mal tirado puede dejarte sin interfaz gráfica o con un sistema inestable. Aun así, conocer los básicos te puede ahorrar muchos quebraderos de cabeza.
Un primer paso suele ser utilizar lspci (no confundir con el típico error de escribir lscpi) para listar los dispositivos PCI y localizar el hardware problemático. Puedes combinarlo con | grep fabricante para filtrar resultados (por ejemplo, “NVIDIA”, “Broadcom”, “Realtek”).
Otro comando útil es dmesg, que muestra los mensajes del kernel, incluidos los relativos a la detección y carga de controladores. Filtrando con | grep nombre-del-fabricante puedes ver si el kernel ha detectado el dispositivo y si ha habido errores al cargar el driver.
Si necesitas añadir repositorios adicionales (por ejemplo, de un fabricante o de un proyecto concreto) puedes inspeccionar tu lista actual con algo como:
sudo gedit /etc/apt/sources.list
Para importar claves GPG de un repositorio externo, a veces se usa una combinación como:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
Y después añadir la línea de repositorio correspondiente a /etc/apt/sources.list.d/, por ejemplo:
sudo sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
Una vez añadidos nuevos repos, recuerda actualizar índices y paquetes con:
sudo apt update
sudo apt upgrade
A partir de ese momento, la distribución tendrá acceso a los drivers y software más recientes que se encuentren en esos repositorios, lo que puede solucionar problemas de compatibilidad con determinados dispositivos.
Instalar drivers en otras distribuciones: Fedora y Arch
No todas las distros gestionan los controladores de la misma manera. En Fedora, por ejemplo, los drivers propietarios (incluidos los de NVIDIA) se encuentran en los repositorios extra conocidos como RPM Fusion, que se dividen en “free” y “nonfree”.
Para habilitarlos, sueles ejecutar algo así:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Una vez añadidos, puedes instalar el driver NVIDIA con soporte para kernel actualizable mediante los metapaquetes adecuados, por ejemplo:
sudo dnf install akmod-nvidia
sudo dnf install xorg-x11-drv-nvidia-cuda
Si necesitas otros drivers (por ejemplo para impresoras HP), puedes usar dnf search para localizar el paquete adecuado y luego instalarlo. Un ejemplo típico sería:
sudo dnf install hplip
En Arch Linux y derivadas (como Manjaro en parte, aunque ésta tiene sus propias herramientas), se utilizan pacman y AUR para la gestión de paquetes. Para instalar el controlador propietario de NVIDIA desde los repos oficiales, podrías usar:
sudo pacman -S nvidia nvidia-utils
Si necesitas un driver más específico o no presente en los repos principales (por ejemplo, un módulo Wi-Fi Realtek concreto), puedes recurrir a AUR mediante helpers como yay. Un caso típico sería:
yay -S rtl8821ce-dkms-git
Actualizar drivers en Linux
Cuando instalas un driver a mano (por ejemplo un .run de NVIDIA o un paquete descargado fuera de los repos), a veces se incluye algún mecanismo propio de actualización, pero en muchos casos te tocará vigilar tú mismo las nuevas versiones y repetir el proceso cuando lo consideres necesario.
Si te encuentras en la web del fabricante una versión más reciente del controlador que la que tienes instalada, el procedimiento suele ser el mismo que usaste originalmente: descargar el paquete, desinstalar si procede la versión anterior y ejecutar el nuevo instalador siguiendo sus pasos.
La gran mayoría de controladores, sin embargo, forman parte del propio kernel de Linux. Eso significa que para tenerlos al día basta con instalar una versión de kernel más moderna que ya incluya esas mejoras. Cuando la distro actualiza el kernel, llegan con él nuevos drivers, correcciones y compatibilidades.
Tras instalar un kernel nuevo y arrancar con él desde el gestor de arranque, puedes estar bastante tranquilo de que tus drivers integrados están actualizados a la última versión incluida en esa rama.
Desinstalar o cambiar de versión de driver NVIDIA
Si quieres cambiar de versión del driver propietario NVIDIA o dejar de usarlo para volver a nouveau, lo más limpio es purgar los paquetes relacionados antes de instalar una versión distinta.
En sistemas basados en Debian/Ubuntu, una combinación muy habitual es:
sudo apt purge nvidia-*
sudo apt update
sudo apt autoremove
Con esto se eliminan los paquetes de NVIDIA y las dependencias que ya no son necesarias. A partir de ahí, puedes instalar la nueva versión que te interese (por ejemplo otra rama nvidia-driver-XXX) o quedarte con el controlador libre si te basta.
Solucionar problemas típicos de drivers en Linux
Durante años, Linux ha arrastrado fama de ser un dolor de cabeza a la hora de hacer funcionar ciertos componentes, especialmente en hardware algo exótico o muy nuevo. Hoy en día, con equipos modernos y distros actuales, la mayoría de esos problemas se han minimizado, pero siguen apareciendo casos complicados.
En equipos recién montados, lo habitual es que casi todos los drivers se carguen solos sin que tengas que tocar nada. Pero si quieres explotar al máximo una GPU para juegos o aplicaciones 3D, instalar el driver oficial de NVIDIA o AMD sigue siendo altamente recomendable para equiparar el rendimiento al de Windows.
Eso sí, todavía hay huecos en el soporte de Linux para ciertos periféricos “gaming” (teclados y ratones con iluminación muy específica, software propio, macros avanzadas). En muchos casos, tendrás que adaptar el uso del dispositivo usando las teclas o botones físicos para cambios de perfil, o bien editar configuraciones manualmente según lo que haya descubierto la comunidad.
En el caso de los ratones, aunque no puedas controlar todos los aspectos con el software oficial, normalmente puedes ajustar la sensibilidad desde el propio juego o entorno de escritorio, jugando con los valores de sensibilidad vertical y horizontal para dejarlo a tu gusto.
Con equipos muy antiguos (más de 15 años), la situación cambia: puede que la distro moderna funcione, pero quizá tengas que buscar una distribución ligera y, además, rebuscar drivers específicos en foros o wikis si el kernel actual ya no incluye soporte completo para cierto hardware muy viejo.
Si el sistema parece no reconocer en absoluto un dispositivo, conviene comprobar primero si al menos el kernel lo ve, con comandos como:
lsusb
lspci
dmesg | tail
Si aparece listado, pero no funciona, puede que falte el módulo. Puedes intentar cargarlo manualmente con:
sudo modprobe nombre_del_modulo
En el caso de Wi-Fi inestable o redes que aparecen y desaparecen, es buena idea revisar mensajes del kernel relativos al firmware con:
sudo dmesg | grep firmware
Si el firmware no está instalado, tendrás que localizar el paquete apropiado. Para tarjetas con chip Broadcom, por ejemplo, suele bastar con algo como:
sudo apt install bcmwl-kernel-source
Después reinicia el gestor de red con:
sudo systemctl restart NetworkManager
Con eso, la tarjeta de red debería volver a funcionar de forma estable, siempre que no haya otros problemas de hardware o de configuración de la propia red.
Dominar el manejo de drivers propietarios de GPU en Linux pasa por entender bien la diferencia entre controladores libres y privativos, conocer las herramientas propias de tu distribución (ubuntu-drivers, PPA oficiales, RPM Fusion, pacman/AUR, etc.) y no tenerle miedo a la terminal cuando toque revisar mensajes del kernel o ajustar repositorios. Una vez interiorizados estos pasos, instalar y mantener los drivers de tu gráfica, tanto en equipos de escritorio como en portátiles con Optimus, deja de ser un drama y se convierte en una tarea bastante rutinaria.