I'm interested in forwarding an X11 session over SSH, in order to launch a remote process that utilizes OpenGL (specifically, gazebo for anyone familiar.)
The problem that I seem to be running into is that gazebo crashes due to a mismatch in the graphics cards; it can't find "NV-GLX" extensions. The exact error output:
Xlib: extension "NV-GLX" missing on display "localhost:10.0". Xlib: extension "NV-GLX" missing on display "localhost:10.0". X Error of failed request: GLXUnsupportedPrivateRequest Major opcode of failed request: 149 (GLX) Minor opcode of failed request: 16 (X_GLXVendorPrivate) Serial number of failed request: 24 Current serial number in output stream: 25
The remote machine is running with an NVIDIA card, and my local machine is using an AMD card.
I've tested X11 forwarding of gazebo between two machines with NVIDIA cards. It works just fine.
As near as I can tell, it seems that one of three things are happening:
- I'm doing something wrong,
- What I want to do is impossible,
- Gazebo doesn't build in an agnostic manner with branching codepaths for different hardware; whatever your system looks like when it builds is what you get.
I'm really hoping it's #1, and I'm really hoping someone here can help me out. If it makes any difference, the remote machine is running Ubuntu and my local machine is a Mac running 10.8.2; I already know that I have x11 forwarding set up properly for normal use as I can get things like xclock to open up in XQuartz just fine. The solution (if it exists) would also preferably work for other OS's including Windows over WinSCP.