- update to 3.1.4:
* 1. The VirtualGL Faker now includes an optional workaround
for an interaction issue with the X visual selection mechanism in
Chrome/Chromium v129 and later and MATLAB R2025a and later.
* 2. Fixed a regression introduced by 3.1 beta1[3] that
prevented the faker from enabling quad-buffered stereo, even
if the requirements for quad-buffered stereo had been met.
* 3. On Wayland-enabled Linux systems running GDM,
`vglserver_config` no longer disables the ability to log in
locally with a Wayland session. Instead,
`vglrun` automatically sets `VGL_DISPLAY` to `:1024` if
`VGL_DISPLAY` is unset,
X Display :1024 exists, and X Display :0 does not exist.
This allows VirtualGL to use the GDM greeter's Xwayland
instance as a 3D X server.
* 1. Fixed an issue whereby, with certain GPU drivers
(including nVidia's proprietary drivers), the EGL back end
did not release the GPU resources associated with an OpenGL
context when that context was unbound from a rendering thread.
* 2. Fixed an error ("undefined symbol: eglGetProcAddress")
that occurred when attempting to run a GLX application using
the EGL back end and `vglrun -nodl`.
* 3. Fixed an issue whereby the VirtualGL Configuration dialog
did not pop up if the Num Lock key was on.
OBS-URL: https://build.opensuse.org/request/show/1318306
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/VirtualGL?expand=0&rev=19
* 1. The VirtualGL Faker now includes an optional workaround
for an interaction issue with the X visual selection mechanism in
Chrome/Chromium v129 and later and MATLAB R2025a and later.
* 2. Fixed a regression introduced by 3.1 beta1[3] that
prevented the faker from enabling quad-buffered stereo, even
if the requirements for quad-buffered stereo had been met.
* 3. On Wayland-enabled Linux systems running GDM,
`vglserver_config` no longer disables the ability to log in
locally with a Wayland session. Instead,
`vglrun` automatically sets `VGL_DISPLAY` to `:1024` if
`VGL_DISPLAY` is unset,
X Display :1024 exists, and X Display :0 does not exist.
This allows VirtualGL to use the GDM greeter's Xwayland
instance as a 3D X server.
* 1. Fixed an issue whereby, with certain GPU drivers
(including nVidia's proprietary drivers), the EGL back end
did not release the GPU resources associated with an OpenGL
context when that context was unbound from a rendering thread.
* 2. Fixed an error ("undefined symbol: eglGetProcAddress")
that occurred when attempting to run a GLX application using
the EGL back end and `vglrun -nodl`.
* 3. Fixed an issue whereby the VirtualGL Configuration dialog
did not pop up if the Num Lock key was on.
OBS-URL: https://build.opensuse.org/package/show/X11:Bumblebee/VirtualGL?expand=0&rev=58
- update to 3.1.1:
* The EGL back end now supports OpenGL applications, including
ANSYS Fluent, that use multiple X11 Display handles to render to
the same GLX drawable.
* The VirtualGL Faker now works around an issue whereby
applications using the GtkGLArea widget with GTK v3.15.2 through
v4.3.1 failed with "No available configurations for the given
[RGBA] pixel format" if GTK v3.15.2 through v4.3.1 had previously
been initialized on the 2D X server without VirtualGL.
* As required by the EGL spec, the interposed `eglSwapBuffers()`
function now flushes the current OpenGL context if the surface
being swapped is bound to that context. This fixes a flickering
issue that occurred with recent versions of Firefox.
* It is no longer necessary to enable the EGL back end in order to
use VirtualGL with 3D applications that use the EGL/X11 API. If
the GLX back end is enabled, then the EGL/X11 interposer will now
use the 3D X server.
* Fixed an issue in the VirtualGL Faker that caused random characters
and other elements of the Firefox browser window to disappear when
the window was resized.
* Fixed an issue in VirtualGL's `dlopen()` interposer
(**libdlfaker.so**) that interfered with the correct operation of
ANGLE (Almost Native Graphics Layer Engine.)
- add keyring for signature validation
* Now supports use of EGL as well as GLX
- Extend 64bit conditions to s390x ppc64 ppc64le aarch64
OBS-URL: https://build.opensuse.org/request/show/1217268
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/VirtualGL?expand=0&rev=18
* The EGL back end now supports OpenGL applications, including
ANSYS Fluent, that use multiple X11 Display handles to render to
the same GLX drawable.
* The VirtualGL Faker now works around an issue whereby
applications using the GtkGLArea widget with GTK v3.15.2 through
v4.3.1 failed with "No available configurations for the given
[RGBA] pixel format" if GTK v3.15.2 through v4.3.1 had previously
been initialized on the 2D X server without VirtualGL.
* As required by the EGL spec, the interposed `eglSwapBuffers()`
function now flushes the current OpenGL context if the surface
being swapped is bound to that context. This fixes a flickering
issue that occurred with recent versions of Firefox.
* It is no longer necessary to enable the EGL back end in order to
use VirtualGL with 3D applications that use the EGL/X11 API. If
the GLX back end is enabled, then the EGL/X11 interposer will now
use the 3D X server.
* Fixed an issue in the VirtualGL Faker that caused random characters
and other elements of the Firefox browser window to disappear when
the window was resized.
* Fixed an issue in VirtualGL's `dlopen()` interposer
(**libdlfaker.so**) that interfered with the correct operation of
ANGLE (Almost Native Graphics Layer Engine.)
- add keyring for signature validation
* Now supports use of EGL as well as GLX
- Extend 64bit conditions to s390x ppc64 ppc64le aarch64
OBS-URL: https://build.opensuse.org/package/show/X11:Bumblebee/VirtualGL?expand=0&rev=56
- update to 3.0.2:
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/request/show/1044106
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/VirtualGL?expand=0&rev=15
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