OpenGL error in centos8 superbuild/ libgl error failed to load swrast driver.

No matching fbconfigs or visuals found. Libgl error failed to load swrast driver. I dont have my knowlogde of nvida drivers and symlinks but they appear to be correct.

cmakecache.pdf (97.8 KB)

Looks like a graphic driver problem, or maybe your GPU is too old (it is 10 year old).
Your drivers seems up to date according to nvidia website.

You can try running with mesa.

For paraview rendering on-screen, shouldn’t be using my driver x11 libraries?
On documentation of Nvidia, I have these libraries installed: " * An X driver (/usr/X11R6/lib/modules/drivers/nvidia_drv.so); this driver is needed by the X server to use your NVIDIA hardware.

  • A GLX extension module for X (/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z); this module is used by the X server to provide server-side GLX support.
  • An X module for wrapped software rendering (/usr/X11R6/lib/modules/libnvidia-wfb.so.x.y.z and optionally, /usr/X11R6/lib/modules/libwfb.so); this module is used by the X driver to perform software rendering on GeForce 8 series GPUs. If libwfb.so already exists, nvidia-installer will not overwrite it. Otherwise, it will create a symbolic link from libwfb.so to libnvidia-wfb.so.x.y.z.
  • An OpenGL library (/usr/lib/libGL.so.x.y.z); this library provides the API entry points for all OpenGL and GLX function calls. It is linked to at run-time by OpenGL applications.
  • An OpenGL core library (/usr/lib/libnvidia-glcore.so.x.y.z); this library is implicitly used by libGL and by libglx. It contains the core accelerated 3D functionality. You should not explicitly load it in your X config file – that is taken care of by libglx.
  • Three VDPAU (Video Decode and Presentation API for Unix-like systems) libraries: The top-level wrapper (/usr/X11R6/lib/libvdpau.so.x.y.z), a debug trace library (/usr/X11R6/lib/libvdpau_trace.so.x.y.z), and the NVIDIA implementation (/usr/X11R6/lib/libvdpau_nvidia.so.x.y.z). See Appendix G, VDPAU Support for details.
  • Two CUDA libraries (/usr/lib/libcuda.so.x.y.z, /usr/lib/libcuda.la); these libraries provide runtime support for CUDA (high-performance computing on the GPU) applications.
  • Two OpenCL libraries (/usr/lib/libOpenCL.so.1.0.0, /usr/lib/libnvidia-opencl.so.x.y.z); the former is a vendor-independent Installable Client Driver (ICD) loader, and the latter is the NVIDIA Vendor ICD. A config file /usr/lib/vendors/nvidia.icd is also installed, to advertise the NVIDIA Vendor ICD to the ICD Loader.
  • A kernel module…
    Problems will arise if applications use the wrong version of a library…"
    http://us.download.nvidia.com/XFree86/Linux-x86_64/340.107/README/installedcomponents.html
    Driver is from second semester of 2018. Yes my gpu is quite old.
    How I change graphic libraries used by paraview without changing system symlinks?

It looks like you are using Wayland. I don’t know much about Wayland, but I know ParaView does not explicitly support it.

@hgropelli I know this is a fairly delayed response, none the less though…

I don’t think there’s anything wrong with your build or drivers, I think it’s a glvnd configuration issue and the wrong GLX implementation getting selected. ldd ./paraview is showing paraview linked to libGLX.so, which is the glvnd dispatch library, not the driver itself. The way it works is libGLX.so is linked to at compile time and loaded at runtime, but it doesn’t actually implement any driver calls.
Then at runtime, when first loaded, it searches for an implementation of the form libGLX_vendor.so which it then loads and dispatches all GL calls to. This configuration is fine, and is in fact how the modern GL stack works on linux, however,

failed to load driver swrast

seems to indicate that the mesa backend (libGLX_mesa.so) is getting loaded at runtime by the nvidia-supplied libGLX.so glvnd frontend instead of the nvidia backend (libGLX_nvidia.so).

Try explicitly telling the glvnd library to use the nvidia backend instead of the mesa backend via export __GLX_VENDOR_LIBRARY_NAME=nvidia; his should force libGLX.so to search for libGLX_nvidia.so at runtime.