Clone this wiki locally
This page collects all the internal documentation that's relevant to developing TigerVNC. Note that some things might be out of date or not implemented yet.
TigerVNC is open to anyone and we appreciate any help in moving the project forward. The main forum for discussion is the mailing lists (see the home page). Feel free to discuss any ideas or patches you have there.
If you'd like to suggest a new feature, or if you think you've found a bug, then report it to our issue tracker. If you are unsure if it's a bug, then please use the mailing lists first.
Contributing new code can be done in the form of patches to the mailing list, or as a pull request against our repository.
The best reference for the RFB protocol is the community protocol specification. This differs from RealVNC's original specification in that it tries to be a complete description of the RFB protocol, including all extensions. You can view the current version of the specification directly in their repository.
Various information and studies on the protocol that we've collected through the years:
- DesktopSize survey - Investigation on how different VNC implementations handle the DesktopSize/NewFBSize extension.
- VNC latency considerations - Information about RFB's sensitivity to latency and ideas for improving it.
Making a Release
We have a guide for making a release on a separate page.
More complex development items that don't really fit into a bug tracker entry.