So the next question is: how to do this update?
It seems I have two versions installed, 396.37 and 396.51. But they are in two different places. I think 51 came from the Ubuntu repositories while 37 came directly from nVIDIA. In other words, 51 was installed the “Ubuntu way” while 37 was installed the “nVIDIA way.” In /var/cache/apt/archives I only have filenames with 396.51 and 54, no 37. I assume the 54’s are from when I tried “sudo apt-get upgrade” and it got partway before aborting.
As I said in my OP, I first tried installing with apt-get. I think I ended up with 51. Then I ran the CUDA installation deb, and it seems to have installed 37 on its own.
The following are in /usr/lib/i386-linux-gnu:
/usr/lib/i386-linux-gnu$ ls *vid*
libEGL_nvidia.so.0 libnvidia-fbc.so.396.54
libEGL_nvidia.so.396.51 libnvidia-glcore.so.396.51
libGLESv1_CM_nvidia.so.1 libnvidia-glsi.so.396.51
libGLESv1_CM_nvidia.so.396.51 libnvidia-glvkspirv.so.396.51
libGLESv2_nvidia.so.2 libnvidia-ifr.so
libGLESv2_nvidia.so.396.51 libnvidia-ifr.so.1
libGLX_nvidia.so.0 libnvidia-ifr.so.396.54
libGLX_nvidia.so.396.51 libnvidia-opencl.so.1
libnvidia-eglcore.so.396.51 libnvidia-opencl.so.396.37
libnvidia-fbc.so libnvidia-tls.so.396.51
libnvidia-fbc.so.1
nvidia:
xorg
As can be seen, it’s mostly 51, but there are a few pieces of 37 and 54.
Various files with the substring 396.37 are located in:
/var/lib/dkms/nvidia-396/396.37
/var/cuda-repo-9-2-local/
/usr/share/nvidia/
/usr/share/nvidia-396/
/usr/lib/x86_64-linux-gnu/libcuda.so.396.37
/usr/lib/i386-linux-gnu/
/usr/lib/nvidia-396/
/usr/src/
/usr/lib32/
All the actual ,ko files appear to be 37:
$ sudo find / -name '*vidi*ko' | xargs -l modinfo | grep '^version'
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
version: 396.37
And nvidia-smi says it’s running 37.
So when I tried to upgrade with apt-get, it got confused because it was trying to update the 396.51 files rather than the more numerous (and actually installed) 396.37 files.
So my questions are:
-
Can I just ignore the version 51 files, or should I get rid of them? (And what is the clean way of removing them without damaging the CUDA installation?)
-
What is the nVIDIA-centric way of keeping its driver up to date without breaking the CUDA installation?