Releases: TurboVNC/turbovnc
1.0.90 (1.1 beta1)
Assets
- turbovnc-1.0.90.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.2.0.
Packaging Changes
- Solaris/x86 packages are no longer provided.
Support
Code Quality: Beta
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.1 (Beta)
Release Notes
Significant changes relative to 1.0.2:
-
autocutsel
has been replaced with a more robust and configurable clipboard transfer mechanism based on the VNC X11 extension and thevncconfig
utility used by RealVNC. -
The Unix TurboVNC Server now implements the X RENDER extension, which enables font anti-aliasing and animated cursors and fixes various issues with KDE 4. Additionally, the server now embeds the FreeType library for improved font display and compatibility.
-
Replaced the broken "software cursor" implementation of rich (full-color) cursor rendering in the X11 TurboVNC Viewer with a proper implementation that uses the Xcursor library. This specifically fixes pointer issues that occurred when connecting to the Unix TigerVNC 1.2 Server.
-
The Unix TurboVNC Server now implements rich (full-color) cursor encoding, so viewers that support this RFB extension (including TigerVNC 1.2 and later and TurboVNC 1.1 and later) can display full-color animated cursors when connecting to the TurboVNC Server.
-
Enhanced the screen scaling feature in the Java TurboVNC Viewer and added a GUI option to control it.
-
Added an idle timeout feature to the Unix TurboVNC Server which, when enabled, will cause it to exit automatically whenever a certain number of seconds have elapsed since the last active VNC viewer connection.
-
Added a
-noxstartup
option tovncserver
, which prevents it from executing thexstartup.turbovnc
script. This is useful for those who may want to occasionally run TurboVNC without a window manager. -
Fixed image corruption that occurred when using the Lossless Tight or Lossless Tight + Zlib protocols with the X11 TurboVNC Viewer running on a 16-bit-per-pixel X server.
-
Fixed TurboVNC Server build on ARM-based Linux systems
-
Added Xvnc command-line options and authentication configuration file directives for disabling clipboard transfer.
-
Added two options (
-alrqual
and-alrsamp
) to Xvnc that allow for sending automatic lossless refreshes using JPEG rather than mathematically lossless images. -
Fixed an issue whereby the Windows TurboVNC Viewer, when running on Windows 7, would display an all-white image on one of the monitors in a multi-monitor configuration the first time the viewer was switched to full-screen mode.
-
Changed the default full-screen behavior in the Windows TurboVNC Viewer such that the window only spans multiple monitors if the remote desktop will not fit on a single monitor. Added options to the command line, GUI, and .vnc file to allow users to override this behavior and force full-screen windows to always occupy one monitor or all monitors.
-
Fixed numerous issues with full-screen mode in the X11 TurboVNC Viewer.
-
Implemented
-autopass
option in the Windows TurboVNC Viewer, which works the same as the equivalent option in the X11 TurboVNC Viewer. In both viewers,-autopass
can now be used with Unix Login Authentication as well. -
Added an option to the F8 menu in the X11 TurboVNC Viewer that allows view-only mode to be enabled/disabled on an active VNC connection.
-
The TurboVNC Server should now build and run properly on FreeBSD.
-
Added ZRLE encoding to the Unix TurboVNC Server, which may improve performance with the RealVNC Viewer under certain circumstances.
-
The Windows TurboVNC Server (WinVNC) is no longer provided, as it was badly broken, and the only way to fix it would have involved a complete re-architecture.
-
The TurboVNC Server now includes a non-functional implementation of the X Input extension, primarily to avoid crashes in recent versions of GNOME that aren't smart enough to check for that extension's existence before using it.
-
Implemented an authentication plugin mechanism for the Java TurboVNC Viewer, which allows sites to write their own external class for obtaining Unix login authentication credentials.
-
Although there were no known issues with the implementation of the automatic lossless refresh feature in TurboVNC 1.0.x, the feature was re-implemented without the use of threads, in order to make it easier to maintain.
1.0.2
Assets
- turbovnc-1.0.2.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.1.1.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.0.2
Release Notes
Significant changes relative to 1.0.1:
-
Fixed segfault in the Unix TurboVNC Server which occurred under certain rare circumstances when disconnecting a viewer from a server that was using multi-threaded compression.
-
If the user overrides the location of the password file (by passing
-rfbauth {file}
tovncserver
), thenvncserver
will no longer prompt the user to create a new VNC password if ~/.vnc/passwd does not exist. -
Fixed segfault in the Unix TurboVNC Server which occurred under certain rare circumstances when shutting down a server that was using multi-threaded compression.
-
Fixed an issue in the Java TurboVNC Viewer whereby it was sending spurious KeyPress/KeyRelease events in conjunction with certain mouse events.
-
Numerous build system changes, including the use of CMake for Windows builds and support for out-of-tree Xvnc builds.
-
Added a
-config
option to the X11 TurboVNC Viewer which allows it to read .vnc connection info files saved by the Windows TurboVNC Viewer.
1.0.1
Assets
- turbovnc-1.0.1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.1.0, which includes a fix that eliminates visual artifacts when the JPEG quality level is set to 98 or higher and a fix that eliminates visual artifacts in grayscale JPEG compression caused by a typo in the RGB-to-luminance lookup tables.
Packaging Changes
- Debuginfo RPM packages are now provided. These packages install debugging symbols to facilitate using a debugger, such as GDB, with the TurboVNC Server.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.0.1
Release Notes
Significant changes relative to 1.0:
-
Fixed segfault in the Unix TurboVNC Server which occurred in the
miRegionDestroy()
function under certain rare circumstances. -
Fixed segfault in the Unix TurboVNC Server which occurred in the
cfb32ClippedLineCopy()
function under certain rare circumstances. -
vncserver
arguments can now be specified in the /etc/sysconfig/tvncservers file using an array calledVNCSERVERARGS
. This works the same as in RealVNC 4. -
The
-via
option in the X11 TurboVNC Viewer now uses ephemeral ports to bind the client side of the SSH tunnel. This should prevent port conflicts that could occur when multiplevncviewer
instances tried to use the-via
option simultaneously.
1.0
Assets
- turbovnc-1.0.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.0.1.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
Release Notes
Significant changes relative to 1.0 beta1:
-
The Windows TurboVNC Viewer should now work properly with displays that use a 24-bit (as opposed to a 32-bit) pixel format (this includes Remote Desktop and Citrix sessions.)
-
Eliminated the use of the dangerous
alloca()
(stack-based allocation) function in Xvnc and replaced it with heap-based allocation (malloc()
andfree()
.) -
Eliminated a segfault in
pthread_join()
which would occur under certain circumstances when using multithreading in the TurboVNC Server. -
To maintain consistency with other versions of VNC, added
-nohttpd
option tovncserver
as an alias for-nohttp
. -
Fixed an issue whereby certain applications which draw hundreds of thousands of tiny lines or points on the screen would cause the TurboVNC Viewer to abort with an "unhandled message type" error or would cause the viewer to freeze for several minutes.
-
Fixed a security loophole whereby RealVNC viewers were able to connect with a blank password if PAM and OTP authentication were enabled on the TurboVNC Server and the OTP was not set.
0.6.90 (1.0 beta1)
Assets
- turbovnc-0.6.90.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.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
Documentation
User’s Guide for TurboVNC 1.0 (Beta)
Release Notes
Significant changes relative to 0.6:
-
Multi-threaded the Tight encoder in the Unix/Linux TurboVNC Server so that it can take advantage of multi-core systems. See documentation for further details.
-
Added authentication extensions which allow viewers to authenticate using one-time passwords and Unix login credentials. See documentation and man pages for details.
-
Added scroll wheel support to the Java TurboVNC viewer (requires JRE 1.4 or later.)
-
Added automatic lossless refresh (ALR) feature, which sends a mathematically lossless copy of the screen during periods of inactivity. See documentation for details.
-
For Linux, Mac/Intel, Solaris/x86, and Windows systems, the default build of TurboVNC no longer uses TurboJPEG/IPP (which was based on the proprietary Intel Performance Primitives) or Sun mediaLib. Instead, TurboVNC now uses libjpeg-turbo, a fully open source vector-accelerated JPEG codec developed in conjunction with the TigerVNC Project (and based on libjpeg/SIMD.)
As a result of this, the TurboVNC RPMs and DEBs are now self-contained.
-
The
uninstall
script in the Mac distribution package should now work on OS X 10.6. -
Added 64-bit Solaris and Windows binary packages, as well as a universal 32/64-bit binary package for OS X.
-
Fixed a number of interaction issues between turbovncserver.conf and the
vncserver
script, and added configuration file options for the new TurboVNC features, such as ALR. -
Performance of the OS X viewer should generally be better (prior versions were not being built with compiler optimizations, due to the use of the antiquated imake build system.)
-
Generally robustified
vncserver -kill
. In this release, if Xvnc aborts unexpectedly for any reason, then attempting to runvncserver -kill :N
for the session will print a warning message about the process aborting and will then try to clean up the orphaned X socket files. If Xvnc deadlocks, then attempting to runvncserver -kill :N
will warn about the deadlock and forego deleting the PID file (so you cankill -9
the process yourself and then re-runvncserver -kill
to clean up the orphaned files.) -
Integrated
autocutsel
into the TurboVNC Server distribution for Unix/Linux in order to work around issues with the clipboard transfer feature. -
In the Windows TurboVNC Viewer, full-screen mode will now span all monitors in a multi-monitor configuration, not just the primary monitor.
-
Added automatic clipboard transfer to the Java TurboVNC Viewer.
-
Removed the warning dialog in the Windows viewer if full screen mode is activated via a hotkey (the reasoning being that if the user knows the hotkey to activate full screen mode, then they know how to deactivate it as well.)
-
Fixed an issue whereby the TurboVNC Server would crash when a VirtualGL window was resized to larger than 2.75 megapixels.
-
Added double buffering option to Java TurboVNC Viewer.
-
"Login again" button now works when running the Java TurboVNC Viewer as a standalone application.
-
Fix a couple of potential buffer overruns in Xvnc's embedded HTTP server.
0.6
Assets
- turbovnc-0.6.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
Documentation
Release Notes
Significant changes relative to 0.5.1:
-
Integrated TightVNC 1.3.10 enhancements and fixes, including 64-bit support for Linux and Solaris. See the TightVNC Change Log (WhatsNew or WhatsNew.txt) for more details.
-
When connecting a TigerVNC or TightVNC Viewer to a TurboVNC server, the TurboVNC server will now translate JPEG quality levels into actual JPEG quality and subsampling using the same translation table used by the TigerVNC Server. See the TurboVNC User's Guide for more details.
-
Created the TurboVNC User's Guide, which mostly consists of the TurboVNC chapters that were formerly in the VirtualGL User's Guide.
-
Fixed an issue on OpenSolaris whereby a TurboVNC session would start but would display a blank X Windows screen with no window manager. This was due to the
vncserver
script passing an argument of-nolisten local
to Xvnc on all Sun platforms, and this doesn't work on OpenSolaris. The-nolisten local
option was necessary to get Xvnc to work on earlier versions of Solaris, but it is no longer necessary with Solaris 10. If you are running TurboVNC on an older Solaris release, then you can pass-nolisten local
to/opt/TurboVNC/bin/vncserver
to get back the behavior of TurboVNC 0.5.x (or uncomment that line in thevncserver
script.)
0.5.1
Assets
- turbovnc-0.5.1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
Documentation
User’s Guide for VirtualGL 2.1.3 and TurboVNC 0.5.1
Release Notes
Significant changes relative to 0.5:
-
Fixed a buffer overrun issue in TurboJPEG/mediaLib that may have caused problems on Solaris/x86 TurboVNC hosts.
-
Developed a proper uninstaller app for the Mac OS X TurboVNC package.
-
Modified
MAXINST
variable in SUNWtvnc Solaris package to prevent multiple instances of this package from being installed simultaneously.
0.5
Assets
- turbovnc-0.5.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
Documentation
User’s Guide for VirtualGL 2.1.1 and TurboVNC 0.5
Release Notes
This release was historically part of the Sun Shared Visualization v1.1.1 product.
Significant changes relative to 0.4:
-
The Windows TurboVNC Server now works properly (albeit more slowly) when the host's graphics card is configured for a 16-bit pixel depth.
-
0.4[12] was supposed to allow
vncserver
to work even ifxauth
was not in thePATH
, but unfortunately there was a bug in that patch. This bug has been fixed, sovncserver
should now really work ifxauth
is not in thePATH
. -
It was discovered that pure JPEG encoding was not the most efficient method of compression for all 3D image workloads. Particularly, CAD applications and other types of applications that generate images with sharp edges and reduced color palettes compress much better with traditional Tight encoding. However, traditional Tight encoding is too slow to stream real-time full-screen 3D images. Thus, a hybrid scheme was developed which uses the fastest elements of Tight encoding with minimal Zlib compression for low-color-depth image tiles and continues to use TurboJPEG for high-color-depth image tiles. The resulting compression scheme should be both tighter and faster than the pure TurboJPEG protocol used by previous versions of TurboVNC.
-
The Unix TurboVNC Server now executes
~/.vnc/xstartup.turbovnc
instead of~/.vnc/xstartup
. This is to avoid conflicts with other VNC flavors. -
Shift-Click and Control-Click now work properly when using the X11 TurboVNC Viewer.
-
Further optimized the Huffman encoder in the mediaLib implementation of TurboJPEG. This should decrease the CPU usage when running TurboVNC on Solaris hosts, particularly Solaris/x86 hosts.
-
When running in OpenSolaris, the default
xstartup.turbovnc
file did not launch JDS, since the JDS launch script is in a different location on that platform. This resulted in a TurboVNC session that had no window manager. This has been fixed. -
Increased TCP send buffer size to 64k in the Windows TurboVNC Server. This should improve performance significantly.
-
Generally improved compatibility with TightVNC and RealVNC. This included adding back in the Hextile decoder to the TurboVNC Viewer and adding back in support for 8-bit and 16-bit color depths (in both the viewer and the server.) See the TurboVNC Compatibility Guide for more information.
-
Changed default pixel format for Solaris TurboVNC sessions to ARGB/BGRA. This should improve performance by a bit on SPARC hosts.
-
Added 200% scaling option to the Windows TurboVNC Viewer GUI.
-
The TurboVNC server script now tries to figure out an appropriate font path for the system rather than using the X Font Server, since xfs is not universally available. If the script fails to figure out an appropriate font path, then it will fall back to using xfs.
-
Changed the scrollbar behavior in the X11 TurboVNC Viewer to more closely match that of "modern" windowing systems, in which the left mouse button is used to scroll in both directions.
-
Fixed an issue whereby GNOME would fail to start on SuSE 10 TurboVNC hosts if CSh was the default shell. The issue was that /opt/gnome/bin was not being added to the
PATH
by/etc/csh.cshrc
. This was worked around by adding it to thePATH
in~/.vnc/xstartup.turbovnc
. -
On Solaris machines, the TurboVNC Server will attempt to load the window manager startup script specified in ~/.dt/sessions/lastsession. This caused problems if the home directory was shared among multiple machines and the startup script did not exist on some of the machines (for instance, if the user's default windowing environment was JDS but they attempted to start TurboVNC on an older Solaris machine that had only CDE.) This has been fixed by adding a line to
xstartup.turbovnc
which checks to make sure that the script specified in ~/.dt/sessions/lastsession exists and is executable before executing it. -
Fixed a bug in the color conversion routines of TurboJPEG/mediaLib which caused the Solaris TurboVNC Viewer to display spurious multi-colored vertical lines when 2X or 4X subsampling was used.
-
When requesting a Lossless Refresh using the TurboVNC Viewer on a Linux or Solaris/x86 client, the pixels obscured by the F8 dialog will be regenerated using lossy compression after the lossless refresh has occurred. This makes the lossless refresh somewhat ineffective. We were not able to find a fix for this in 0.5, but as a workaround, you can now use the hotkey sequence CTRL-ALT-SHIFT-L to request a Lossless Refresh without popping up the F8 dialog.
0.4
Assets
- turbovnc-0.4.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
Documentation
User’s Guide for VirtualGL 2.1 and TurboVNC 0.4
Release Notes
This release was historically part of the Sun Shared Visualization v1.1 product.
Significant changes relative to 0.3.3:
-
Added relevant patches from TightVNC 1.3.9
-
Added lossless refresh feature, which instructs the server to send a mathematically lossless (Zlib-encoded RGB) copy of the current screen. This feature does not currently work with the Windows TurboVNC Server, because the Windows TurboVNC Server processes framebuffer update requests asynchronously.
-
Modified
/opt/TurboVNC/bin/vncserver
so that it invokesXvnc
with the arguments-deferupdate 1
. This sets the deferred update timer to 1 ms rather than its default value of 40 ms, which has two effects:- It improves the performance of Solaris TurboVNC sessions dramatically when connecting to them over a high-speed network.
- It eliminates the need for the "High-Latency Network" switch in the TurboVNC Viewer. In prior versions of TurboVNC, leaving this switch on when connecting over a high-speed network incurred a severe performance penalty. Since this is no longer the case, the switch is left on all the time and is no longer configurable.
NOTE: The aforementioned performance penalty will still be incurred when connecting a TurboVNC 0.4 viewer to an older (pre-0.4) TurboVNC server over a high-speed network. Start the server with
/opt/TurboVNC/bin/vncserver -deferupdate 1
to avoid this, or simply upgrade the server to 0.4. -
Added an option for lossless (uncompressed RGB) image encoding. This is useful for reducing CPU usage on the host and client (at the expense of increased network usage) when connecting over a gigabit (or faster) network.
-
Added a "Medium Quality" connection profile to the Windows, X11, and Java TurboVNC Viewers (and subsequently removed the "Broadband (favor image quality)" profile, which is no longer necessary due to [3].) The "Medium Quality" profile sets the JPEG quality to 80 with 2X chrominance subsampling, which (on average) should use about half the bandwidth of the "High Quality" profile (quality=95, no subsampling) and twice the bandwidth of the "Low Quality" profile (quality=30, 4x subsampling.)
-
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 pixels. It is potentially useful when working with applications that already render grayscale images (medical imaging, etc.)
-
Fixed embedded Java viewer in the Windows TurboVNC Server (.jar file did not include all of the necessary classes)
-
Created symlink from /opt/TurboVNC to /opt/SUNWtvnc in the Solaris packages so that Solaris and Linux would have a consistent interface.
-
Removed unnecessary pixel format translation when sending JPEG from a big endian server to a little endian client (or vice versa.) This improves performance a bit when connecting x86 clients to Sparc hosts or vice versa.
-
Included mediaLib Huffman encoding optimizations contributed by Sun. This boosts the performance of the Solaris TurboVNC Server and Viewer by as much as 30%.
-
Changed default geometry to 1240x900, an appropriate size for most 1280x1024 displays.
-
vncserver
now looks forxauth
in /usr/X11R6/bin and /usr/openwin/bin before searching thePATH
. Those directories are sometimes not in thePATH
on Linux and Solaris systems. -
Modified Mac package such that
/opt/TurboVNC/bin/vncviewer
links to /opt/TurboVNC/lib/libturbojpeg.dylib rather than to /opt/VirtualGL/lib/libturbojpeg.dylib (oops.) This was causing the Mac TurboVNC Viewer to fail unless VirtualGL was also installed. -
Included an optimized version of PuTTY 0.60 in the Windows build (and viewer package.) It is recommended that this version be used when tunneling TurboVNC connections over SSH, as it will perform as much as 4X as fast as the stock version of PuTTY 0.60.
-
Fixed bug in
vncserver
script which was uncovered by running it with recent versions of Perl. -
Changed name of options registry key to avoid conflict with TightVNC
-
Open Java viewer in a new window (edit /opt/TurboVNC/vnc/classes/index.vnc to change this back.)
0.3.3
Assets
- turbovnc-0.3.3.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
Documentation
User’s Guide for VirtualGL 2.0.1 and TurboVNC 0.3.3
Release Notes
This release was historically part of the Sun Shared Visualization v1.0.x product.
Significant changes relative to 0.3.2:
-
Added a new preset to all VNC viewers which allows the user to select both the WAN protocol optimizations and perceptually lossless image quality.
-
Added
-list
option tovncserver
which lists all VNC sessions (not just TurboVNC sessions) running under the current user account on the current host. This new option is documented in the VGL/TVNC docs as well as the TurboVNC man pages. -
vncserver
will no longer fail if theUSER
environment variable is unset. That environment variable is unused in the script, so checking for its presence was apparently a vestigial feature. -
Modified Windows build to embed a proper version number in
TurboVNC.exe
. -
Changed the fallback logic in the default
/.vnc/xstartup
file so that GNOME is used as the window manager on Solaris if it is available and if ~/.dt/sessions/lastsession doesn't exist. Otherwise, CDE is used. -
Fixed an issue whereby GNOME would fail to start in TurboVNC if TurboVNC was launched from within another X session.