Instalar drivers de Nvidia en Ubuntu

Author
Por Darío Rivera
Publicado el en Ubuntu

Verifica si tienes el driver de video cargado en el kernel. Para esto, suponiendo que tienes una tarjeta Nvida verifica si tienes esta carpeta asi

ls /lib/modules/6.2.14-060214-generic/kernel/drivers/video/

Si no debes agregar el repo de Nvida. Actualmente Nvidia soporta hasta la version Ubuntu 22.04 ya que es la version actual LTS. Si al momento de ver este video la version LTS es diferente debes cambiar este valor en la variable UBUNTU_VERSION del siguiente script.

export UBUNTU_VERSION=ubuntu2204
export BASE_URL=https://developer.download.nvidia.com/compute/cuda/repos
wget $BASE_URL/$UBUNTU_VERSION/x86_64/cuda-keyring_1.0-1_all.deb

Con esto, ya tendremos el paquete para agregar la clave pública GPG del repositorio de CUDA. Para instalar este paquete usaremos dpkg.

dpkg -i cuda-keyring_1.0-1_all.deb

Actualizamos la lista de paquetes

apt-get update

Una vez hecho esto podemos instalar los drivers necesarios.

apt-get -y install cuda-drivers
sudo grub-mkconfig -o /boot/grub/grub.cfg
update-grub

https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html#ubuntu-lts

Agregamos las librerias de terceros recomendadas por Nvidia.

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev \
    libxmu-dev libxi-dev libglu1-mesa-dev libfreeimage-dev libglfw3-dev

Metodo estandar

sudo ubuntu-drivers install
apt install ubuntu-desktop
update-initramfs -u -k all
sudo grub-mkconfig -o /boot/grub/grub.cfg
update-grub

Kernels recientes

Debes tener precaucion cuando instalas un kernel reciente de Linux, lo cual puede realizarse de manera manual o con alguna actualizacion del sistema no LTS, ya que puede que el driver no este disponible para esa version reciente del kernel.

Antes de verificar si existe una version del driver de Nvidia para tu version de kernel debes averiguar cual version del kernel estas usando. Para esto puedes usar rapidamente el siguiente comando.

root@ubuntu:/# uname -r
6.2.0-20-generic

Debes tener cuidado si estas desde un Live USB ya que dicho comando puede mostrar la version del kernel del live USB aun si estas con chroot. Para asegurarte puedes ver la version linkeada al kernel asi.

root@ubuntu:/# ls -gG /boot/initrd.img
lrwxrwxrwx 1 32 May 10 20:31 /boot/initrd.img -> initrd.img-6.2.14-060214-generic

En este caso como puedes darte cuenta la version que se esta usando del kernel es la ultima al dia de hoy la cual es la v6.2.14. Sin embargo el comando uname -r muestra la version de mi live USB ya que estoy con chroot.

Una vez hecho esto ya podemos verificar si existe una version de los drivers de Nvdia para la version especifica que estamos usando. Puedes listar las versiones disponibles con el siguiente comando:

apt search nvidia | grep "nvidia-driver"

Si no encuentras un driver para tu version del kernel significa que no hay soporte de Nvidia para esa version del kernel. Lo cual, puede causar errores al arrancar el sistema. Lo mas recomendable en este caso es que no utilices el driver de Nvdia o que uses la ultima version del kernel a la que Nvida esta dando soporte. En mi caso es la v5.30. A continuacion de te dejo parte de la salida del comando anterior.

nvidia-driver-515/unknown 515.105.01-0ubuntu1 amd64
nvidia-driver-515-open/lunar 515.105.01-0ubuntu1 amd64
nvidia-driver-515-server/lunar 515.105.01-0ubuntu1 amd64
nvidia-driver-520/unknown 520.61.05-0ubuntu1 amd64
nvidia-driver-520-open/lunar 525.105.17-0ubuntu1 amd64
nvidia-driver-525/unknown 525.105.17-0ubuntu1 amd64
nvidia-driver-525-open/lunar 525.105.17-0ubuntu1 amd64
nvidia-driver-525-server/lunar 525.105.17-0ubuntu1 amd64
nvidia-driver-530/unknown,now 530.30.02-0ubuntu1 amd64

Sin embargo para esa version del driver necesitaria una version del kernel que no esta disponible en los repositorios.

root@ubuntu:/# apt search linux-image-5
...
linux-image-5.15.0-60-generic/now 5.15.0-60.66 amd64
  (none)
...

linux-image-5.19.0-40-generic/now 5.19.0-40.41 amd64
  Signed kernel image generic

Descargar una version del kernel que no esta en los repos no es la gran cosa, sin embargo no quiero agregar mas complejidad de la que requiere este articulo asi que ire por la v5.15.0 ya que tengo el driver y la imagen de linux en los repositorios disponibles.

Una vez identificada la version que quieres instalar puedes ejecutar el siguiente comando el cual instalara el kernel (si no lo tienes instalado ya) y el driver adecuado.

apt install linux-image-5.15.0-60-generic nvidia-driver-515

Debes tener en cuenta que si este cambio implica instalar una version antigua del kernel a la recomendada para tu sistema operativo tal vez sea mejor intentar otro metodo.


Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.