Problemi con il driver grafico Nvidia e CUDA dopo l'aggiornamento apt-get


9

In precedenza avevo installato CUDA 7.5 su Ubuntu 14.04 usando l'installazione "deb (rete)" di Nvidia. Ha funzionato per alcuni mesi, fino a quando ho corso sudo apt-get upgradeoggi. Dopo aver fatto questo, ho riscontrato quanto segue

$ 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.

Correre sudo nvidia-sminon è diverso. Non riesco ad accedere in modalità GUI (ritorna alla schermata di accesso dopo aver inserito la mia password), ma posso accedere al terminale.

Sono stato in grado di ripristinare la funzionalità grafica, tuttavia dopo questo ho difficoltà a reinstallare CUDA. Potete per favore aiutarmi?

Ripristino della grafica

Ho scoperto che riesco a far funzionare di nuovo la grafica facendo

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

e poi modificando /etc/apt/sources.list.d/cuda.listper rimuovere tutte le righe, quindi facendo

$ sudo apt-get install nvidia-352

e riavviare il sistema. Dopo questo, nvidia-smifunziona di nuovo. Tuttavia, devo ancora reinstallare CUDA.

Prova di reinstallare CUDA

Ho provato a ripristinare il contenuto /etc/apt/sources.list.d/cuda.liste poi a farlo sudo apt-get install cuda. Ho notato questo messaggio di errore:

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)

Dopo aver fatto ciò, il sistema torna al suo comportamento all'inizio. Ad esempio, nvidia-smistampa il messaggio di errore sopra riportato e dopo la creazione e l'esecuzione deviceQueryottengo un errore simile:

./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

Mi sembra di ricordare che quando ho installato CUDA per la prima volta, avrebbe funzionato solo se l'avessi fatto senza aggiornare il nvidia-352pacchetto dai repository Nvidia. Tuttavia, ora non ho la possibilità di farlo, perché quando sudo apt-get install cudalo eseguo aggiorna automaticamente il nvidia-352pacchetto:

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

Se provo a impostare esplicitamente le versioni, ottengo

$ 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 effetti, se provo ad usare la versione 352.63-0ubuntu1invece di 352.63-0ubuntu0.14.04.1farlo

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

quindi questo è sufficiente per interrompere il login grafico e causare la nvidia-smivisualizzazione del messaggio di errore sopra.

Diagnostica

$ 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

Risposte:


6

Ho avuto un problema simile. È stato in grado di risolverlo installando la versione consigliata del driver nvidia.

sudo apt-get install ubuntu-drivers-common

sudo ubuntu-drivers devices

sudo apt-get install <recommended version>

3
Ho dovuto emettere il comando "sudo modprobe nvidia" dopo i comandi sopra quindi tutto funzionava
MARK

@MARK Ricevo l'errore di modprobe: ERRORE: impossibile inserire 'nvidia_396': chiave richiesta non disponibile. Qualche consiglio?
Aerin,

4

Un amico è stato in grado di risolverlo per me!

La soluzione che mi ha mostrato è stata (dopo aver rimosso tutti i pacchetti nvidia come prima)

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

quindi scaricare il programma di installazione CUDA .run (per me era cuda_7.5.18_linux.run) da Nvidia e fare attenzione a scegliere "no" quando viene chiesto se si desidera installare il driver fornito con CUDA.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.