[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