"X_GLXCreateNewContext" error only when launching ParaView over a remote connection with X forwarding

I wondered if anyone in this community has experienced the issue of getting OpenGL to work on two computers separately but not when connected remotely with VPN and SSH.

I have a local installation of ParaView 5.7.0 at the office which opens up the windows normally. Likewise, with another installation at home. Troubles occurs as I connect from home to the office computer via VPN and SSH (ssh -YC etc etc). When I launch the remote PV from a ssh’ed terminal, PV aborts with the error

[paraview ]vtkXOpenGLRenderWindow.:705 ERR| vtkXOpenGLRenderWindow (0x5564d234cdf0): Cannot create GLX context. Aborting

I isolated that ParaView cannot create a window with OpenGL. Indeed, glxinfo on the ssh’ed terminal returns the “X_GLXCreateNewContext” error

name of display: localhost:10.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 37
Current serial number in output stream: 38

Note that glxgears does very well in my home computer. Also, at home, glxinfo goes farther than that and finds all it needs:

name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
etc etc

Also, at home I manage to open without problems other programs natively installed in the remote network.
There is a difference between drivers at home and at the office, but this seems normal to me.
So, alas, something is lacking either in my own installation of ParaView at the office or in the way I launch it from home.

Is there a way to inform ParaView, hence OpenGL, that it has to adjust (something) when I call it from a ssh’ed terminal?
That is, from home rather from the office?

X forwarding is not supported by ParaView.

Use either something like vncviewer or the actual client/server architecture of ParaView:
https://www.paraview.org/Wiki/ParaView:Server_Configuration
https://www.paraview.org/Wiki/Setting_up_a_ParaView_Server

Clearly the test on glxinfo is independent of Paraview, so it is not ParaView that makes glxinfo fail.

Is it then OpenGL that does not support X forwarding?
Or would not ParaView work even if OpenGL worked across the two computers?

(Making the office computer a server of my home computer is not an option.)

Or would not ParaView work even if OpenGL worked across the two computers?

No it wouldn’t, you will be greeted with an insuficient OpenGL Version warning and nothing will work.

Thanks for the clarification. It helps banging one’s head on the right wall.

Would you please direct me to some entry points concerning vncviewer and suchlike applied to PV? I am not familiar with the concept. If these toolkits are meant to support PV client/server connections only, any additional information is unnecessary, however.


It is nothing specific to ParaView.

You can use nomachine
to run ParaView and other OpenGL applications from a remote computer.
nomachine is only single user but I think it has paid multi-user options.

An alternative (multi-user) is virtualgl + turbovnc
https://virtualgl.org/vgldoc/2_1_1/

This is guide we did a while back for another vtk based application

https://github.com/CDAT/cdat/wiki/Remote-server-setup-for-VNC

I have not tried this lately though.