diff --git a/unix/xserver.patch b/unix/xserver.patch
new file mode 100644
index 0000000..fb90c56
--- /dev/null
+++ b/unix/xserver.patch
@@ -0,0 +1,68 @@
+diff -up os/WaitFor.c.orig xorg/os/WaitFor.c
+--- os/WaitFor.c.orig	2008-01-28 10:20:35.000000000 +0100
++++ os/WaitFor.c	2008-01-28 10:21:08.000000000 +0100
+@@ -332,13 +332,11 @@ WaitForSomething(int *pClientsReady)
+ 
+ 	    if (XFD_ANYSET (&devicesReadable) || XFD_ANYSET (&clientsReadable))
+ 		break;
+-#ifdef WIN32
+ 	    /* Windows keyboard and mouse events are added to the input queue
+ 	       in Block- and WakupHandlers. There is no device to check if  
+ 	       data is ready. So check here if new input is available */
+ 	    if (*checkForInput[0] != *checkForInput[1])
+ 		return 0;
+-#endif
+ 	}
+     }
+ 
+diff -up mi/miinitext.c.orig xorg/mi/miinitext.c
+--- mi/miinitext.c.orig	2008-01-28 10:18:46.000000000 +0100
++++ mi/miinitext.c	2008-01-28 10:18:58.000000000 +0100
+@@ -289,6 +289,7 @@ extern void BigReqExtensionInit(INITARGS
+ #ifdef MITMISC
+ extern void MITMiscExtensionInit(INITARGS);
+ #endif
++extern void vncExtensionInit(INITARGS);
+ #ifdef XIDLE
+ extern void XIdleExtensionInit(INITARGS);
+ #endif
+@@ -560,6 +561,7 @@ InitExtensions(argc, argv)
+ #ifdef MITMISC
+     if (!noMITMiscExtension) MITMiscExtensionInit();
+ #endif
++    vncExtensionInit();
+ #ifdef XIDLE
+     if (!noXIdleExtension) XIdleExtensionInit();
+ #endif
+diff -up hw/Makefile.am.orig xorg/hw/Makefile.am
+--- hw/Makefile.am.orig	2008-01-28 10:18:46.000000000 +0100
++++ hw/Makefile.am	2008-01-28 10:18:58.000000000 +0100
+@@ -43,7 +43,8 @@ SUBDIRS =			\
+ 	$(DMX_SUBDIRS)		\
+ 	$(KDRIVE_SUBDIRS)	\
+ 	$(XQUARTZ_SUBDIRS)	\
+-	$(XPRINT_SUBDIRS)
++	$(XPRINT_SUBDIRS)	\
++	vnc
+ 
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xgl xprint
+ 
+diff -up configure.ac.orig xorg/configure.ac
+--- configure.ac.orig	2008-01-28 10:18:45.000000000 +0100
++++ configure.ac	2008-01-28 10:18:58.000000000 +0100
+@@ -29,7 +29,6 @@ AC_PREREQ(2.57)
+ AC_INIT([xorg-server], 1.4.99.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_INIT_AUTOMAKE([dist-bzip2 foreign])
+-AM_MAINTAINER_MODE
+ 
+ dnl this gets generated by autoheader, and thus contains all the defines.  we
+ dnl don't ever actually use it, internally.
+@@ -2173,6 +2172,7 @@ hw/dmx/input/Makefile
+ hw/dmx/glxProxy/Makefile
+ hw/dmx/Makefile
+ hw/vfb/Makefile
++hw/vnc/Makefile
+ hw/xgl/Makefile
+ hw/xgl/egl/Makefile
+ hw/xgl/egl/module/Makefile
