¿Cómo actualizo mis módulos nvidia después de actualizar mi kernel?

16

Cada vez que hay una actualización del kernel, los controladores gráficos de nvidia dejan de funcionar porque no hay un módulo de kernel válido.

¿Cuál es la forma de ubuntu de 'recompilar' el módulo nvidia para el nuevo kernel?

¿No debería hacerse automáticamente? Estoy sufriendo un error?

fazineroso
fuente

Respuestas:

5

Si ha instalado el controlador NVIDIA como un paquete de ubuntu, debe actualizarse automáticamente después de cada actualización del kernel.

Puede instalar el controlador empaquetado utilizando la Additional Driversherramienta en el tablero o instalando el paquete nvidia-current.

Si ha instalado el controlador nvidia directamente desde su sitio web, probablemente sea conveniente eliminarlo antes de instalar este paquete; no estoy seguro de lo bueno que será detectar el conflicto.

Si ha instalado el paquete desde los repositorios de ubuntu, puede intentar reconfigurarlo, dpkg-reconfigurepero sospecho que la construcción del módulo nvidia se activa mediante la instalación de un nuevo núcleo, y no estoy seguro de cómo activarlo de lo contrario. La desinstalación y reinstalación tradicionales bien podrían funcionar ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current).

cronitis
fuente
Instalé el controlador nvidia a través de un paquete de Ubuntu. Pero actualizar el kernel no desencadenó la recompilación de mi módulo nvidia. Gracias por tus consejos de todos modos.
fazineroso
4

Para mí, dpkg-reconfigure reconstruye el controlador Nvidia con el kernel más reciente. Esto requiere un reinicio para que surta efecto. Mi ejemplo a continuación usa las actualizaciones nvidia-304 más antiguas.

sudo dpkg-reconfigure nvidia-304-updates

EDITAR: logré automatizar esto escribiendo un script zz-dkpg-reconfigure-nvidiaque se ejecuta después de las actualizaciones del kernel

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0

Instalé el script anterior ejecutando

sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d

Funciona en mi actualización Ubuntu 14.04 kernel 3.13.0-29 a 3.13.0-36.

usuario424174
fuente
4

Cuando haya instalado el controlador binario NVIDIA, probablemente no haya instalado el paquete dkms. Dkms se asegura de que cada vez que actualice el kernel, se vuelvan a compilar los módulos que lo admiten:

sudo apt-get install dkms

Probablemente necesitará reinstalar los controladores binarios de NVIDIA después y permitir el uso de DKMS durante la configuración, ya que debe registrarse con él.

Karel Lenc
fuente
Me encuentro con el mismo problema y me acabo de dar cuenta de que no he instalado dkmsdespués de leer esta respuesta.
yaobin
3

Si solo desea reconstruir los módulos del kernel, es posible que solo desee ejecutar

sudo apt-get install --reinstall nvidia-current

si tiene instalado nvidia-current o si tiene instalado nvidia-331, esto debería hacer el trabajo:

sudo apt-get install --reinstall nvidia-331

no es necesario agregar un repositorio o instalar un nuevo software :-)

Cerebro de acero
fuente
1

¡Tenga en cuenta que no se recomienda instalar una actualización del kernel ni controladores desde repositorios oficialmente no compatibles! ¡Siga estas instrucciones bajo su propio riesgo y solo si sabe lo que está haciendo!

Si instaló un kernel que está por delante de los repositorios oficiales actuales de Ubuntu (por ejemplo, kernel 3.4 o 3.5), es posible que no tenga éxito simplemente reinstalando los controladores de nvidia.

La única manera que encontré hasta ahora para lograr que los controladores nvidia funcionen nuevamente es agregando el siguiente ppa a sus repositorios. En un tipo de terminal:

sudo add-apt-repository ppa:xorg-edgers/ppa

Después de eso, haz un sudo apt-get updatey sudo apt-get install nvidia-current.

Eso debería hacer el truco. Si no, ejecuta un adicional sudo apt-get upgrade.

FuzzyQ
fuente