Como ativar o driver nVidia CUDA após o apt estragar tudo

0

Eu instalei o CUDA usando o download da nVidia. Instalou uma versão específica do driver da nVidia. Tudo estava funcionando bem.

Então eu estupidamente aceitei o pedido do Ubuntu para atualizar seu software (estou executando o 15.04). Eu acho que havia um novo kernel ou algo assim. De qualquer forma, eu reiniciei e agora apenas os gráficos integrados da Intel funcionam, apesar da nVidia ter sido selecionada no programa "Drivers Adicionais".

Alguém tem alguma idéia de como corrigir isso ou depurá-lo? (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.)

    
por Timmmm 05.04.2016 / 22:40

1 resposta

0

Eu fiz algum progresso. Basicamente eu olhei para as dependências do pacote cuda no Synaptic e descobri que dependia de nvidia-352 que soava como se tivesse o driver real. Então eu fiz o seguinte comando fácil de usar:

sudo apt-get install --reinstall nvidia-352

Isso apresenta 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 fim, você vê essa mensagem fácil de entender por 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! ***

Então, o que aconteceu é que o CUDA atualmente suporta apenas o GCC 4.9 e, aparentemente, o kernel foi construído com o GCC 5.2. Eu tenho ambos instalados, então eu redefinir os caminhos para o 5.2 usando esses comandos de fácil utilização do Windows-humilhante:

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

Repita a reinstalação. Desta vez funcionou. Então eu redefino meus compiladores de volta para 4.9. Vai reiniciar para ver se funciona.

Edit: Sim, isso funciona.

    
por Timmmm 05.04.2016 / 22:54