VirtualGL: a solution to running qdec and freeview over vnc

qdec and freeview are built upon VTK, and VTK unfortunately is problematic when run over vnc (at least thats the case with vtk v5.6.0, whereas v5.4.2 didnt seem to have this problem). the problem is when a qdec is run within a vnc (remote) terminal screen, it gives this error:

>> neptune:sita[85] qdec &
>> [1] 27225
>> neptune:sita[86] Xlib:  extension "NV-GLX" missing on display ":1.0".
>> X Error of failed request:  GLXBadRenderRequest
>>    Major opcode of failed request:  151 (GLX)
>>    Minor opcode of failed request:  1 (X_GLXRender)
>>    Serial number of failed request:  1838
>>    Current serial number in output stream:  1842

one solution is to use VirtualGL.

installation instructions are here. it requires sudo or root access to install. installation is two-part:

then, to make use of VirtualGL, start your vnc connection from your client (say, using vncviewer or whatever) to the server (say, 'neptune') the same way you always do.

then, to run qdec, first do this:

source $FREESURFER_HOME/bin/qdec

it will print the GLXBadRenderRequest message. ignore it. now type:

vglrun qdec.bin

and qdec should run.

replace 'freeview' with 'qdec' in the above commands to run freeview.