Skip to content

2.1 beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@dcommander dcommander released this 28 Jul 20:11

Assets

  • VirtualGL-2.1beta1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
  • Refer to https://VirtualGL.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.

Support

Code Quality: Beta
Current Support Category: EOL

Release Notes

Significant changes relative to 2.0.1:

  1. The VirtualGL Configuration dialog is now implemented using FLTK instead of X Intrinsics. The dialog is also now handled by a separate process (vglconfig), to avoid application interaction issues. VirtualGL and vglconfig communicate changes to the configuration through shared memory.

    Note that this renders both the VGL_GUI_XTTHREADINIT configuration option and the corresponding application recipe for VisConcept unnecessary, and thus both have been removed.

  2. Added two new scripts (vglconnect and vgllogin) to automate the process of connecting to a VirtualGL server and using the VGL Image Transport (formerly "Direct Mode.") vglconnect wraps both vglclient and SSH. Through the use of command-line arguments, vglconnect can be configured to forward either the X11 traffic or the VGL Image Transport (or none or both) over the SSH connection. vglconnect invokes vgllogin on the server, which configures the server environment with the proper VGL_CLIENT and VGL_PORT values so that, once connected, no further action is required other than to launch a 3D application with vglrun. See the User's Guide for more information.

  3. The VirtualGL Client includes many changes to support vglconnect. Rather than listen just on ports 4242 and 4243, the default behavior of vglclient is now to find a free listening port in the range of 4200-4299 (it tries 4242 and 4243 first, to maintain backward compatibility.) The VirtualGL Client records its listening port in an X property that is later read by the VirtualGL Faker. This feature allows more than one instance of vglclient to run on the same machine. The VirtualGL Client can also detach completely from the console and run as a background daemon, exiting only when the X server resets or when vglclient is explicitly killed.

    Previous versions of VirtualGL required one instance of the VirtualGL Client to talk to all client-side X displays, but this created problems in multi-user environments. Thus, VirtualGL 2.1 runs a separate instance of vglclient for each unique X display. This eliminates the need (as well as the ability) to run vglclient as a root daemon or as a Windows service, and thus those features have been removed.

    Since vglclient is intended to be launched from vglconnect, Start Menu links to the VirtualGL Client are no longer included in the Windows package.

    See the User's Guide for more information about the changes to the VirtualGL Client.

  4. The Windows VirtualGL package now includes an optimized version of PuTTY 0.60, which is used by the Windows version of vglconnect. When tunneling the VGL Image Transport, this version of PuTTY provides significantly better performance than the stock version of PuTTY 0.60.

  5. Added a new script (vglserver_config) to automate the process of configuring the 3D X server to allow connections from VirtualGL. This script can also be used to configure GLP, for machines that support it. See the User's Guide for more information.

  6. The VirtualGL Unix packages now include a benchmark called "GLXSpheres", which is an open source look-alike of the old nVidia SphereMark demo. This program is meant to provide an alternative to GLXGears, since the images generated by the latter program contain too much solid color to be a good test of VirtualGL's image pipeline. GLXSpheres also includes modes that can be used to test VirtualGL's support of advanced OpenGL features, such as stereo, overlays, and color index rendering.

  7. VirtualGL now works properly with multi-process OpenGL applications that use one process to handle X events and another process to handle 3D rendering. In particular, this eliminates window resize issues with Abaqus/CAE and with the Chromium readback SPU.

  8. Added an additional subsampling option to enable grayscale JPEG encoding. This provides additional bandwidth savings over and above chrominance subsampling, since grayscale throws away all chrominance components. It is potentially useful when working with applications that already render grayscale images (medical imaging, etc.)

  9. VirtualGL can now encode rendered frames as uncompressed RGB and send those uncompressed frames through the VGL Image Transport. This has two benefits:

    • It eliminates the need to use the X11 Image Transport (formerly "Raw Mode") over a network, and
    • It provides the ability to send lossless stereo image pairs to a stereo-enabled client.

    A gigabit or faster network is recommended when using RGB encoding.

  10. Anaglyphic stereo support. When VirtualGL detects that an application has rendered something in stereo, its default behavior is to try using quad- buffered stereo. However, if the client or the image transport do not support quad-buffered stereo, then VirtualGL will fall back to using anaglyphic (red/cyan) stereo. This provides a quick & dirty way to visualize stereo data on clients that do not support "real" stereo rendering.

    VirtualGL 2.1 can also be configured to transport only the left eye or right eye images from a stereo application.

  11. Changed the way VirtualGL spoils frames. Previous versions would throw out any new frames if the image transport was already busy transporting a previous frame. In this release, VirtualGL instead throws out any untransported frames in the queue and promotes every new frame to the head of the queue. This ensures that the last frame in a rendering sequence will always be transported.

  12. Better integration with the Sun Ray plugin. In particular, many of the Sun Ray plugin's configuration options can now be configured through the VirtualGL Configuration dialog.

  13. The Mac VirtualGL Client is now fully documented.

  14. Included mediaLib Huffman encoding optimizations contributed by Sun. This boosts the performance of VirtualGL on Solaris systems by as much as 30%. This, in combination with mediaLib 2.5, should allow the Solaris/x86 version of VirtualGL to perform as well as the Linux version, all else being equal.

  15. Lighting did not work properly for color index applications in prior versions of VGL. This has been fixed.

  16. Fixed an interaction issue with the 100 series nVidia drivers, whereby applications that requested a single-buffered RGB visual would sometimes fail to obtain it through VirtualGL. The newer nVidia drivers don't always return an RGB 8/8/8 framebuffer config as the first in the list, so it was necessary for VirtualGL to specify GLX_RED_SIZE, GLX_GREEN_SIZE, and GLX_BLUE_SIZE when obtaining a framebuffer config on the 3D X server.

  17. Interframe comparison now works properly with stereo image pairs, and interframe comparison can now be disabled by using the VGL_INTERFRAME option.