Le pilote NVIDIA émet Ubuntu 16.04


8

J'essaie d'installer les derniers pilotes Nvidia. Après l'installation, nvidia-smivous ne pouvez pas le trouver.

La carte graphique est une GeForce 860m, ​​et mon ordinateur portable est sous Ubuntu 16.04.1 LTS.

Ce que j'ai fait jusqu'à présent:

$ sudo apt-get purge nvidia-*
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-367
$ reboot
$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

Comment puis-je le faire fonctionner?

EDIT: j'ai réalisé $ sudo apt-get install nvidia-367retourné l'erreur:

Error! Bad return status for module build kernel: 4.4.0-36-generic (x86_64)
Consult /var/lib/dkms/nvidia-367/367.44/build/make.log for more information.

Bien que le pilote fonctionne réellement.

make.log contient des lignes comme celle-ci:

Makefile:676: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler

et ça:

cc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:258: recipe for target '/var/lib/dkms/nvidia-367/367.44/build/nvidia/nv-instance.o' failed
make[2]: *** [/var/lib/dkms/nvidia-367/367.44/build/nvidia/nv-instance.o] Error 1
Makefile:1403: recipe for target '_module_/var/lib/dkms/nvidia-367/367.44/build' failed
make[1]: *** [_module_/var/lib/dkms/nvidia-367/367.44/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-36-generic'
Makefile:81: recipe for target 'modules' failed
make: *** [modules] Error 2

Réponses:


5

gcc-4.8 n'a pas supporté -fstack-protector-strong

J'ai installé à la gcc-4.9place, purgé et réinstallé le pilote, et maintenant ça fonctionne bien.

$ nvidia-smi
Tue Sep 13 17:31:24 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.44                 Driver Version: 367.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 860M    Off  | 0000:01:00.0     Off |                  N/A |
| N/A   54C    P0    N/A /  N/A |      0MiB /  4043MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Ironic est que j'ai utilisé gcc-4.8parce que IIRC une version précédente de CUDA n'était pas compatible avec les versions 4.9 ou ultérieures.


Merci, cela a fonctionné! J'ai dû utiliser sudo update-alternatives --config gcc pour passer de 4.8 à 4.9, car j'utilisais auparavant les deux versions de gcc pour certains projets de programmation et j'ai oublié de revenir en arrière.
t2k32316
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.