1

I've installed NVIDIA driver version 435 using the GUI:

enter image description here

I see now a list of packages:

hekto@lynx:~$ dpkg -l|grep nvidia
ii  libnvidia-cfg1-435:amd64               435.21-0ubuntu0.18.04.2                         amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-435                   435.21-0ubuntu0.18.04.2                         all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-435:amd64            435.21-0ubuntu0.18.04.2                         amd64        NVIDIA libcompute package
ii  libnvidia-decode-435:amd64             435.21-0ubuntu0.18.04.2                         amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-435:amd64             435.21-0ubuntu0.18.04.2                         amd64        NVENC Video Encoding runtime library
ii  libnvidia-fbc1-435:amd64               435.21-0ubuntu0.18.04.2                         amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-435:amd64                 435.21-0ubuntu0.18.04.2                         amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-435:amd64               435.21-0ubuntu0.18.04.2                         amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-compute-utils-435               435.21-0ubuntu0.18.04.2                         amd64        NVIDIA compute utilities
ii  nvidia-dkms-435                        435.21-0ubuntu0.18.04.2                         amd64        NVIDIA DKMS package
ii  nvidia-driver-435                      435.21-0ubuntu0.18.04.2                         amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-435               435.21-0ubuntu0.18.04.2                         amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-435               435.21-0ubuntu0.18.04.2                         amd64        NVIDIA kernel source package
ii  nvidia-prime                           0.8.8.2                                         all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                        390.77-0ubuntu0.18.04.1                         amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-435                       435.21-0ubuntu0.18.04.2                         amd64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-435          435.21-0ubuntu0.18.04.2                         amd64        NVIDIA binary Xorg driver

I'm interested in OpenCL, so I've found the NVIDIA package, which provides OpenCL-related files - it's the libnvidia-compute-435 package. It contains following files:

hekto@lynx:~$ dpkg -L libnvidia-compute-435
/.
/etc
/etc/OpenCL
/etc/OpenCL/vendors
/etc/OpenCL/vendors/nvidia.icd
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcuda.so.435.21
/usr/lib/x86_64-linux-gnu/libnvidia-compiler.so.435.21
/usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.435.21
/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.435.21
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.435.21
/usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.435.21
/usr/share
/usr/share/doc
/usr/share/doc/libnvidia-compute-435
/usr/share/doc/libnvidia-compute-435/changelog.Debian.gz
/usr/share/doc/libnvidia-compute-435/copyright
/usr/lib/x86_64-linux-gnu/libcuda.so
/usr/lib/x86_64-linux-gnu/libcuda.so.1
/usr/lib/x86_64-linux-gnu/libnvidia-ml.so
/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1
/usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so
/usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.1

The file /etc/OpenCL/vendors/nvidia.icd is in this list, but it's absent on my system. All the OpenCL programs need ICD-files, without them they can't find vendor-specific libraries.

So, why is this file absent? And how did apt happen to install not all the needed files?

(I'm on Xubuntu 18.04.3)

2 Answers 2

4

Try removing all the nvidia packages (this will also remove the files in the /etc directory):

sudo apt-get --purge remove '*nvidia*'

Then reinstall the driver as usual:

sudo apt install nvidia-driver-435

See if the file is there then.

6
  • 1
    The dpkg-divert --list | grep nvidia command shows nothing. The apt-get install --reinstall libnvidia-compute-435 command worked fine, but it didn't add the /etc/OpenCL/vendors/nvidia.icd file... What else can I try?
    – HEKTO
    Jan 13, 2020 at 17:04
  • This will be a little heavy-handed but it should work: sudo apt-get --purge remove '*nvidia*' Then reinstall the driver as usual: sudo apt install nvidia-driver-435 See if the file is there then.
    – tseliot
    Jan 14, 2020 at 12:06
  • Complete driver purging + installation has helped, thanks! Can you please add that to your answer just in case somebody else will have this problem?
    – HEKTO
    Jan 14, 2020 at 20:46
  • Done. Please mark my answer accordingly. Thank you.
    – tseliot
    Jan 15, 2020 at 11:20
  • Thanks a bundle! For me it was only the libnvidia-compute library with the version conflict. simply updating it via apt-get install --reinstall libnvidia-compute-465 did the trick for me but took me more than a few hours to find!
    – Atif Anwer
    May 3, 2021 at 3:59
1

I had the same problem. When I enter the following command, it tells me what is the recommended version of driver to install:

mona@goku:~$ sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001F95sv000017AAsd000022C0bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-460 - distro non-free recommended
driver   : nvidia-driver-460-server - distro non-free
driver   : nvidia-driver-450 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

== /sys/devices/virtual/dmi/id ==
modalias : dmi:bvnLENOVO:bvrN2VET26W(1.11):bd11/16/2020:br1.11:efr1.6:svnLENOVO:pn20TKCTO1WW:pvrThinkPadX1ExtremeGen3:rvnLENOVO:rn20TKCTO1WW:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:
driver   : oem-sutton.simon-adken-meta - third-party free

Then:

sudo apt-get --purge remove '*nvidia*'

and

sudo apt install nvidia-driver-460

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .