github VirtualGL/virtualgl 3.0beta1
2.6.90 (3.0 beta1)

latest releases: 3.0, 3.0rc1
2 years ago

Release sponsors

This release was made possible via generous financial contributions from:

Altair Engineering, Inc.

Google, Inc.

Nimbix, Inc.

Significant changes relative to 2.6.5:

  1. Support for transparent overlay visuals has been retired in this version of VirtualGL. That feature will continue to be maintained in the 2.6.x branch on a break/fix basis only. Most applications that once used transparent overlay visuals used them with color index rendering, which was removed in OpenGL 3.1 in 2009. Thus, almost all applications that render overlays now do so using other mechanisms. Furthermore, the need for VirtualGL to hand off the rendering of transparent overlay visuals to the 2D X server has always limited the usefulness of the feature, and the discontinuation of the VirtualGL Client for Exceed relegated the feature to Un*x clients (with workstation-class GPUs) and the VGL Transport only. Given that nVidia's implementation of transparent overlay visuals requires disabling the X Composite extension, which cannot be done in many modern Linux distributions, that further limited the feature to the point of uselessness.

  2. The VirtualGL Faker now assigns various permutations of common OpenGL rendering attributes to the available 2D X server visuals. This maximizes the chances that "visual hunting" 3D applications (applications that use X11 functions to obtain a list of 2D X server visuals, then iterate through the list with glXGetConfig() until they find a visual with a desired set of OpenGL rendering attributes) will find a suitable visual. VGL_DEFAULTFBCONFIG can still be used to assign a specified set of OpenGL rendering attributes to all 2D X server visuals, although the usefulness of that feature is now very limited.

  3. The VirtualGL Faker now includes an EGL back end that optionally emulates the GLX API using a combination of the EGL API (with the EGL_EXT_platform_device extension) and OpenGL renderbuffer objects (RBOs.) On supported platforms, the EGL back end allows the VirtualGL Faker to be used without a 3D X server. The EGL back end can be activated by setting the VGL_DISPLAY environment variable to the path of a DRI device, such as /dev/dri/card0, or by passing that device path to vglrun using the -d argument. Some obsolete OpenGL and GLX features are not supported by the EGL back end:

    • glXCopyContext()
    • Accumulation buffers
    • Aux buffers
    • Indirect OpenGL contexts

    The EGL back end also does not currently support the following GLX extensions:

    • GLX_ARB_create_context_robustness
    • GLX_ARB_fbconfig_float
    • GLX_EXT_create_context_es2_profile
    • GLX_EXT_fbconfig_packed_float
    • GLX_EXT_framebuffer_sRGB
    • GLX_EXT_import_context
    • GLX_EXT_texture_from_pixmap
    • GLX_NV_float_buffer

    Those extensions are supported by the GLX back end if the 3D X server supports them. The EGL back end also requires a 2D X server with a GLX extension.

  4. Fixed an issue whereby, when the 2D X server was using a "traditional" window manager (such as TWM) or no window manager and the X11 Transport was not using the MIT-SHM X extension (because the extension was unavailable or explicitly disabled/bypassed, because the X connection was remote, or because the 3D application and the 2D X server did not share an IPC namespace), unhandled X NoExpose events would continue to queue up in Xlib until the 3D application exited or the available memory on the VirtualGL server was exhausted.

Don't miss a new virtualgl release

NewReleases is sending notifications on new releases.