Probleme mit dem Nvidia-Grafiktreiber und CUDA nach dem apt-get-Upgrade

9

Ich habe zuvor CUDA 7.5 unter Ubuntu 14.04 mit der Installation "deb (network)" von Nvidia installiert. Es hat ein paar Monate funktioniert, bis ich sudo apt-get upgradeheute lief . Danach stieß ich auf Folgendes

$ nvidia-smi
modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

Laufen sudo nvidia-smiist nicht anders. Ich kann mich nicht im GUI-Modus anmelden (es kehrt nur zum Anmeldebildschirm zurück, nachdem ich mein Passwort eingegeben habe), aber ich kann auf das Terminal zugreifen.

Ich konnte die grafische Funktionalität wiederherstellen, habe jedoch Schwierigkeiten, CUDA danach erneut zu installieren. Kannst du mir bitte helfen?

Grafiken wiederherstellen

Ich habe festgestellt, dass ich die Grafiken dadurch wieder zum Laufen bringen kann

$ sudo apt-get remove --purge nvidia*
$ sudo apt-get autoremove

und dann bearbeiten /etc/apt/sources.list.d/cuda.list, um alle Zeilen zu entfernen, dann tun

$ sudo apt-get install nvidia-352

und Neustart des Systems. Danach nvidia-smifunktioniert es wieder. Ich muss CUDA jedoch noch neu installieren.

Versuch, CUDA neu zu installieren

Ich habe versucht, den Inhalt von wiederherzustellen /etc/apt/sources.list.d/cuda.listund dann zu tun sudo apt-get install cuda. Ich habe diese Fehlermeldung bemerkt:

Loading new nvidia-352-352.93 DKMS files...
Building only for 3.13.0-68-generic
Building for architecture x86_64
Building initial module for 3.13.0-68-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-352.0.crash'
Error! Bad return status for module build on kernel: 3.13.0-68-generic (x86_64)

Danach kehrt das System zu Beginn zu seinem Verhalten zurück. Druckt beispielsweise nvidia-smidie obige Fehlermeldung aus, und nach dem Erstellen und Ausführen wird deviceQueryein ähnlicher Fehler angezeigt:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL

Ich erinnere mich anscheinend, dass es bei der ersten Installation von CUDA nur funktionieren würde, wenn ich es tun würde, ohne das nvidia-352Paket aus den Nvidia-Repositorys zu aktualisieren . Jetzt habe ich jedoch anscheinend nicht die Möglichkeit, dies zu tun, da sudo apt-get install cudadas nvidia-352Paket beim Ausführen automatisch aktualisiert wird :

Unpacking nvidia-352 (352.93-0ubuntu1) over (352.63-0ubuntu0.14.04.1) ...

Wenn ich versuche, die Versionen explizit einzustellen, bekomme ich

$ sudo apt-get install cuda-drivers nvidia-352=352.63-0ubuntu0.14.04.1 nvidia-352-dev=352.63-0ubuntu0.14.04.1
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 cuda-drivers : Depends: nvidia-352 (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
                Depends: nvidia-352-dev (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.

In der Tat, wenn ich versuche, die Version zu verwenden, 352.63-0ubuntu1anstatt dies zu 352.63-0ubuntu0.14.04.1tun

$ sudo apt-get install nvidia-352=352.63-0ubuntu1

Dies reicht dann aus, um die grafische Anmeldung nvidia-smizu unterbrechen und die obige Fehlermeldung anzuzeigen.

Diagnose

$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)

$ dpkg -l | grep -i nvidia
ii  bbswitch-dkms                                         0.7-2ubuntu1                                        amd64        Interface for toggling the power on nVidia Optimus video cards
ii  libcuda1-352                                          352.93-0ubuntu1                                     amd64        NVIDIA CUDA runtime library
ii  nvidia-352                                            352.93-0ubuntu1                                     amd64        NVIDIA binary driver - version 352.93
ii  nvidia-352-dev                                        352.93-0ubuntu1                                     amd64        NVIDIA binary Xorg driver development files
ii  nvidia-352-uvm                                        352.93-0ubuntu1                                     amd64        Transitional package for nvidia-352
ii  nvidia-modprobe                                       352.93-0ubuntu1                                     amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-352                                 352.93-0ubuntu1                                     amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                          0.6.2                                               amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                       352.93-0ubuntu1                                     amd64        Tool for configuring the NVIDIA graphics driver
pterojacktyl
quelle

Antworten:

6

Ich hatte ein ähnliches Problem. Konnte dies durch die Installation der empfohlenen Version des NVIDIA-Treibers lösen.

sudo apt-get install ubuntu-drivers-common

sudo ubuntu-drivers devices

sudo apt-get install <recommended version>
Prateek Dorwal
quelle
3
Ich musste den Befehl "sudo modprobe nvidia" nach den obigen Befehlen ausgeben, dann funktionierte alles
MARK
@MARK Ich erhalte eine Fehlermeldung von modprobe: FEHLER: 'nvidia_396' konnte nicht eingefügt werden: Erforderlicher Schlüssel nicht verfügbar. Irgendwelche Tipps?
Aerin
4

Ein Freund konnte es für mich lösen!

Die Lösung, die er mir zeigte, war (nachdem er alle nvidia-Pakete wie zuvor entfernt hatte)

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get install nvidia-364

Laden Sie dann das .run CUDA-Installationsprogramm (für mich war es cuda_7.5.18_linux.run) von Nvidia herunter und wählen Sie "Nein", wenn Sie gefragt werden, ob Sie den mit CUDA gepackten Treiber installieren möchten.

pterojacktyl
quelle