FastX and OpenGL

FastX performs server-side software rendering of OpenGL applications and then transfers the result over the network to the client as a 2D image.  This allows for smooth OpenGl rendering at a consistently fast pace.

However, some 3D applications may be built for a different environment and may partially or completely fail when run in a FastX session.

One solution is the third party application VirtualGL, which may also improve 3D performance as it will render the scene on the server’s graphics card and then transfer it to the FastX server.

Instead of using VirtualGL, one of these techniques may get your application working:

Try the following:
  • Update your Application
    • Your application may already have updated its OpenGL libraries
  • Run your application as follows: LIBGL_ALWAYS_INDIRECT=1 your_command
    • This will cause your application to try indirect rendering
  •  Many applications have software rendering command line options (eg. –mesa)
    • Modern CPUS can often handle the amount of data processed in a GPU
  • Enable iglx in the FastX Server
    • New Sessions will use iglx
  • Use an alternative
    • Some Desktops ( GNOME 3 on RHEL) use Direct Rendering by default to create graphical effects and may have issues when run through VirtualGL  The Linux Community has developed several alternatives to these desktops which act like the older user interfaces.  These include Xfce4, MATE, gnome-session-fallback.  These desktops can generally be found in the OS repository