Ulrich, thanks for the info. I did not have libOpenCL.so; it's contained in nvidia-opencl-dev, which I have now installed. The nvidia-uvm module was present on my system, but not loaded. I've loaded it with modprobe, now it's present in the result of lsmod. The /dev/nvidia-uvm mode was also missing; I've created it using mknod: crw-rw-rw- 1 root root 195, 0 Jul 24 16:10 /dev/nvidia0 crw-rw-rw- 1 root root 195, 255 Jul 24 16:10 /dev/nvidiactl crw-rw-rw- 1 root root 249, 0 Jul 24 21:29 /dev/nvidia-uvm
Now I get: [opencl_init] trying to load opencl library: '<system default>' [opencl_init] opencl library 'libOpenCL' found on your system and loaded [opencl_init] could not get platforms: -1001 If I run darktable as root (sudo), OpenCL works: [opencl_init] trying to load opencl library: '<system default>' [opencl_init] opencl library 'libOpenCL' found on your system and loaded [opencl_init] found 1 platform [opencl_init] found 1 device [...] [opencl_init] FINALLY: opencl is AVAILABLE on this system. [opencl_init] initial status of opencl enabled flag is ON. If subsequently I run darktable without sudo, OpenCL works again. Some people have suggested creating an udev rule to create the device: https://devtalk.nvidia.com/default/topic/699610/334-21-driver-returns-999-on-cuinit-cuda-/ Kofa On 24 July 2014 18:51, Ulrich Pegelow <[email protected]> wrote: > Hi, > > to bring a bit of input to the different topics. > > darktable needs the system library libOpenCL.so which must be accessible > to the system's dynamic loader (ld.so). Reason is that the function flow > is like this: > > darktable -> libOpenCL.so -> libnvidia-opencl.so.1 -> kernel driver -> > hardware > > There is no way of bypassing libOpenCL.so by directly calling > libnvidia-opencl.so.1 because the two are different. > > Depending on your system you will need to install the right packages to > get libOpenCL.so - typically a chain of symbolic links to something like > libOpenCL.so.x.y.z. Try 'locate libOpenCL.so' to see if the symbolic > link(s) exist. > > @Istvan: you are probably still missing that library or ld.so can't find it. > > If the library is found there are other requirements that must be met. > > As written above you need the vendor specific library > libnvidia-opencl.so.1 (or similar). libOpenCL.so knows from the content > of /etc/OpenCL/vendors/nvidia.icd which vendor library to call. If that > file is missing, OpenCL can't work. > > Then the kernel driver needs to be loaded. Newer nvidia systems need two > kernel modules: nvidia and nvidia_uvm. > > Check with 'lsmod | egrep nvidia' if both are there. > > If this is OK there need to be device special files for the vendor > specific library to communicate with your kernel drivers. You need to > see something like that: > > crw-rw----+ 1 root video 195, 0 24. Jul 18:28 /dev/nvidia0 > crw-rw----+ 1 root video 195, 255 24. Jul 18:28 /dev/nvidiactl > crw-rw-rw- 1 root root 249, 0 24. Jul 18:28 /dev/nvidia-uvm > > Check that your account has write access to all of them. In my case > users who want to use OpenCL need to be member of group video. > > @Federico: > > The error number -1001 from your system tells that even though you have > libOpenCL.so one of the other requirements above were not met. > > Ulrich > > > > Am 24.07.2014 13:53, schrieb Federico Bruni: >> Il 24.07.2014 07:15 Ulrich Pegelow ha scritto: >>> You are lacking libOpenCL.so which should be a symbolic link to >>> libOpenCL.so.1. We had a similar issue before. >>> >>> Normally this link gets generated during installation of the driver by >>> automatically calling ldconfig. You may either >>> >>> * call ldconfig as root (preferred option) >>> * generate the link manually >>> >> >> Same problem here, but ldconfig did not help to generate the symlink. >> Output from root user: >> >> # find / -name 'libOpenCL.so' >> # >> # ldconfig >> # find / -name 'libOpenCL.so' >> # >> >> It seems that it should be included in this package: >> >> $ apt-file search libOpenCL.so | grep nvidia >> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so >> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 >> nvidia-libopencl1: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1.0.0 >> nvidia-opencl-dev: /usr/lib/x86_64-linux-gnu/libOpenCL.so >> >> But it's actually just in nvidia-opencl-dev: >> https://packages.debian.org/sid/amd64/nvidia-opencl-dev/filelist >> https://packages.debian.org/sid/amd64/nvidia-libopencl1/filelist >> >> Now I've installed the -dev package and I got the symlink: >> >> $ ls -l /usr/lib/x86_64-linux-gnu/libOpenCL.so >> lrwxrwxrwx 1 root root 14 mag 25 01:36 >> /usr/lib/x86_64-linux-gnu/libOpenCL.so -> libOpenCL.so.1 >> >> However, darktable can't use opencl: >> >> [opencl_init] trying to load opencl library: '<system default>' >> [opencl_init] opencl library 'libOpenCL' found on your system and loaded >> [opencl_init] could not get platforms: -1001 >> [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system. >> [opencl_init] initial status of opencl enabled flag is OFF. >> >> I'm on debian sid. I've reported the problem here weeks ago: >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746643 >> >> $ cat /proc/driver/nvidia/version >> NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.24 Wed Jul 2 >> 14:24:20 PDT 2014 >> GCC version: gcc version 4.8.3 (Debian 4.8.3-4) >> >> > > ------------------------------------------------------------------------------ > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > _______________________________________________ > Darktable-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/darktable-users ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ Darktable-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/darktable-users
