I have a new desktop machine that has an NVIDIA Quadro M2000. I use Ubuntu 16.04, and I wanted to install the right drivers for my graphic card.
I went into "Additional drivers" and the Nouveau driver was selected. I tried to select the proprietary NVIDIA driver, but it was automatically switching back to Nouveau after 5 seconds. It said for the proprietary driver that I needed nvidia-367.
This package wasn't in the available packages in Synaptic. So I downloaded cuda-repo-ubuntu1604-8-0-local.deb from here (if I'm not mistaken, it's a package that contains provides other packages but without installing them ?) :
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local.deb
Then I could do
sudo apt-get install nvidia-367
After that and a restart, I could finally select the NVIDIA driver in "Additional drivers".
When I run nvidia-smi
, I get the error :
Failed to initialize NVML: Driver/library version mismatch
Here is the output of a few commands :
$ sudo ubuntu-drivers devices
(Ubuntu drivers)
== cpu-microcode.py ==
driver : intel-microcode - distro non-free
== /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0 ==
vendor : NVIDIA Corporation
modalias : pci:v000010DEd00001430sv00001028sd00001190bc03sc00i00
driver : nvidia-367 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
$ dpkg -l | grep -i nvidia
(Installed packages)
ii bbswitch-dkms 0.8-3ubuntu1 amd64 Interface for toggling the power on NVIDIA Optimus video cards
ii libcuda1-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA CUDA runtime library
ii nvidia-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA binary driver - version 367.57
ii nvidia-367-dev 367.57-0ubuntu0.16.04.1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-opencl-icd-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.2 amd64 Tools to enable NVIDIA's Prime
$ sudo lshw -numeric -C display
(Hardware)
*-display
description: VGA compatible controller
produit: NVIDIA Corporation [10DE:1430]
fabriquant: NVIDIA Corporation [10DE]
identifiant matériel: 0
information bus: pci@0000:03:00.0
version: a1
bits: 64 bits
horloge: 33MHz
fonctionnalités: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
ressources: irq:34 mémoire:f2000000-f2ffffff mémoire:e0000000-efffffff mémoire:f0000000-f1ffffff portE/S:8000(taille=128) mémoire:f3000000-f307ffff
$ sudo find / -name 'libnvidia-ml*'
(NVIDIA libraries)
/usr/lib32/nvidia-367/libnvidia-ml.so.1
/usr/lib32/nvidia-367/libnvidia-ml.so.367.57
/usr/lib32/nvidia-367/libnvidia-ml.so
/usr/lib/nvidia-367/libnvidia-ml.so.1
/usr/lib/nvidia-367/libnvidia-ml.so.367.57
/usr/lib/nvidia-367/libnvidia-ml.so
find: «/run/user/1000/gvfs»: Permission non accordée
I installed nvidia-settings
, but it's a version 367.48. I didn't want more version mismatch, so i uninstalled it
Basically, my driver seems to be v367.57
, but I don't know how to check for the library version (apart from libcuda1-367
which is already at 367.57
).
Does someone know how to fix that problem / where to check the library version that creates the mismatch / if there is a package that I didn't install ?
Btw, one thing I find strange is that lshw
doesn't give me the name of my graphic card, I don't know if that's a sign of anything...
Thank you,