<div dir="ltr"><div><div>Hi Harald,<br><br>I don't have an answer to your VGL problem yet, but in the mean time, are you tied to having to use it that way?  If not, you also have the option of running ParaView in client / server mode which may actually be more ideal for your situation: i.e. with pvserver running on the headless server and the ParaView GUI client on your local machine (workstation / desktop / laptop, etc.) and connecting to the remote server.  Doing so, you can actually bypass vgl and likely get much better performance.  If you're running an X server on the remote machine, you can do this by setting your DISPLAY variable to the local x server:<br><br></div><span style="font-family:monospace,monospace">ssh foo@bigserver<br>[foo@bigserver ~]$ DISPLAY=:0.0 pvserver<br>Waiting for client...<br>Connection URL: cs://<a href="http://bigserver.supercooldomain.com:11111">bigserver.supercooldomain.com:11111</a><br>Accepting connection(s): </span><span style="font-family:monospace,monospace"><span style="font-family:monospace,monospace"><a href="http://bigserver.supercooldomain.com">bigserver.supercooldomain.com</a></span>:11111<br><br></span></div><div>Then in the client you select [Conenct] -> [Add Server] to create the connection to the remote machine.<br><br></div>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:<br><ul><li>-DVTK_RENDERING_BACKEND=OpenGL2</li><li>-DVTK_USE_OFFSCREEN_EGL=ON</li></ul><p>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.<br></p></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr">- Chuck<br></div></div></div>
<br><div class="gmail_quote">On Mon, Apr 11, 2016 at 1:07 PM, Harald Klimach <span dir="ltr"><<a href="mailto:harald@klimachs.de" target="_blank">harald@klimachs.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Chuck, dear Ken,<br>
<br>
thanks for the replies.<br>
<span class=""><br>
> I've had similar issues with VirtulGL and VTK in the past.  The "Shader object was not initialized, cannot attach it." error is often the result of some sort of required OpenGL version support for a specific call is lacking.  A few questions:<br>
>       • Are you able to run on the actual machine without Virtual GL?<br>
</span>the machine is a headless server down in our machine room, and I can not easily access it.<br>
<br>
>       • What does the output of glxinfo running in the x2go+VirtualGL environment look like?<br>
Here is how it looks like:<br>
$ vglrun glxinfo<br>
name of display: :55<br>
display: :55  screen: 0<br>
direct rendering: Yes<br>
server glx vendor string: VirtualGL<br>
server glx version string: 1.4<br>
server glx extensions:<br>
    GLX_ARB_create_context, GLX_ARB_create_context_profile,<br>
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_swap_control,<br>
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,<br>
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read,<br>
    GLX_SGI_swap_control, GLX_SUN_get_transparent_index<br>
client glx vendor string: VirtualGL<br>
client glx version string: 1.4<br>
client glx extensions:<br>
    GLX_ARB_create_context, GLX_ARB_create_context_profile,<br>
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_swap_control,<br>
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,<br>
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read,<br>
    GLX_SGI_swap_control, GLX_SUN_get_transparent_index<br>
GLX version: 1.4<br>
GLX extensions:<br>
    GLX_ARB_create_context, GLX_ARB_create_context_profile,<br>
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_swap_control,<br>
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,<br>
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read,<br>
    GLX_SGI_swap_control, GLX_SUN_get_transparent_index<br>
OpenGL vendor string: NVIDIA Corporation<br>
OpenGL renderer string: Tesla M2075/PCIe/SSE2<br>
OpenGL core profile version string: 4.5.0 NVIDIA 361.28<br>
OpenGL core profile shading language version string: 4.50 NVIDIA<br>
OpenGL core profile context flags: (none)<br>
OpenGL core profile profile mask: core profile<br>
…<br>
lots of extensions<br>
…<br>
OpenGL version string: 4.5.0 NVIDIA 361.28<br>
OpenGL shading language version string: 4.50 NVIDIA<br>
OpenGL context flags: (none)<br>
OpenGL profile mask: (none)<br>
<br>
<br>
---<br>
Without vglrun I get:<br>
<br>
$ glxinfo<br>
name of display: :55<br>
display: :55  screen: 0<br>
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)<br>
server glx vendor string: SGI<br>
server glx version string: 1.2<br>
server glx extensions:<br>
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info,<br>
    GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample,<br>
    GLX_SGIX_fbconfig, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier,<br>
    GLX_SGI_make_current_read<br>
client glx vendor string: NVIDIA Corporation<br>
client glx version string: 1.4<br>
client glx extensions:<br>
    GLX_ARB_context_flush_control, GLX_ARB_create_context,<br>
    GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness,<br>
    GLX_ARB_fbconfig_float, GLX_ARB_get_proc_address, GLX_ARB_multisample,<br>
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,<br>
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,<br>
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_stereo_tree,<br>
    GLX_EXT_swap_control, GLX_EXT_swap_control_tear,<br>
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,<br>
    GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_NV_delay_before_swap,<br>
    GLX_NV_float_buffer, GLX_NV_multisample_coverage, GLX_NV_present_video,<br>
    GLX_NV_swap_group, GLX_NV_video_capture, GLX_NV_video_out,<br>
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control,<br>
    GLX_SGI_video_sync<br>
