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`
OBS-URL: https://build.opensuse.org/package/show/X11:Bumblebee/VirtualGL?expand=0&rev=50
- update to 2.6.5:
1. Fixed a race condition that sometimes caused various fatal errors in the
interposed `glXMakeContextCurrent()` function if both GLX drawable IDs passed
to that function were the same window handle and the corresponding X window was
simultaneously resized in another thread.
2. Fixed an oversight whereby the addresses of the interposed
`glDrawBuffers()`, `glGetString()`, and `glGetStringi()` functions introduced
in 2.6.3[2] and 2.6.4[1] were not returned from the interposed
`glXGetProcAddress()` and `glXGetProcAddressARB()` functions.
3. VirtualGL now works properly with 3D applications that use the
`glNamedFramebufferDrawBuffer()` and `glNamedFramebufferDrawBuffers()`
functions (OpenGL 4.5) or the `glFramebufferDrawBufferEXT()` and
`glFramebufferDrawBuffersEXT()` functions (`GL_EXT_direct_state_access`) and
render to the front buffer.
4. Fixed a BadRequest X11 error that occurred when attempting to use the X11
Transport with a remote X connection.
5. Worked around an issue with certain GLX implementations that list
10-bit-per-component FB configs ahead of 8-bit-per-component FB configs and
incorrectly set `GLX_DRAWABLE_TYPE|=GLX_PIXMAP_BIT` for those 10-bpc FB
configs, even though they have no X visuals attached. This caused VirtualGL's
interposed `glXChooseVisual()` function to choose one of the 10-bpc FB configs
behind the scenes, which made it impossible to use the VGL Transport.
6. Fixed an issue whereby, when using the X11 Transport, a vertically flipped
image of a previously-rendered frame was sometimes displayed if the 3D
application called `glFlush()` while the front buffer was the active drawing
buffer and the render mode was `GL_FEEDBACK` or `GL_SELECT`.
7. `vglserver_config` now works properly if invoked with a relative path
(for example, `cd /opt/VirtualGL/bin; sudo ./vglserver_config`.)
8. Worked around a limitation in the AMDGPU drivers that prevented recent
versions of Google Chrome from enabling GPU acceleration when used with
OBS-URL: https://build.opensuse.org/request/show/856978
OBS-URL: https://build.opensuse.org/package/show/X11:Bumblebee/VirtualGL?expand=0&rev=46