Cómo habilitar el controlador nVidia CUDA después de que apt arruinara todo

Cómo habilitar el controlador nVidia CUDA después de que apt arruinara todo

Instalé CUDA usando la descarga de nVidia. Instaló una versión específica del controlador nVidia. Todo estaba funcionando bien.

Luego acepté tontamente la solicitud de Ubuntu de actualizar su software (estoy ejecutando 15.04). Creo que había un nuevo kernel o algo así. De todos modos, reinicié y ahora solo funcionan los gráficos Intel integrados, a pesar de que nVidia fue seleccionada en el programa "Controladores adicionales".

¿Alguien tiene alguna idea de cómo solucionar este problema o depurarlo? (No he usado Linux durante varios años, así que estoy un poco oxidado con las configuraciones de Xorg y demás. Además, es decepcionante y no sorprende que las cosas sigan funcionando tan mal).

Respuesta1

Hice algunos progresos. Básicamente, miré las dependencias del cudapaquete en Synaptic y descubrí que dependía de nvidia-352cuál parecía tener el controlador real. Entonces hice el siguiente comando fácil de usar:

sudo apt-get install --reinstall nvidia-352

Esto produce el siguiente error fácil de usar:

ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-352.0.crash'
Error! Bad return status for module build on kernel: 4.2.0-35-generic (x86_64)
Consult /var/lib/dkms/nvidia-352/352.79/build/make.log for more information.

Al consultar ese archivo, cerca del final verá este mensaje fácil de entender para principiantes:

Compiler version check failed:

The major and minor number of the compiler used to
compile the kernel:

gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) 

does not match the compiler used here:

cc (Ubuntu 4.9.3-5ubuntu1) 4.9.3
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


It is recommended to set the CC environment variable
to the compiler that was used to compile the kernel.

The compiler version check can be disabled by setting
the IGNORE_CC_MISMATCH environment variable to "1".
However, mixing compiler versions between the kernel
and kernel modules can result in subtle bugs that are
difficult to diagnose.

*** Failed CC version check. Bailing out! ***

Entonces, lo que sucedió es que CUDA en realidad solo admite GCC 4.9 y aparentemente el kernel fue construido con GCC 5.2. He instalado ambos, así que restablezco las rutas a 5.2 usando estos comandos vergonzosamente fáciles de usar de Windows:

sudo update-alternatives --config gcc # And choose gcc-5
sudo update-alternatives --config g++ # And choose g++-5

Vuelva a intentar la reinstalación. Esta vez funcionó. Luego restablecí mis compiladores a 4.9. Voy a reiniciar para ver que funciona.

Editar: Sí, eso funciona.

información relacionada