Is Xvnc a X exension or X driver?

Alan Coopersmith alan.coopersmith at oracle.com
Mon Apr 19 08:08:49 PDT 2010


(I've cc'ed xorg-devel, since this is really much more of a developer topic than
 a user topic.)

Zhang, Xing Z wrote:
> Hi experts:
> 	I am looking into code of tigervnc, the Xvnc contains a vnc X server which seems a X driver or extension ( it locates at tigervnc-1.0.1/unix/xserver/hw/vnc). 

VNC includes an X extension, but Xvnc itself is an X server using the hw/vnc DDX
layer.   Originally X support for different hardware was delivered by having a
different DDX layer for each, resulting in multiple different X servers and
changing X servers to use different types.   In the current code, the hw/xfree86
layer provides a common DDX layer for many types of hardware with loadable
driver modules for each type, but there are still other DDX layers for other
types of X server, such as Xvnc, Xvfb & Xnest, as well as the kdrive DDX layer
which supports multiple hardware types using the older model of per-hardware
X server binaries.

> 	Could anyone point me a programming howto followed by above implementation?
> 	I gone through documentations on X.org, but didn't find programming manual of such a extension/driver.

There isn't a lot of up-to-date documentation on X server internals - not many
people are interested in spending the huge amounts of time required to write a
programming manual that less than 100 people will ever read.

Documents that do exist (though not necessarily completely up-to-date):

 * Definition of the Porting Layer for the X v11 Sample Server:
   html: http://www.x.org/releases/X11R7.5/doc/core/Xserver-spec.html
   pdf: http://www.x.org/releases/X11R7.5/doc/core/Xserver-spec.pdf

 * The X Window System Server, Elias Israel, Erik Fortune,
	Digital Press, ISBN 1-55558-096-3, 1993.
   (X11R5 era, though some basic concepts are still unchanged)

-- 
	-Alan Coopersmith-        alan.coopersmith at oracle.com
	 Oracle Solaris Platform Engineering: X Window System



More information about the xorg-devel mailing list