ParaView in Headless Mode with OSMesa, EGL, and libX11

Is it possible to compile a single version of ParaView that supports OSMesa, EGL, and libX11 at the same time?

I ask because I recall seeing a version of ParaView on an HPC cluster that appeared to be compiled with all three libraries simultaneously. I had assumed these libraries were mutually exclusive.

Can someone explain how this is possible?

Thank you.

This is currently not possible, but will be possible if a near future as thie feature was added in VTK a few months ago.

FYI @jaswantp

Yes, you can use any commit of paraview starting from e6e3fe3ce and use the default cmake settings.

Btw, that commit is not yet part of a release. It might be included in the upcoming release.

But how do you explain this output:

❯ pvserver --version
paraview version 5.11.0
user@cluster1: ~
❯ ldd $(which pvserver) | grep OSMesa
        libOSMesa.so.8 => /cvmfs/soft.computeuniversity/gentoo/2020/usr/lib64/libOSMesa.so.8 (0x00007f84bf30e000)
user@cluster1: ~
❯ ldd $(which pvserver) | grep EGL
        libEGL.so.1 => /cvmfs/soft.computeuniversity/gentoo/2020/usr/lib64/libEGL.so.1 (0x00007fea7bda4000)
user@cluster1: ~
❯ ldd $(which pvserver) | grep X11
        libX11.so.6 => /cvmfs/soft.computeuniversity/gentoo/2020/usr/lib64/libX11.so.6 (0x00007f359f54b000)
user@cluster1: ~

But how do you explain this output:

they could have simply patched ParaView to allow coexisting context providers.

Is there a way to find if this version is patched or not?