Cómo solucionar problemas con NVIDIA en openSUSE Tumbleweed

Cómo solucionar problemas con NVIDIA en openSUSE Tumbleweed
Photo by Christian Wiediger / Unsplash

Si usás Tumbleweed y una tarjeta NVIDIA, seguro te pasó: un día actualizás el kernel y el driver deja de funcionar o nvidia-smi falla con que NO hay comunicación. Esto pasa por unos motivos muy comunes en Tumbleweed.

En mi caso actualicé al kernel 6.17, curiosamente reinicié con el nuevo kernel y funcionó sin problemas, al día siguiente dejó de funcionar, tenía la salida en nvidia-smi:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.

También me doy cuenta que mágicamente mi repositorio de nvidia desapareció, en fin, toco realizar lo siguiente:

Limpiamos todo:

sudo zypper rm 'nvidia-*'
sudo zypper rm 'libnvidia*'
sudo zypper rm 'x11-video-nvidia*'

Revisamos si está el DKMS, en mi caso se esfumo y toco instalarlo de nuevo:

sudo zypper in dkms
sudo systemctl enable --now dkms

Agregamos el repositorio de NVIDIA y actualizamos:

sudo zypper ar -f https://download.nvidia.com/opensuse/tumbleweed/ NVIDIA
sudo zypper ref

Instalamos el driver

sudo zypper in nvidia-open-driver-G06-signed nvidia-open-driver-G06-signed-kmp-default

Opcional si usas también CUDA

nvidia-open-driver-G06-signed-cuda

Reiniciamos y validamos

nvidia-smi
lsmod | grep nvidia

Si aparece tu GPU, ya está funcionando con el driver propietario y aceleración completa.

Prevención

  • Mantener el repositorio NVIDIA agregado siempre.
  • Tener DKMS habilitado para que los módulos se recompilen automáticamente.
  • Evitar mezclar paquetes antiguos (nvidia-gl-G06) con los “open”.

En el último punto es muy importante, de acuerdo a la documentación oficial https://en.opensuse.org/SDB:NVIDIA_drivers

Solo es necesario ejecutar esto:

sudo zypper install-new-recommends

En mi caso mezclo los privativos con el open, por eso no recomiendo usarlo. Con esto, tu Tumbleweed debería manejar cualquier actualización de kernel sin que se rompa el driver NVIDIA.