Mañana tengo un gran problema en mi computadora en mi escritorio.
Nvidia: la versión magic '3.13.0-143-genric SMP mod_unload modversions' debería ser '3.13.0.143-generic SMP mod_unload modversions retpoline'
Sé que hay problemas similares resueltos aquí (comoNo puedo iniciar sesión después de instalar el controlador Nvidia v 14.04)
Pero no sé bien cómo cambiar el comando para que funcione en mi sistema.
Tengo Ubuntu 14.04...
Intenté cargar un kernel más antiguo. Funciona bien. Verifico las herramientas de configuración de la GUI. En actualizaciones y controladores, puedo optar por actualizar mis controladores nvidia al último (384.111). Lo probé y todo sigue funcionando.
Luego volví al último kernel.
Ahora, revisé modinfo y nvidia no estaba aquí. Probé "sudo modprobe nvidia" (dkms ve que nvidia 384.111 está instalado).
Respuesta: modprobe: ERROR no se pudo insertar 'nvidia_384': error de formato ejecutivo
Revisé nvidiafb.ko en /lib/modules/.../drivers/video/nivdia y este archivo está en modo -rw-r--r--... No sé si debería estar en modo ejecutivo. ?
Estoy estancado ahora
Respuesta1
Esto se debe a que los núcleos más nuevos tienen la mitigación retpoline Spectre. Necesitará reconstruir su módulo del kernel nvidia.ko con una versión parcheada de la distribución estándar gcc.
Aquí está el error y más detalles:https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937
Respuesta2
Resolví el problema siguiendoesta publicacióndesde la plataforma de lanzamiento de errores. En resumen:
Ejecute el siguiente comando y busque la vermagic
línea:
modinfo nvidia-384 -k 4.4.0-116-generic
Probablemente dirá:
vermagic: 4.4.0-116-generic SMP mod_unload modversions
. Aquí falta la cadena de retpoline. Puede solucionar este problema eliminando y reconstruyendo el módulo con DKMS
sudo dkms remove nvidia-384/384.111 -k 4.4.0-116-generic
sudo dkms install nvidia-384/384.111 -k 4.4.0-116-generic
Después de eso, se mostrará el comando modinfo.
vermagic: 4.4.0-116-generic SMP mod_unload modversions retpoline
Si está utilizando una versión personalizada de gccesta publicacióntambién es relevante:
Si está utilizando una versión Ubuntu de gcc, entonces gcc probablemente se actualizó cuando obtuvo el kernel más nuevo. Los cambios en gcc necesarios para admitir retpoline deberían haberse respaldado en la mayoría de las versiones activas de gcc. Sin embargo, si ha instalado una versión personalizada de gcc, entonces su módulo del kernel probablemente no se compilará correctamente.
Entonces, si el procedimiento anterior no funciona, es posible que deba verificar qué versión de gcc está utilizando.