Ubuntu – Installing NVIDIA/CUDA drivers on Ubuntu 16.04

16.04cudadriversnvidia

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,

Best Answer

Well, a restart seems to have done the trick...

Now nvidia-settings tells me that the driver version is 367.57, whereas it was saying 367.48 before.

nvidia-smi gives :

Tue Nov  8 17:33:27 2016       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57                 Driver Version: 367.57                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro M2000        Off  | 0000:03:00.0      On |                  N/A |
| 56%   39C    P0    23W /  75W |   2103MiB /  4034MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1210    G   /usr/lib/xorg/Xorg                             269MiB |
|    0      2374    G   compiz                                         112MiB |
|    0      2948  C+G   /usr/local/MATLAB/R2016b/bin/glnxa64/MATLAB   1643MiB |
|    0      5024    G   ...s-passed-by-fd --v8-snapshot-passed-by-fd    74MiB |
+-----------------------------------------------------------------------------+