Como habilitar o driver nVidia CUDA depois que o apt estragou tudo

Como habilitar o driver nVidia CUDA depois que o apt estragou tudo

Instalei o CUDA usando o download da nVidia. Ele instalou uma versão específica do driver nVidia. Tudo estava funcionando bem.

Então concordei tolamente com o pedido do Ubuntu para atualizar seu software (estou executando o 15.04). Acho que houve um novo kernel ou algo assim. De qualquer forma, reiniciei e agora apenas os gráficos Intel integrados funcionam, apesar da nVidia estar selecionada no programa "Drivers Adicionais".

Alguém tem alguma ideia de como consertar isso ou depurar? (Eu não uso o Linux há vários anos, então estou um pouco enferrujado nas configurações do Xorg e assim por diante. Também é decepcionante e não surpreendente que as coisas ainda funcionem tão mal.)

Responder1

Fiz alguns progressos. Basicamente, olhei para as dependências do cudapacote no Synaptic e descobri que dependia de nvidia-352qual parecia ter o driver real. Então eu fiz o seguinte comando fácil e amigável:

sudo apt-get install --reinstall nvidia-352

Isso gera o seguinte erro amigável:

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.

Consultando esse arquivo e perto do final você vê esta mensagem fácil de entender para iniciantes:

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! ***

Então o que aconteceu é que o CUDA na verdade suporta apenas o GCC 4.9 e, aparentemente, o kernel foi construído com o GCC 5.2. Eu instalei os dois, então redefini os caminhos para 5.2 usando estes comandos vergonhosamente fáceis de usar do Windows:

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

Tente novamente a reinstalação. Desta vez funcionou. Então eu redefini meus compiladores para 4.9. Vou reiniciar para ver se funciona.

Editar: Sim, isso funciona.

informação relacionada