diff --git a/unix/build-xorg-git b/unix/build-xorg-git
new file mode 100755
index 0000000..bcce541
--- /dev/null
+++ b/unix/build-xorg-git
@@ -0,0 +1,205 @@
+#!/bin/bash
+# 
+# Build Xvnc with Xorg from git master. Script adapted from http://www.x.org/wiki/Development/git
+#
+
+set -e
+
+PREFIX="/tmp/xorg-git-${USER}"
+PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+MAKE="make"
+REPOS="\
+git://git.freedesktop.org/git/xorg/util/macros \
+git://git.freedesktop.org/git/xorg/proto/x11proto \
+git://git.freedesktop.org/git/xorg/proto/damageproto \
+git://git.freedesktop.org/git/xorg/proto/xextproto \
+git://git.freedesktop.org/git/xorg/proto/fontsproto \
+git://git.freedesktop.org/git/xorg/proto/videoproto \
+git://git.freedesktop.org/git/xorg/proto/renderproto \
+git://git.freedesktop.org/git/xorg/proto/inputproto \
+git://git.freedesktop.org/git/xorg/proto/xf86vidmodeproto \
+git://git.freedesktop.org/git/xorg/proto/xf86dgaproto \
+git://git.freedesktop.org/git/xorg/proto/xf86driproto \
+git://git.freedesktop.org/git/xorg/proto/xcmiscproto \
+git://git.freedesktop.org/git/xorg/proto/scrnsaverproto \
+git://git.freedesktop.org/git/xorg/proto/bigreqsproto \
+git://git.freedesktop.org/git/xorg/proto/resourceproto \
+git://git.freedesktop.org/git/xorg/proto/compositeproto \
+git://git.freedesktop.org/git/xorg/proto/fixesproto \
+git://git.freedesktop.org/git/xorg/proto/evieproto \
+git://git.freedesktop.org/git/xorg/proto/kbproto \
+git://git.freedesktop.org/git/xorg/lib/libxtrans \
+git://git.freedesktop.org/git/xorg/lib/libX11 \
+git://git.freedesktop.org/git/xorg/lib/libXext \
+git://git.freedesktop.org/git/xorg/lib/libxkbfile \
+git://git.freedesktop.org/git/xorg/lib/libfontenc \
+git://git.freedesktop.org/git/xorg/lib/libXfont \
+git://git.freedesktop.org/git/xorg/lib/libXfixes \
+git://git.freedesktop.org/git/xorg/lib/libXdamage \
+git://git.freedesktop.org/git/xorg/lib/libXv \
+git://git.freedesktop.org/git/xorg/lib/libXvMC \
+git://git.freedesktop.org/git/xorg/lib/libXxf86vm \
+git://git.freedesktop.org/git/xorg/lib/libXinerama \
+git://git.freedesktop.org/git/xorg/proto/dri2proto \
+git://git.freedesktop.org/git/xorg/proto/glproto \
+git://git.freedesktop.org/git/xorg/lib/libpciaccess \
+git://git.freedesktop.org/git/pixman \
+git://git.freedesktop.org/git/xcb/proto \
+git://git.freedesktop.org/git/xcb/pthread-stubs \
+git://git.freedesktop.org/git/xcb/libxcb \
+git://git.freedesktop.org/git/xorg/proto/randrproto \
+git://git.freedesktop.org/git/mesa/drm \
+git://git.freedesktop.org/git/mesa/mesa \
+git://git.freedesktop.org/git/xorg/xserver \
+git://git.freedesktop.org/git/xorg/driver/xf86-input-mouse \
+git://git.freedesktop.org/git/xorg/driver/xf86-input-keyboard \
+git://git.freedesktop.org/git/xorg/driver/xf86-video-intel"
+
+modules="\
+fontsproto \
+x11proto \
+xextproto \
+videoproto \
+renderproto \
+inputproto \
+damageproto \
+xf86vidmodeproto \
+xf86dgaproto \
+xf86driproto \
+xcmiscproto \
+scrnsaverproto \
+bigreqsproto \
+resourceproto \
+compositeproto \
+resourceproto \
+evieproto \
+kbproto \
+fixesproto \
+libxtrans \
+proto \
+pthread-stubs \
+libxcb \
+libX11 \
+libXext \
+libxkbfile \
+libfontenc \
+libXfont \
+libXv \
+libXvMC \
+libXxf86vm \
+libXfixes \
+libXdamage \
+dri2proto \
+glproto \
+libpciaccess \
+pixman \
+randrproto"
+
+init()
+{
+    mv xserver xserver.vnc
+    for repo in $REPOS; do
+        echo "Cloning $repo";
+        git clone $repo || true
+    done
+    mv xserver xserver.xorg
+    mv xserver.vnc xserver
+
+    tar c -C xserver.xorg . | tar x -C xserver
+    cd xserver
+    patch -p1 < ../xserver16.patch
+    autoreconf -fiv
+    cd ..
+
+    cd macros
+    echo "Building macros"
+    ./autogen.sh --prefix="$PREFIX";
+    ($MAKE);
+    make install
+    cd ..
+}
+
+update_modules()
+{
+    for module in $modules; do
+        cd $module
+        git pull
+        cd ..
+    done
+}
+
+build ()
+{
+    export ACLOCAL="aclocal -I $PREFIX/share/aclocal"
+    export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig"
+
+    # Build VNC
+    make distclean || true
+    ./configure --prefix=${PREFIX}
+    make
+
+    # Build Xorg
+    for i in $modules; do
+        cd $i
+        echo ======================
+        echo configuring $i
+        echo ======================
+        ./autogen.sh --prefix="$PREFIX";
+        echo ======================
+        echo building $i
+        echo ======================
+        if [ $? -ne 0 ]; then
+                echo "Failed to configure $i."
+                exit
+        fi
+        ($MAKE);
+        make install
+        cd ..
+    done
+
+    # build drm
+    cd drm
+    ./autogen.sh --prefix="$PREFIX"
+    ($MAKE)
+    make -C linux-core
+    # assuming you're on Linux, otherwise use bsd-core
+    make install
+    cd ..
+
+    # build mesa
+    cd mesa
+    ./autogen.sh --prefix=$PREFIX --with-driver=dri --disable-glut
+    if [ $? -ne 0 ]; then
+	echo "Failed to configure Mesa."
+	exit
+    fi
+    ($MAKE)
+    make install
+    cd ..
+
+    # build xserver
+    cd xserver
+    ./autogen.sh --prefix=$PREFIX --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg
+    if [ $? -ne 0 ]; then
+	echo "Failed to configure X server."
+	exit
+    fi
+    ($MAKE)
+    make install
+    cd ..
+}
+
+case "$1" in
+    init)
+	init
+	;;
+    build)
+	build
+	;;
+    update)
+	update_modules
+	;;
+    *)
+	echo "Usage: $0 init | build | update"
+	exit 3
+esac
