VirtualGL Changelog

What's new in VirtualGL 2.3.3

Jan 3, 2014
  • VirtualGL will no longer throw an exception if a 3D application calls certain X11 and GLX functions with a NULL argument. It will instead allow the underlying X11 or GLX library to handle the error. This specifically works around an issue with Fiji.
  • Worked around an issue whereby, when ANSYS Workbench 14.5 was run with VirtualGL, subprocesses (such as the geometry editor) launched from within the Workbench environment would not exit properly (and thus would become zombies.) This issue also affected ANSYS HFSS, which would either lock up when exiting or would print an error message: "terminate called after throwing an instance of 'rrerror'".
  • Worked around an issue whereby, when using MAGMA5 with VirtualGL, the second and subsequent perspectives opened within the application would not always display correctly.
  • Added support for the GLX_EXT_texture_from_pixmap extension.
  • Added support for the GLX_EXT_swap_control and GLX_SGI_swap_control extensions and a new configuration variable (VGL_REFRESHRATE) that can be used to control them. See the User's Guide for more information.
  • Added support for depth=32 visuals and FB configs.
  • Added a new "window manager" mode that disables certain features in VirtualGL that interfere with 3D window managers such as compiz. This, combined with [6] and [4] above, should allow compiz to run properly with this version of VirtualGL, provided that the 2D X Server has support for the X Composite extension. See the User's Guide for more information.
  • Fixed a BadDrawable X11 error that occurred when running the Steam client in VirtualGL.
  • Improved the accuracy of TCBench and CPUstat.
  • Streamlined VirtualGL's behavior when it is installed from source: -- vglrun now works regardless of where the faker libraries have been installed. The build system hard-codes the value of the VGL_LIBDIR CMake variable into a script that vglrun invokes so it can add this directory to LD_LIBRARY_PATH. If the faker libraries are installed into a system library directory, then packagers can choose to omit the new script, and vglrun will continue to work as it always has. -- Whenever a 64-bit build is installed, glxspheres is now renamed glxspheres64, per the convention of the official packages. This makes it possible to install a 32-bit and a 64-bit version of VirtualGL into the same directory. -- If the install prefix is set to the default (/opt/VirtualGL), then the build system defaults to installing faker libraries from a 32-bit build into /opt/VirtualGL/lib32 and faker libraries from a 64-bit build into /opt/VirtualGL/lib64. -- Similarly, if the install prefix is set to the default (/opt/VirtualGL), then the build system defaults to installing the libGL symlink for Chromium from a 32-bit build into /opt/VirtualGL/fakelib32 and the libGL symlink for Chromium from a 64-bit build into /opt/VirtualGL/fakelib64.
  • PBO readback mode is now enabled by default. Further research has shown that professional-grade GPUs always benefit from PBOs being enabled (quite dramatically, in the case of AMD FirePro adapters.) With consumer-grade AMD adapters, PBOs generally do no harm, and with consumer-grade nVidia (GeForce) adapters, the results are mixed. The GeForce drivers will fall back to blocking readbacks if the pixel format requested in glReadPixels() doesn't match the pixel format of the Pbuffer, so PBOs will generally be slower in those cases. Thus, VirtualGL now falls back to synchronous readback mode if it detects that PBOs are not behaving asynchronously.
  • Further, VGL_FORCEALPHA is no longer enabled by default when PBOs are enabled. This option was introduced because of the GeForce behavior mentioned above, but the option has no effect whatsoever with the professional-grade GPUs that are recommended for use with VirtualGL. Instead, VGL will now detect situations in which VGL_FORCEALPHA might be beneficial and suggest enabling or disabling it (if VGL_VERBOSE=1.)
  • This version of VirtualGL provides a binary package and full support for Cygwin64.