pvrenderserver egl nvidia index with pvdataserver osmesa

good morning, is there a way to make an osmesa compiled data server communicate with a rendering server configured with egl and nvidia index plugin?

after launching the corresponding servers:
user@node01:~$ mpiexec -np 32 pvrenderserver --displays=:0 --render-server-port=22221 --force-offscreen-rendering

user@node02:~$ mpiexec -np 2 pvdataserver --data-server-port=11111

I opened with an egl client and nvidia index plugin loaded I encountered the following errors on data server and render node.

I get the following error on pvdataserver:
Waiting for client…
Connection URL: cdsrs://node01:11111/:22221
Accepting connection(s): node01:11111
Client connected.
ConnectMtoN
Connecting : rank :0 dest-host :node02 dest-port :44633
ConnectMtoN
Connecting : rank :1 dest-host :node02 dest-port :37783
( 61.875s) [pvdatserver.1 ] vtkPVPluginLoader.cxx:536 ERR| vtkPVPluginLoader (0x15c5f90): /opt/apps/paraview/5.11.1-egl/bin/…/lib/paraview-5.11/plugins/pvNVIDIAIndeX/pvNVIDIAIndeX.so: libOpenGL.so.0: cannot open shared object file: No such file or directory

( 61.882s) [pvdatserver.0 ] vtkPVPluginLoader.cxx:536 ERR| vtkPVPluginLoader (0x208e7f0): /opt/apps/paraview/5.11.1-egl/bin/…/lib/paraview-5.11/plugins/pvNVIDIAIndeX/pvNVIDIAIndeX.so: libOpenGL.so.0: cannot open shared object file: No such file or directory

I get the following error on pvrenderserver:
Waiting for client…
Connection URL: cdsrs://:11111/node02:22221
Accepting connection(s): node02:22221
Client connected.
ConnectMtoN
Waiting for connection: rank :0 host :node02 port :41543
ConnectMtoN
Waiting for connection: rank :1 host :node02 port :40385
Received Hello from process 0
Received Hello from process 1
-----------------------------------------------------

  • By loading the ‘pvNVIDIAIndeX’ plugin you have accepted the EULA shipped with it.*
  • If that is not acceptable, please restart the application without loading *
  • the ‘pvNVIDIAIndeX’ plugin.*
    -----------------------------------------------------

Obviously on the node without a dedicated video card there are no corresponding nvidia opengl, but I don’t understand why you are looking for them given that it should only take care of the data and transmit the graphics processing to the server responsible for rendering. Furthermore, the rendering server gives an EULA acceptance error which I don’t know how to execute since on the client side I can open the graphics and accept them but on the render server there is not a complete installation but only egl server.

I await instructions or advice on how to resolve the issue.
Thank you
Regards,
Matteo

This is looking for a GLVND-style OpenGL build. AFAIK, the official builds use “old” libGL instead. Beyond this, it seems like it is something related to REQUIRED_ON_* flags. I’m not sure what the expected behavior is here there.

Cc: @cory.quammen @jmensmann

Looks to me like a caveat that was not considered, a situation where a plugin cannot be loaded because of limitations on the machine, even though it will not be used.

Maybe you can drop a dummy libOpenGL.so.0, but tbh the plugin should not even be available on the dataserver.