Remote direct rendering for GLX (OpenGL)

The choice is not necessarily between indirect rendering and software rendering, but more precisely between direct and indirect rendering. Direct rendering will be done on the X client (the remote machine), then rendering results will be transferred to X server for display. Indirect rendering will transmit GL commands to the X server, where those commands will be rendered using server's hardware. Since you want to use the 3D hardware on the remote machine, you should go with direct rendering (and accept overhead of transmitting rendered raster image over the network).

If you application cannot live with OpenGL 1.4, direct rendering is your only option.


I used to have ssh remote setup to run patched opengl driver. But that involved some hacks like hijacking a remote X server for rendering (login in remote machine, ssh in and set DISPLAY to :0). For you case it makes more sense to separate offscreen xserver. I don't remember if it is possible to start xserver remotely in offscreen mode but with GPU drivers loaded. VirtualGL project seems to promise it supports exactly what you are looking for. I haven't ever tried it but website looks promising.

http://www.virtualgl.org/About/Introduction

Other alternative are vnc and xdmcp. They allow access to complete remote desktop environment.

Tags:

Opengl

Ssh