So aktivieren Sie den nVidia CUDA-Treiber, nachdem apt alles vermasselt hat

So aktivieren Sie den nVidia CUDA-Treiber, nachdem apt alles vermasselt hat

Ich habe CUDA mithilfe des Downloads von nVidia installiert. Dabei wurde eine bestimmte Version des nVidia-Treibers installiert. Alles funktionierte einwandfrei.

Dann habe ich dummerweise der Aufforderung von Ubuntu zugestimmt, die Software zu aktualisieren (ich verwende 15.04). Ich glaube, es gab einen neuen Kernel oder so etwas. Jedenfalls habe ich neu gestartet und jetzt funktioniert nur noch die integrierte Intel-Grafik, obwohl nVidia im Programm „Zusätzliche Treiber“ ausgewählt ist.

Hat jemand eine Idee, wie man das beheben oder debuggen kann? (Ich habe Linux mehrere Jahre nicht verwendet, daher bin ich ein bisschen eingerostet, was Xorg-Konfigurationen usw. angeht. Außerdem ist es enttäuschend und nicht überraschend, dass die Dinge immer noch so schlecht funktionieren.)

Antwort1

Ich habe einige Fortschritte gemacht. Im Wesentlichen habe ich mir die Abhängigkeiten des cudaPakets in Synaptic angesehen und festgestellt, dass es davon abhängt, nvidia-352welches Paket den eigentlichen Treiber enthalten könnte. Also habe ich den folgenden benutzerfreundlichen, einfachen Befehl ausgeführt:

sudo apt-get install --reinstall nvidia-352

Dies führt zu folgendem benutzerfreundlichen Fehler:

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.

Beim Konsultieren dieser Datei sehen Sie gegen Ende diese für Anfänger leicht verständliche Meldung:

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

Was also passiert ist, ist, dass CUDA tatsächlich nur GCC 4.9 unterstützt und der Kernel anscheinend mit GCC 5.2 erstellt wurde. Ich habe beide installiert, also habe ich die Pfade mit diesen für Windows beschämend einfach zu verwendenden Befehlen auf 5.2 zurückgesetzt:

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

Versuchen Sie die Neuinstallation erneut. Diesmal hat es funktioniert. Dann habe ich meine Compiler auf 4.9 zurückgesetzt. Ich werde neu starten, um zu sehen, ob es funktioniert.

Bearbeiten: Ja, das funktioniert.

verwandte Informationen