Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2016-09-23 | 5.5 kB | |
VirtualGL-2.4.tar.gz.sig | 2016-09-23 | 72 Bytes | |
VirtualGL-Utils64-2.4.exe | 2015-08-15 | 219.4 kB | |
VirtualGL-Utils-2.4.exe | 2015-08-15 | 193.6 kB | |
VirtualGL-debuginfo-2.4.x86_64.rpm | 2015-08-15 | 1.2 MB | |
VirtualGL-debuginfo-2.4.i386.rpm | 2015-08-15 | 1.2 MB | |
VirtualGL-2.4.x86_64.rpm | 2015-08-15 | 1.2 MB | |
VirtualGL-2.4.src.rpm | 2015-08-15 | 1.1 MB | |
VirtualGL-2.4.i386.rpm | 2015-08-15 | 1.2 MB | |
virtualgl_2.4_i386.deb | 2015-08-15 | 1.3 MB | |
virtualgl_2.4_amd64.deb | 2015-08-15 | 1.3 MB | |
virtualgl32_2.4_amd64.deb | 2015-08-15 | 396.8 kB | |
VirtualGL-2.4.tar.gz | 2015-01-26 | 1.1 MB | |
VirtualGL-2.4.dmg | 2015-01-26 | 1.1 MB | |
Totals: 14 Items | 11.4 MB | 0 |
These packages were built with libjpeg-turbo 1.4.0:
http://sourceforge.net/projects/libjpeg-turbo/files/1.4.0/
Package signatures
To ensure the integrity of the VirtualGL binary packages, the RPM and DEB files
and the source tarball are signed using the following key:
http://www.VirtualGL.org/key/VGL-GPG-KEY-1024
http://pgp.mit.edu/pks/lookup?op=get&search=0x6BBEFA1972FEB9CE
and the Windows installers are signed using a code signing certificate.
Cygwin
See http://www.virtualgl.org/Documentation/Cygwin for Cygwin installation instructions.
2.4
Significant changes relative to 2.4 beta1:
-
Fixed an issue that prevented recent versions of Google Chrome/Chromium from running properly in VirtualGL.
-
VGL_SYNC
now affectsglFlush()
. Although this does not strictly conform to the OpenGL spec (glFlush()
is supposed to be an asynchronous command), it was necessary in order to make certain features of Cadence Allegro work properly. Since virtually no applications requireVGL_SYNC
, it is believed that this change is innocuous. -
Fixed a regression in vglconnect (introduced in VirtualGL 2.3) that prevented
vglconnect -x
from working properly if the user did not have access to the current directory (vglconnect was erroneously creating a temporary file in the current directory instead of in /tmp.) -
GLXspheres now warns if the specified polygon count would exceed the limit of 57600 polygons per sphere imposed by GLU and prints the actual polygon count with this limit taken into account. Also, a new option (
-n
) has been introduced to increase the sphere count. -
VirtualGL will now only enable color index rendering emulation if a color index context is current. This specifically fixes an interaction issue with MSC Mentat, which occasionally calls
glIndexi()
when an RGBA context is current, but the fix may affect other applications as well. -
VirtualGL can now interpose enough of the XCB API to make Qt 5 work properly. Qt 5 does not use XCB to perform 3D rendering (there is no suitable XCB replacement for GLX yet), but it does use XCB to detect whether the GLX extension is available and to handle the application's event queue(s). Thus, when attempting to run Qt 5 applications in VirtualGL, previously the OpenGL portion of the window would fail to resize when the window was resized, or the application would complain that OpenGL was not available and fail to start, or the application would fall back to non-OpenGL rendering.
Currently, enabling XCB support in VirtualGL requires building VirtualGL from source and adding
-DVGL_FAKEXCB=1
to the CMake command line. The XCB interposer is also disabled by default at run time. It must be enabled by setting theVGL_FAKEXCB
environment variable to1
or passing+xcb
to vglrun. -
Fixed a deadlock that occurred when running compiz 0.9.11 (and possibly other versions as well) with VirtualGL. The issue occurred when compiz called
XGrabServer()
, followed byglXCreatePixmap()
andglXDestroyPixmap()
. In VirtualGL, a GLX pixmap resides on the 3D X server, but the corresponding X11 pixmap resides on the 2D X server. Thus, VirtualGL has to synchronize pixels between the two pixmaps in response to certain operations, such asXCopyArea()
andXGetImage()
, or when the GLX pixmap is destroyed. VirtualGL was previously opening a new connection to the 2D X server in order to perform this synchronization, and because the 2D X server was grabbed, compiz locked up when VirtualGL calledXCloseDisplay()
on the new display connection. In fact, however, the new display connection was unnecessary, since the GLX/X11 pixmap synchronization occurs within the 3D rendering thread. Thus, VirtualGL now simply reuses the same display connection that was passed toglXCreate[GLX]Pixmap()
. -
NetTest and TCBench for Windows are now supplied in a package called VirtualGL-Utils, which can be built from the VirtualGL source. When the VirtualGL Client for Exceed was discontinued, these utilities ceased to have a home, but they are still useful tools to have, irrespective of the thin client solution that is being used. The Windows build of TCBench was temporarily moved into the Windows TurboVNC Viewer packages, but it proved to be a pain to keep the source code synchronized between the two projects.
The VirtualGL-Utils package additionally contains a WGL version of GLXspheres, which is a useful tool to have when benchmarking Windows virtual machines that are running in a VirtualGL environment.
-
Worked around an issue in recent versions of SPECviewperf and FEMFAT visualizer that caused them to segfault when used with VirtualGL. Those applications apparently use a dynamic loading mechanism for OpenGL extension functions, and this mechanism defines symbols such as "glGenBuffers" at file scope. Any symbol exported by an application will override a symbol of the same name exported by a shared library, so when VirtualGL tried to call
glGenBuffers()
,glBindBuffer()
, etc., it was picking up the symbols from the application, not from libGL (and those symbols from the application were not necessarily defined.) VirtualGL now obtains the function pointers it needs for PBO readback directly from libGL usingglXProcAddress()
, rather than relying on the dynamic linker to resolve them. Note that this issue could be worked around in previous versions of VirtualGL by settingVGL_READBACK=sync
.