CLINFO doesn't find my GPU with Nouveau driver

Hi all

I am trying to get OpenCL working with the Nouveau driver instead of the Nvidia proprietary one.

My GPU is properly installed and seen by the system. Here below is the output ofinxi -SGxxz --display

System:    Kernel: 5.3.18-lp152.33-default x86_64 bits: 64 compiler: gcc v: 7.5.0 Desktop: N/A 
           dm: SDDM Distro: openSUSE Leap 15.2 
Graphics:  Device-1: NVIDIA GP108 [GeForce GT 1030] vendor: Gigabyte driver: nouveau v: kernel 
           bus ID: 01:00.0 chip ID: 10de:1d01 
           Display: x11 server: X.Org 1.20.3 compositor: kwin_x11 driver: nouveau 
           unloaded: fbdev,modesetting,nv,vesa alternate: nvidia s-res: 1920x1080 s-dpi: 96 
           OpenGL: renderer: llvmpipe (LLVM 9.0.1 256 bits) v: 3.3 Mesa 19.3.4 compat-v: 3.1 
           direct render: Yes 

I have mesa-libopencl installed and other related elements.

Output of zypper se --installed-only | grep -i nouveau

i  | libdrm_nouveau2                          | Userspace interface for Kernel DRM services for NVIDIA chips                                | paquet
i  | libvdpau_nouveau                         | XVMC state tracker for Nouveau                                                              | paquet
i  | xf86-video-nouveau                       | Accelerated Open Source driver for nVidia cards                                             | paquet

Outpout of zypper se --installed-only | grep -i mesa

i  | Mesa                                     | System for rendering 3-D graphics                                                           | paquet
i  | Mesa-KHR-devel                           | Mesa Khronos development headers                                                            | paquet
i  | Mesa-demo-x                              | GLX-based demos                                                                             | paquet
i  | Mesa-dri                                 | DRI plug-ins for 3D acceleration                                                            | paquet
i  | Mesa-gallium                             | Mesa Gallium GPU drivers                                                                    | paquet
i  | Mesa-libEGL-devel                        | Fichiers de développement pour l'API EGL                                                    | paquet
i  | Mesa-libEGL1                             | EGL API implementation                                                                      | paquet
i  | Mesa-libGL-devel                         | Fichiers de développement GL/GLX de l'API OpenGL                                            | paquet
i  | Mesa-libGL1                              | The GL/GLX runtime of the Mesa 3D graphics library                                          | paquet
i  | Mesa-libGLESv1_CM1                       | OpenGL|ES 1.x Common Profile API implementation                                             | paquet
i  | Mesa-libGLESv2-2                         | OpenGL|ES 2.x API implementation                                                            | paquet
i+ | Mesa-libOpenCL                           | Mesa OpenCL implementation                                                                  | paquet
i  | Mesa-libglapi0                           | Free implementation of the GL API                                                           | paquet
i  | Mesa-libva                               | Mesa VA-API implementation                                                                  | paquet

Output of zypper se --installed-only | grep -i opencl

i+ | Mesa-libOpenCL                           | Mesa OpenCL implementation                                                                  | paquet
i+ | clinfo                                   | Utility that reports status information for all installed OpenCL ICDs                       | paquet
i+ | libOpenCL1                               | OpenCL ICD Bindings                                                                         | paquet
i  | libclc                                   | OpenCL C programming language library                                                       | paquet
i  | openSUSE-2020-1099                       | Recommened update for opencl                                                                | correctif
i+ | opencl-headers                           | OpenCL (Open Computing Language) headers                                                    | paquet

However, clinfo doesn’t found any device connect to the OpenCL platforms and my application requiring OpenCL doesn’t find it either.
Output of clinfo

Number of platforms                               2
  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 19.3.4
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 19.3.4
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   Clover
Number of devices                                 0

  Platform Name                                   Clover
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Clover
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   <error: 0 devices, multiple matching platforms!>
  clCreateContext(NULL, ...) [default]            No devices found in platform
  clCreateContext(NULL, ...) [other]              No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No devices found in platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.11
  ICD loader Profile                              OpenCL 2.1

Any hints ?

Thanks!

IMHO OpenCL drivers from Mesa 3D are not working at all.
I cannot use them with AMD graphics.
Nouveau drivers are bad even with supporting OpenGL.

Hi.

Thanks for the info. I just reverted to Nvidia driver and it works. So, I’ll stick to that from now on.