[Paraview] setup pvserver with remote rendering, was Segfault with OpenGL2

Harald Klimach harald at klimachs.de
Tue Apr 12 09:39:52 EDT 2016


Hi,

> Or I also noticed that you're running a very recent version of the NVidia driver.  I believe this actually has EGL support, which will allow you to build ParaView configured to use the GPU for off screen rendering with no X server necessary at all.  To do this, configure ParaView with the following CMake options:
> 	• -DVTK_RENDERING_BACKEND=OpenGL2
> 	• -DVTK_USE_OFFSCREEN_EGL=ON
> You would then run pvserver on the remote machine with no need for an X server and connect to it with the GUI client in the same way.

I gave this a try.

But it results in an error box with:

OpenGL drivers on the server side don't support
required OpenGL features for basic rendering.
Remote rendering will be disabled.

OpenGL Vendor: NVIDIA Corporation
OpenGL Version: 4.5.0 NVIDIA 361.28
OpenGL Renderer: Tesla M2075/PCIe/SSE2

What am I doing wrong?
How can I enable the remote rendering. Are there other compilation flags I need to take care of?

Also, this only works if I set this up manually (run pvserver on the remote box) and then create a ssh-tunnel
to connect to it.
If I use a command in the pvserver configuration of the client gui, to create the ssh tunnel and start the
pvserver on the remote box, I get:

OpenGL Vendor: Information Unavailable
OpenGL Version: Information Unavailable
OpenGL Renderer: Information Unavailable


I guess, I am doing something wrong here, too:

I have: Server Type = Client/Server
Host=localhost
Port=11772
Command:  ssh -L 11772:remote-box:11772 user at remote-box pvserver --server-port=11772



And if I do this command manually, and afterwards try to connect to the server, I get::

ERROR: In /home/user/abs/paraview/src/ParaView-v5.0.1-source/VTK/Rendering/OpenGL2/vtkEGLRenderWindow.cxx, line 315
vtkEGLRenderWindow (0x1660940): Only EGL 1.4 and greater allows OpenGL as client API. See eglBindAPI for more information.

ERROR: In /home/user/abs/paraview/src/ParaView-v5.0.1-source/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, line 575
vtkEGLRenderWindow (0x1660940): GLEW could not be initialized.

[shu:09048] *** Process received signal ***
[shu:09048] Signal: Segmentation fault (11)
[shu:09048] Signal code: Address not mapped (1)
[shu:09048] Failing at address: (nil)
[shu:09048] [ 0] /usr/lib/libc.so.6(+0x33330)[0x7f0c77394330]
[shu:09048] *** End of error message ***

Maybe this is due to a different environment in the tunneled login over the interactive login?
Some settings that are available in the interactive shell, but not in the tunneled command:
SSH_TTY
ETS_TOOLKIT

If I set DISPLAY=:0.0 in tunneling command, I get the same error as in the manual setup.
Maybe, my compilation with EGL did not succeed?

I used these flags:
   -DVTK_USE_X:BOOL=OFF \                                                       
   -DVTK_RENDERING_BACKEND:STRING=OpenGL2 \                                     
   -DVTK_USE_OFFSCREEN_EGL=ON \                                                 

Thanks for your kind support!
Harald


More information about the ParaView mailing list