I've installed NVIDIA driver version 435 using the GUI:
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)