GLX version: 1.2<br>
GLX extensions:<br>
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,<br>
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig<br>
OpenGL vendor string: Mesa project: <a href="http://www.mesa3d.org" rel="noreferrer" target="_blank">www.mesa3d.org</a><br>
OpenGL renderer string: Mesa GLX Indirect<br>
OpenGL version string: 1.2 (1.5 Mesa 6.4.1)<br>
<br>
<br>
---<br>
On my local box, I get:<br>
<br>
$ glxinfo<br>
name of display: /private/tmp/com.apple.launchd.vDdJxiOxqs/org.macosforge.xquartz:0<br>
display: /private/tmp/com.apple.launchd.vDdJxiOxqs/org.macosforge.xquartz:0  screen: 0<br>
direct rendering: Yes<br>
server glx vendor string: SGI<br>
server glx version string: 1.4<br>
server glx extensions:<br>
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info,<br>
    GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample,<br>
    GLX_SGIX_fbconfig<br>
client glx vendor string: Mesa Project and SGI<br>
client glx version string: 1.4<br>
client glx extensions:<br>
    GLX_ARB_create_context, GLX_ARB_create_context_profile,<br>
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,<br>
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,<br>
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,<br>
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,<br>
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,<br>
    GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,<br>
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,<br>
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,<br>
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,<br>
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,<br>
    GLX_SGI_swap_control, GLX_SGI_video_sync<br>
GLX version: 1.4<br>
GLX extensions:<br>
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,<br>
    GLX_EXT_visual_info, GLX_EXT_visual_rating,<br>
    GLX_MESA_multithread_makecurrent, GLX_OML_swap_method,<br>
    GLX_SGIS_multisample, GLX_SGIX_fbconfig<br>
OpenGL vendor string: Intel<br>
OpenGL renderer string: Intel(R) Iris(TM) Graphics 6100<br>
OpenGL version string: 2.1 INTEL-10.6.33<br>
OpenGL shading language version string: 1.20<br>
<br>
Paraview 5.0.0 works on my local Mac, but I am not 100% sure, whether it is using OpenGL2.<br>
Somehow the <a href="http://paraview.org" rel="noreferrer" target="_blank">paraview.org</a> website is not responding right now, so I can’t download 5.0.1 and<br>
give it another try.<br>
<br>
---<br>
I also get a segmentation fault if I run with just X-Forwarding in a regular SSH connection, without<br>
any further information:<br>
$ paraview<br>
Segmentation fault (core dumped)<br>
<br>
---<br>
If I run in a x2go session, I get:<br>
$ paraview<br>
failed to get the current screen resources<br>
QXcbConnection: XCB error: 172 (Unknown), sequence: 166, resource id: 163, major code: 149 (Unknown), minor code: 20<br>
Segmentation fault (core dumped)<br>
<br>
(Where I believe the XCB error is unrelated.)<br>
<br>
---<br>
If I run paraview in a vglconnect session without x2go, I get the same error as within the x2go session:<br>
<br>
$ vglrun paraview<br>
<span class="">ERROR: In /home/gk772/abs/paraview/src/ParaView-v5.0.1-source/VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx, line 575<br>
</span>vtkXOpenGLRenderWindow (0x3673960): GLEW could not be initialized.<br>
<span class=""><br>
<br>
ERROR: In /home/gk772/abs/paraview/src/ParaView-v5.0.1-source/VTK/Rendering/OpenGL2/vtkShaderProgram.cxx, line 399<br>
</span>vtkShaderProgram (0x36651f0): Shader object was not initialized, cannot attach it.<br>
<br>
<br>
Segmentation fault (core dumped)<br>
<br>
<span class=""><br>
> On Mon, Apr 11, 2016 at 9:56 AM, Ken Martin <<a href="mailto:ken.martin@kitware.com">ken.martin@kitware.com</a>> wrote:<br>
> As I understand it VirtualGL should transparently forward OpenGL/GLX/etc calls from the server to the client so that the client GPU is used. So my guess would be to first try running PV on the client and see if it works. If that seems to work fine then you know your client graphics supports PVs use of OpenGL and the issue could be in VirtualGL or some PV/VirtualGL interaction.<br>
</span>I am always confused with this server and client terminology in the X context.<br>
The remote machine, where I try to run paraview on has a relatively strong nVidia graphics card,<br>
which we would like to utilize via the virtualgl mechanism.<br>
With the x2go we also try to keep the X-server on that box as much as possible, thus we have both,<br>
the X-server and the paraview application running there. As far as I understand it, the graphics<br>
capabilities of my local laptop should not really matter that much in this scenario.<br>
I probably should try and run paraview on the box itself, but as I said above, it is not that easily<br>
accessible.<br>
<br>
Thanks a lot!<br>
<span class="HOEnZb"><font color="#888888">Harald</font></span></blockquote></div><br></div>