Features/TigerVNC

= Replace RealVNC by TigerVNC =

Summary
Make TigerVNC the default VNC client in Fedora.

There was no update from RealVNC upstream since May 18 2006 and upstream is focused on their enterprise non-open vnc. Trunk TigerVNC is RealVNC fork with many improvements/bugfixes so it makes sense to use it. Main problem is that current Fedora vnc has also many changes so patches have to be merged.

Owner

 * Name: Adam Tkac

Current status

 * Targeted release: Fedora 11
 * Last updated: 2009-03-03
 * Percentage of completion: 100%

Detailed Description
TigerVNC has successfully implemented "Tight" protocol enhancements which save bandwidth and are generally better than the original RealVNC's RFB 3.8 protocol. On the other hand Fedora vnc has by far a much better server (Xvnc) which is based on X 1.6 and supports more extensions. Fedora changes have to be carefully merged to TigerVNC upstream and then we will use it as default Fedora vnc system.

Benefit to Fedora
vnc will have more features and will get benefit from upstream development instead of the current one man show in Fedora CVS. Overall quality should be better.

Scope
Merge Fedora changes to upstream and make TigerVNC ready for Fedora

Test Plan

 * Check that libvnc.so module to Xorg works fine
 * Check that vnc installation works as expected
 * Check that viewer works fine when you connect to Xvnc and to different servers (vino)
 * Check that Xvnc works with other viewers (vinagre)

User Experience

 * Better encodings save bandwidth and processor time
 * Viewer internationalization
 * IPv6 support in viewer

Dependencies
Anaconda has to use tigervnc package instead vnc

Contingency Plan

 * Use Fedora 10 codebase

Documentation

 * http://www.tigervnc.com/

Release Notes

 * TigerVNC is used as default VNC project. Package names were changed to tigervnc, tigervnc-server and tigervnc-server-module. Binary names are same as in previous version, libvnc.so module has been moved to tigervnc-server-module subpackage. Otherwise there should be no difference

Comments and Discussion
See Talk:Features/TigerVNC

Use Cases
Gnome menu item:


 * Applications -> Internet -> VNC Viewer is present and has correct icons

Regression use cases:


 * F11 tigerVNC client <--> F11 tigerVNC server
 * F11 tigerVNC client <--> other VNC server (vino)
 * generic VNC client (vinagre) <--> F11 tigerVNC server
 * F11 tigerVNC client username/pw dialog

tigerVNC extensions (both client and server are tigerVNC):


 * optional JPEG compression
 * Automatic SSH tunneling on Unix

Misc:


 * vncconfig runs; clipboard support
 * ipv6 support using client
 * libvnc.so is used by Xorg server
 * presents clipboard/primary selection options to viewers
 * anaconda uses tigervnc server for vnc installation
 * encoding and color level selection (list options tested)
 * view only (client)
 * shared (client)
 * full-screen mode (client)
 * basic RandR support in Xvnc (resize)

Internationalization (list all i18n's used):


 * $ LANG=de_DE /usr/bin/vncviewer (where LANG= depends upon users)