--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/ChangeLog
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/ChangeLog
@@ -1,10 +1,3 @@
-commit 889629becd8ac2ea718c3a2fc1f8be29596a8ffa
-Merge: b9f414c b795ca6
-Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
-Date:   Wed Jan 26 12:56:27 2011 +1100
-
-    Merge commit 'b795ca6e97fae9' into upstream-ubuntu
-
 commit b795ca6e97fae9735843748585401098dae1c3e1
 Author: Ben Skeggs <bskeggs@redhat.com>
 Date:   Fri Jan 7 13:33:36 2011 +1000
@@ -466,6 +459,9 @@
 
     update nouveau_class.h
 
+<<<<<<< HEAD
+<<<<<<< HEAD
+=======
 commit b9f414c589d89887722942463bcbf5f85191e71a
 Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
 Date:   Tue May 18 18:36:33 2010 +1000
@@ -479,6 +475,9 @@
 
     Merge remote branch 'upstream/master' into upstream-ubuntu
 
+>>>>>>> upstream/0.0.16+git20110107+b795ca6e
+=======
+>>>>>>> debian-experimental
 commit 4b8f1a082069a17555d4142003213cf83d4e5464
 Author: Lubomir Rintel <lkundrak@v3.sk>
 Date:   Mon May 10 09:25:55 2010 +0200
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/clean
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/clean
@@ -0,0 +1,20 @@
+config.cache
+config.log
+config.status
+*/config.cache
+*/config.log
+*/config.status
+conftest*
+*/conftest*
+Makefile.in
+aclocal.m4
+config.guess
+config.h.in
+config.sub
+configure
+depcomp
+install-sh
+ltmain.sh
+man/Makefile.in
+missing
+src/Makefile.in
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/rules
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/rules
@@ -0,0 +1,89 @@
+#!/usr/bin/make -f
+
+include debian/xsfbs/xsfbs.mk
+
+CFLAGS = -Wall -g
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+	confflags += --build=$(DEB_HOST_GNU_TYPE)
+else
+	confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+endif
+
+# kbd_drv.a isn't phenomenally useful; kbd_drv.so more so
+confflags += --disable-static
+
+get-orig-source:
+	git clone git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau && \
+	cd xf86-video-nouveau && git log > ChangeLog && \
+	REVISION=$$(git show --pretty=format:"%h" HEAD | head -n1) && cd .. && \
+	PREFIX=xserver-xorg-video-nouveau_0.0.16+git$$(date +%Y%m%d)+$$REVISION && \
+	rm -rf xf86-video-nouveau/.git && \
+	tar czf $$PREFIX.orig.tar.gz xf86-video-nouveau && \
+	rm -rf xf86-video-nouveau
+
+build: build-stamp
+build-stamp: configure
+	dh_testdir
+	test -d build || mkdir build
+	cd build && \
+	../configure --prefix=/usr --mandir=\$${prefix}/share/man \
+	             --infodir=\$${prefix}/share/info $(confflags) \
+	             CFLAGS="$(CFLAGS)" CURDIR=$(CURDIR)
+	cd build && $(MAKE)
+	touch $@
+
+configure: $(STAMP_DIR)/patch
+	dh_testdir
+	autoreconf -vfi
+
+clean: xsfclean
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp
+	[ ! -f Makefile ] || $(MAKE) distclean
+	rm -rf build
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+
+	cd build && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+	find $(CURDIR)/debian/tmp -name '*.la' -delete
+
+binary-arch: build install serverabi
+	dh_testdir
+	dh_testroot
+	dh_installdocs
+	dh_installexamples
+	dh_installchangelogs
+	dh_install --sourcedir=debian/tmp --fail-missing
+	dh_link
+	dh_strip --dbg-package=xserver-xorg-video-nouveau-dbg
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps -- --warnings=6
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary-indep: build install
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install get-orig-source
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xserver-xorg-video-nouveau.docs
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xserver-xorg-video-nouveau.docs
@@ -0,0 +1,2 @@
+debian/README.Debian
+debian/NEWS.Debian
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/control
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/control
@@ -0,0 +1,64 @@
+Source: xserver-xorg-video-nouveau
+Section: x11
+Priority: optional
+Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
+Uploaders: Chris Lamb <lamby@debian.org>, Matthew Johnson <mjj29@debian.org>,
+ Cyril Brulebois <kibi@debian.org>, Sven Joachim <svenjoac@gmx.de>
+Build-Depends:
+ debhelper (>= 7),
+ pkg-config,
+ xserver-xorg-dev (>= 2:1.7.0),
+ x11proto-video-dev,
+ x11proto-core-dev,
+ x11proto-fonts-dev,
+ x11proto-randr-dev (>= 1.2),
+ x11proto-render-dev,
+ x11proto-xext-dev,
+ libdrm-dev (>= 2.4.23),
+ x11proto-xf86dri-dev,
+ x11proto-gl-dev,
+ mesa-common-dev,
+ libudev-dev,
+ automake,
+ libtool,
+ xutils-dev,
+ quilt,
+Standards-Version: 3.9.1
+Homepage: http://nouveau.freedesktop.org/wiki/
+Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-nouveau
+Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git
+
+Package: xserver-xorg-video-nouveau
+Architecture: linux-any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ ${xviddriver:Depends},
+Provides: ${xviddriver:Provides}
+Description: X.Org X server -- Nouveau display driver (experimental)
+ This driver for the X.Org X server (see xserver-xorg for a further description)
+ provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards.
+ .
+ Although the nouveau project aims to provide full 3D support it is not yet
+ complete, and these packages do not include any 3D support.
+ Users requiring 3D support should use the non-free "nvidia" driver.
+ .
+ This package is built from the FreeDesktop.org xf86-video-nouveau driver.
+
+Package: xserver-xorg-video-nouveau-dbg
+Architecture: linux-any
+Depends:
+ ${misc:Depends},
+ xserver-xorg-video-nouveau (= ${binary:Version}),
+Section: debug
+Priority: extra
+Description: X.Org X server -- Nouveau display driver (debug symbols)
+ This driver for the X.Org X server (see xserver-xorg for a further description)
+ provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards.
+ .
+ Although the nouveau project aims to provide full 3D support it is not yet
+ complete, and these packages do not include any 3D support.
+ Users requiring 3D support should use the non-free "nvidia" driver.
+ .
+ This package provides debugging symbols for this Xorg X driver.
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xserver-xorg-video-nouveau.examples
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xserver-xorg-video-nouveau.examples
@@ -0,0 +1 @@
+debian/xorg.conf
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xserver-xorg-video-nouveau.links
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xserver-xorg-video-nouveau.links
@@ -0,0 +1 @@
+usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-video-nouveau/script
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/watch
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/watch
@@ -0,0 +1 @@
+#git=git://anongit.freedesktop.org/nouveau/xf86-video-nouveau
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/README.Debian
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/README.Debian
@@ -0,0 +1,76 @@
+Requirements for using Nouveau
+==============================
+
+You need a Linux kernel that contains a nouveau.ko module which works
+with the libdrm-nouveau package in Debian.  Unfortunately,
+libdrm-nouveau and the kernel module are coupled very tightly, and you
+may not be able to upgrade one without the other.  As of this writing,
+supported kernels are 2.6.34-rc1 and newer, earlier versions lack the
+nouveau module altogether or contain an incompatible version.  If you
+build your own kernel, you have to enable the module under Drivers ->
+Staging drivers.
+
+There's no need for any firmware at all, the Linux kernel takes care of
+that automatically.
+
+
+Incompatibilities with other drivers
+====================================
+
+The nouveau kernel module includes a framebuffer driver for the
+virtual console, giving you a nice high resolution text console.
+Unfortunately, this is incompatible with other display drivers,
+including the Nvidia proprietary driver.  Among others, the following
+kernel modules must not be loaded before nouveau: vga16fb, nvidiafb,
+rivafb and nvidia.  Note that vesafb should not be a problem.
+
+If you decide to switch to nv or the proprietary driver, it is highly
+recommended to reboot because they are incompatible with nouveau, and
+unloading the latter is not easy and may lead to a blank console.
+
+
+Interferences of the Nvidia OpenGL implementation
+=================================================
+
+The proprietary Nvidia driver comes with its own OpenGL implementation
+that is incompatible with free drivers.  To be able to use OpenGL
+programs with nouveau, you need to uninstall the Nvidia files.  If you
+have used the nvidia-glx package or any of its legacy variants, it
+suffices to remove it.  If you ran the Nvidia installer, you need to
+reinstall the xserver-xorg-core and libgl1-mesa-glx packages.  In
+either case, restarting X is also necessary.
+
+A simple OpenGL test program is glxgears, contained in the mesa-utils
+package.  Note that OpenGL with nouveau will not be much fun, see the
+next section.
+
+
+(Lack of) DRI and 3D support
+============================
+
+DRI and 3D support is immature and not enabled, you will likely see
+messages like these in /var/log/Xorg.log:
+
+(EE) AIGLX error: dlopen of /usr/lib/dri/nouveau_dri.so failed
+(/usr/lib/dri/nouveau_dri.so: cannot open shared object file: No such
+file or directory)
+(EE) AIGLX: reverting to software rendering
+
+Software rendering means that OpenGL applications and games will run
+very slowly and often be unusable.  In particular, you probably need
+to deactivate Compiz.  Some programs may be configured to use XRender
+instead of OpenGL which should drastically improve their performance.
+
+
+Further information
+===================
+
+Please see the nouveau Wiki for more information and possible
+problems.
+
+http://nouveau.freedesktop.org/wiki/
+http://nouveau.freedesktop.org/wiki/FAQ
+http://nouveau.freedesktop.org/wiki/TroubleShooting
+http://nouveau.freedesktop.org/wiki/KernelModeSetting
+
+ -- Sven Joachim <svenjoac@gmx.de>, Mon,  4 Oct 2010 19:00:57 +0200
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xorg.conf
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xorg.conf
@@ -0,0 +1,6 @@
+# Minimal xorg.conf for the Nouveau driver
+
+Section "Device"
+	Identifier	"Default screen"
+      	Driver		"nouveau"
+EndSection
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/copyright
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/copyright
@@ -0,0 +1,53 @@
+This package was debianized by Chris Lamb <chris@chris-lamb.co.uk> on
+Fri, 30 May 2008 19:37:14 +0100 based on work by Christopher James Halse
+Rogers <raof@ubuntu.com>.
+
+It was downloaded from <http://nouveau.freedesktop.org/wiki/>.
+
+License:
+
+  Copyright © 1993-2007 NVIDIA, Corporation
+  Copyright © 1994 X Consortium
+  Copyright © 1996-1997 David J. McKay
+  Copyright © 1996 Stephen Early
+  Copyright © 1997 Mark Eichin
+  Copyright © 1998-2005, 2007 Branden Robinson
+  Copyright © 1999 The XFree86 Project Inc.
+  Copyright © 2005-2006 Erik Waling
+  Copyright © 2005 Adam Jackson
+  Copyright © 2005 David Nusinow
+  Copyright © 2005 Eugene Konev
+  Copyright © 2005 Sun Microsystems, Inc.
+  Copyright © 2006 Stephane Marchesin
+  Copyright © 2006 Dave Airlie
+  Copyright © 2007, 2008 Maarten Maathui
+  Copyright © 2007-2008 Stuart Bennett
+  Copyright © 2007 Arthur Huillet
+  Copyright © 2007 Jeremy Kolb
+  Copyright © 2007 Patrice Mandin
+  Copyright © 2007 Ben Skeggs
+  Copyright © 2007 Peter Winters
+  Copyright © 2007 Nouveau Project
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the
+  "Software"), to deal in the Software without restriction, including
+  without limitation the rights to use, copy, modify, merge, publish,
+  distribute, sublicense, and/or sell copies of the Software, and to
+  permit persons to whom the Software is furnished to do so, subject to
+  the following conditions:
+
+  The above copyright notice and this permission notice shall be included
+  in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+  DEALINGS IN THE SOFTWARE.
+
+The Debian packaging is © 2008, Chris Lamb <chris@chris-lamb.co.uk> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/changelog
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/changelog
@@ -0,0 +1,2541 @@
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7lowell1) lucid; urgency=low
+
+  * Backport from 11.04. Changes:
+    - Add 06_xserver_17_backport.patch: Reverts changes making nouveau require
+      xserver 1.8 to use.
+    - Revert xsfbs changes requiring xserver 1.7.7+
+    - Lower xserver-xorg-dev build dep for lucid.
+
+ -- Robert Hooker <sarvatt@ubuntu.com>  Fri, 29 Jul 2011 15:32:07 -0400
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu7) natty; urgency=low
+
+  * debian/patches/04_emit_surface_state_after_flush.diff:
+    + Cherry-pick from upstream.  Re-emit surface state after flush, or
+      PGRAPH_TRAP_CCACHE_FAULTs will ruin your day and cause [mi] EQ overflow
+      to eat your X.
+  * debian/patches/05_dri2_buffer_failure_path_crash.diff:
+    + Cherry-pick from upstream.  Return an error rather than crash the X
+      server when failing to create a dri2 buffer.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Apr 2011 16:58:30 +1000
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu6) natty; urgency=low
+
+  * Rebuild to pick up new Xserver dependencies
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 09 Mar 2011 14:50:26 +1100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu5) natty; urgency=low
+
+  * Rebuild to pick up new Xserver dependencies
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 23 Feb 2011 17:53:50 +1100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu4) natty; urgency=low
+
+  * debian/control: Bump build-depends on xserver-xorg-dev to really,
+    really build against Xserver 1.10
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 01 Feb 2011 22:02:01 +1100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu3) natty; urgency=low
+
+  * Rebuild against Xserver 1.10
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Mon, 31 Jan 2011 18:52:13 -0800
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu2) natty; urgency=low
+
+  * debian/patches/02_nouveau_bgnr: Fix Xserver 1.10 codepath to not crash the
+    server.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 31 Jan 2011 18:48:03 +1100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20110107+b795ca6e-0ubuntu1) natty; urgency=low
+
+  * Merge from Debian experimental.  Remaining Ubuntu changes:
+    - debian/patches/02_nouveau_bgnr:
+      + Patch from Fedora for a smooth Plymouth->GDM transition.
+  * Drop debian/patches/03_work-around-exa-hangs.patch; natty's 2.6.37 kernel
+    now has the accompanying kernel commit.
+  * New upstream snapshot
+  * debian/patches/03_use_older_libdrm_headers.diff:
+    - Revert git commit c2092a45 which switches to post-2.4.23 split libdrm
+      headers.
+  * debian/patches/02_nouveau_bgnr:
+    - Update to build against both Ubuntu-patched and upstream 1.10 BG None
+      ABIs.
+  * debian/README.source:
+    - Document how to update to a new upstream snapshot.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 26 Jan 2011 13:48:15 +1100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20101210+8bb8231-1) experimental; urgency=low
+
+  [ Sven Joachim ]
+  * New upstream snapshot.
+    - X server 1.8 or higher is now required.
+    - Bump build-dependency on libdrm-dev to (>= 2.4.23) due to
+      libdrm-nouveau API changes.
+
+ -- Julien Cristau <jcristau@debian.org>  Tue, 04 Jan 2011 11:59:17 +0100
+
+xserver-xorg-video-nouveau (1:0.0.16+git20100825+390f1c8-1) experimental; urgency=low
+
+  [ Sven Joachim ]
+  * New upstream snapshot.
+  * Bump build-dependency on libdrm-dev to (>= 2.4.21-2~) to ensure that
+    we keep building against the experimental libdrm.
+  * Bump Standards-Version to 3.9.1, no changes needed.
+
+  [ Christopher James Halse Rogers ]
+  * debian/patches/03_work-around-exa-hangs.patch:
+    - Revert a commit which removes a work-around for EXA hangs; we do not yet
+      have the associated kernel commit in our tree.
+
+ -- Julien Cristau <jcristau@debian.org>  Wed, 25 Aug 2010 23:21:29 +0200
+
+xserver-xorg-video-nouveau (1:0.0.16+git20100805+b96170a-0ubuntu1) maverick; urgency=low
+
+  * New upstream snapshot
+    - Fixes segfault in DRI2 on Xserver 1.9
+    - Fixes assert on Xserver 1.9 startup due to uninitialised scratch pixmaps
+  * debian/patches/03_work-around-exa-hangs.patch:
+    - Revert a commit which removes a work-around for EXA hangs; we do not yet
+      have the associated kernel commit in our tree.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 05 Aug 2010 15:02:37 +1000
+
+xserver-xorg-video-nouveau (1:0.0.16+git20100518+4b8f1a0-0ubuntu1) maverick; urgency=low
+
+  [Christopher James Halse Rogers]
+  * Merge from Debian unstable.  Remaining Ubuntu changes:
+    - debian/patches/02_nouveau_bgnr:
+      + Patch from Fedora for a smooth Plymouth->GDM transition.
+  * New upstream snapshot.  
+    - Support for monitor hotplug detection added.
+    - Handle starting X with no monitors detected more gracefully (LP: #568079)
+  * Package now built against 0.0.16 ABI (LP: #590989)
+  * debian/rules:
+    - get-orig-source: Upstream version is now 0.0.16
+  * debian/control:
+    - Ubuntu X Swat is maintainer, not MOTU.
+  * Merge in useful changes from Debian experimental:
+
+  [ Sven Joachim ]
+  * New upstream snapshot, with uevent support.
+    - Add build-dependency on libudev-dev.
+  * Add a NEWS.Debian for that problem and update README.Debian.
+  * Add myself to Uploaders.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 18 May 2010 18:32:50 +1000
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100329+7858345-5) unstable; urgency=low
+
+  [ Cyril Brulebois ]
+  * Fix Vcs-Browser URL, thanks to Petr Vorel (Closes: #596217).
+
+  [ Sven Joachim ]
+  * Update README.Debian:
+    - Drop section about enabling the X driver, it has been the default
+      for four months already.
+    - Only recommend to reboot before switching to the blob, the
+      KernelModeSetting page in the nouveau wiki has instructions how
+      to do this.  Also mention nv as incompatible with nouveau.
+  * Restrict the package to Linux architectures for now, other kernels
+    do not have the necessary DRM/GEM/KMS infrastructure.
+
+ -- Cyril Brulebois <kibi@debian.org>  Sun, 17 Oct 2010 03:26:59 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100329+7858345-4) unstable; urgency=medium
+
+  * Update xsfbs and use new ${xviddriver:Depends} substvar.
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 15 May 2010 12:04:08 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100329+7858345-3) unstable; urgency=low
+
+  [ Sven Joachim ]
+  * Add a README.Debian describing various possible problems.
+  * Update xsfbs to 8bd2e9b523da35493db1bd781d4ef6bfbbeb2eff.
+
+  [ Cyril Brulebois ]
+  * Merge above changes by Sven, thanks!
+  * Mention in README.Debian that nouveau might be preferred above nv in
+    the next future if everything goes well.
+  * Some cards (nv50) used to need some firmware, but starting with
+    linux-image-2.6.32-4-$arch packages built from linux-2.6 2.6.32-11,
+    there's no need for any firmware. Since it's a transient matter, only
+    mention it in this changelog, and only mention the general case in
+    README.Debian.
+  * Given that we've got documentation now, and given we received positive
+    feedback through debian-x@, let's be confident and upload this to
+    unstable. Many thanks to the early testers!
+
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 16 Apr 2010 00:59:08 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100329+7858345-2) experimental; urgency=low
+
+  * Add a debug package: xserver-xorg-video-nouveau-dbg.
+
+ -- Cyril Brulebois <kibi@debian.org>  Sun, 04 Apr 2010 21:06:46 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100329+7858345-1) experimental; urgency=low
+
+  [ Sven Joachim ]
+  * New upstream snapshot, compatible with xorg-server 1.7 (Closes: #568168).
+  * Ship an upstream changelog generated from "git log".
+  * Do not include other generated files in the .orig.tar.gz,
+    run autoreconf at build time instead.
+  * Update xsfbs to 2a1b4553fc2c5ba982e8bb8be4c504e28ce79ed1.
+  * Remove dependency on linux-nouveau-modules, current Debian kernels
+    already include a nouveau module.
+  * Fold long (Build-)Depends lines in debian/control.
+  * Bump Build-dependencies on xserver-xorg-dev and libdrm-dev.
+  * Drop conflict with nvidia-glx.  As long as one does not run
+    applications that require a library that nvidia-glx diverts, the
+    drivers can coexist peacefully.
+  * Provide a minimal example xorg.conf.
+  * Bump Standards-Version to 3.8.4, no changes needed.
+
+  [ Cyril Brulebois ]
+  * Use build/ instead of obj-$(DEB_BUILD_GNU_TYPE)/.
+  * Delete the .la file after make install and use dh_install's
+    --fail-missing instead of --list-missing, just to make sure.
+  * Pass --warnings=6 to dpkg-shlibdeps because of the plugin status.
+  * Add upstream ChangeLog:
+     - Remove ChangeLog from .gitignore file.
+     - Run “git log > ChangeLog” against the upstream branch to generate
+       it, as it's done for other drivers.
+  * Use quilt to apply patches, and make clean depend on xsfclean to make
+    sure everything gets cleaned up, and patches unapplied.
+  * Add patch:
+     - 01-set-NV_DRIVER_DATE-from-ChangeLog.diff to make sure to pick
+       NV_DRIVER_DATE from the ChangeLog instead of the output of git log.
+  * Add myself to Uploaders.
+  * Upload to experimental, with many thanks to Sven!
+
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 03 Apr 2010 15:00:01 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100219+9b4118d-0ubuntu4) lucid; urgency=low
+
+  * debian/control:
+    + Drop dependency on linux-backports-modules-nouveau-lucid-FLAVOUR.  As of
+      2.6.32-16 nouveau is in the main kernel image.  Fixes unsatisfiable 
+      depends (LP: #534978) and prevents the alternate-installer being
+      confused (LP: #526422).
+    + Drop ancient, unnecessary conflicts/replaces on non-existent nvidia-glx
+      virtual package.
+  * debian/nouveau_kms:
+  * debian/rules:
+    + Drop nouveau_kms initramfs-tools hook.  Now that nouveau is in the main
+      kernel image the existing framebuffer hook correctly copies nouveau into
+      the initramfs.
+  * debian/dirs:
+    + Drop, no longer need initramfs-tools hook directory
+  * debian/postinst:
+  * debian/postrm:
+    + Drop; update-initramfs trigger is no longer necessary.
+  
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 10 Mar 2010 08:51:31 +1100
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100219+9b4118d-0ubuntu3) lucid; urgency=low
+
+  * debian/patches/02_nouveau_bgnr
+    + Add patch from Fedora package enabling smooth Plymouth->GDM transition.
+      (LP: #529751)
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 26 Feb 2010 15:49:20 +1100
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100219+9b4118d-0ubuntu2) lucid; urgency=low
+
+  * debian/control
+    + Add -pae as fulfilling dependency
+      (LP: #524792)
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Mon, 22 Feb 2010 21:32:09 -0800
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100219+9b4118d-0ubuntu1) lucid; urgency=low
+
+  [ Christopher James Halse Rogers ]
+  * debian/dirs:
+    + Create initramfs-tools hook directory.
+  * debian/rules: 
+    + Update get-orig-source target to create correctly versioned tarballs
+    + Install nouveau_kms hook with executable permissions
+  * debian/nouveau_kms
+    + initramfs-tools hook to add lbm_nouveau to the initramfs, like the other
+      KMS framebuffer drivers.
+  * debian/postinst:
+  * debian/postrm:
+    + Trigger update-initramfs on install and removal to ensure kms hook is 
+      used.
+  * debian/control:
+    + Tighten libdrm-dev build-depend to >= 2.4.18~ for nouveau_class.h updates
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Fri, 19 Feb 2010 14:49:30 +0200
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100128+2630a15-0ubuntu2) lucid; urgency=low
+
+  * debian/control: Add dependency on meta package
+    linux-backports-modules-nouveau-lucid-generic instead of packages with
+    obsolete abi version.
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Fri, 19 Feb 2010 00:14:04 -0800
+
+xserver-xorg-video-nouveau (1:0.0.15+git20100128+2630a15-0ubuntu1) lucid; urgency=low
+
+  * New upstream snapshot
+    + Too many commits to usefully list in the changelog.
+    + User modesetting code is now removed.  Nouveau will now only work with 
+      KMS.
+  * debian/control:
+    + Bump versioned Build-Dep on libdrm-dev to >= 2.4.17-1ubuntu1~ to pick 
+      up nouveau #define updates.
+    + Bump build-dep on xserver-xorg-dev to >= 2:1.7.  Nouveau now requires 
+      xorg-server >= 1.7.
+    + Drop duplicate build-dep on xserver-xorg-dev
+    + List the Build-Depends one-to-a-line for clarity
+    + Drop the Depends: on linux-nouveau-modules.  Replace with temporary 
+      Depends against apw's linux-backports-modules-nouveau* packages.
+    + Bump Standards version to 3.8.4.
+    + Remove the big INCOMPLETE warnings from package description.
+  * debian/README.source
+    + Quilt patchsys README for standards version 3.8.4 compliance
+  * Change versioning to match Sarvatt's snapshot versioning.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 04 Dec 2009 12:31:58 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090823+569a17a-0ubuntu1) karmic; urgency=low
+
+  * Merge package from Debian experimental.  Remaining Ubuntu changes:
+    + debian/control:
+      - Remove mention of using module-assistant; we have a DKMS source package
+      - Add dependency on quilt for our snapshot-date patch
+    + debian/rules:
+      - Call patch target
+      - Generate snapshot-date in get-orig-source
+    + debian/patches/01_include_snapshot_date
+      - Use snapshot-date included by get-orig-source to define NV_DRIVER_DATE
+        in configure.  Helps upstream identify obsolete drivers with Xorg.log
+    + debian/xsfbs/*
+      - Update build-system helper from pkg-xorg.  No longer uses deprecated
+        --print-instalation-architecture. (LP: #403316)
+  * New upstream snapshot.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 23 Aug 2009 19:36:28 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090708+ef3a386-0ubuntu1) karmic; urgency=low
+
+  * New upstream snapshot
+    + Too many git commits to usefully list in changelog.  Lots of fixes,
+      especially for nv5x and nv6x chips.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 08 Jul 2009 08:31:59 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090701+c0bf670-1) experimental; urgency=low
+
+  * New upstream snapshot.
+    - c0bf670... wfb: fix stupid thinko + more safety
+    - a12cb5c... bios: oops
+    - e66867e... bios: use image from PRAMIN in preference to PROM on NV50
+    - 42c5730... wrap BlockHandler a little earlier
+    - 09e663a... kms: safer fb resize func
+    - 90be5d5... wfb: use straight memcpy hook if no tiled wraps present
+    - 86d905d... wfb: be more cautious in a few places
+    - 1bcbc4b... kms: small cleanup
+    - c2d3550... kms: fix rotation buffer pitch
+    - 6fd9829... kms: point rotation pixmap at correct buffer
+    - 67f8ebe... nv50: create non-linear scanout buffers for rotation
+    - b7e3306... Add DVI-A output info for Mac card missing bios tables 
+      (#21273)
+    - 01b19c9... nv50: sigh
+    - 4d9e63b... wfb: "mode0" tiles have the same pitch as the others
+    - 02ed6b6... wfb: work-around wfb suckage
+    - 669c59e... wfb: need a 64-bit datatype for multiply_factor
+    - 86dedb7... fix some pitch issues
+    - 794a277... nv50: use libwfb for pixmap access when driver pixmaps 
+      enabled
+    - 11d9690... exa: use the sane CreatePixmap hook, if available
+    - 6ee4533... xv: fix some issues with driver pixmaps
+    - 67c5287... exa: wait_marker becomes a NOP with driver pixmaps
+    - f44e528... nv50: make use of larger tile sizes
+    - 30c44ce... exa: create unacceleratable pixmaps (ie. 1bpp) in system 
+      memory
+    - 1aa22d5... nv50: use non-linear scanout buffer when driver pixmaps 
+      enabled
+    - 13d8d49... nv50: use tile_mode from bo
+    - bd9f5f2... exa: fix compile against latest libdrm_nouveau
+    - 5f97afe... randr12: split from pre-randr12 structs into new header, 
+      de-typedef
+    - 0c17b87... Move head getting into nouveau_hw.c
+    - 12314fa... randr12: improve uniformity of props code
+    - b541c1c... Remove "TMDS table script pointers not stubbed" bios warning
+    - 8af5028... Remove useless loader symbol lists.
+    - 317b581... randr12: disable lvds (invalidate all modes) if bios lvds 
+      parsing fails
+    - e897191... randr12: better behaviour (avoid crash) when fp native mode 
+      can't be found
+    - 0316748... randr12: line length improvements
+    - b60c16c... Simplify tests for digital fp outputs
+    - 992d4b5... randr12: a bunch of trivial improvements and tidyups
+    - 6f0a324... Fix oopsy from 81bbdd4e causing broken framebuffer
+    - c579918... randr12: fix two colour cursor on second head
+    - 81bbdd4... explicitly mark buffers mappable
+    - 6c09ad5... Tolerate missing fp bios table (rh#502371)
+    - db9ff95... kms: clip sw transition dims to smallest common area
+    - 2688c97... don't run vbios parser when kms enabled
+  * Bump Build-Depends on libdrm-dev.
+  * Bump Standards-Version to 3.8.2.
+
+ -- Chris Lamb <lamby@debian.org>  Sat, 04 Jul 2009 21:00:34 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090519+9656762-1) experimental; urgency=low
+
+  * New upstream snapshot (Closes: #526144, #524456)
+    - 9656762... nv50: fix multiple-display hangs when encoders swap crtcs
+    - d70eed9... randr12: fix digital dpms regression
+    - 1072103... exa: use exaDriverAlloc() to prevent issues across exa 
+      changes
+    - 8502a80... Fix server regeneration again
+    - 7a796a9... randr12: off-chip lvds for nv28 (rh#487456)
+    - 5959512... 'drmCheckModesettingSupported' implicit function declaration 
+      fix
+    - f62719e... Unused variable warning fixes
+    - c8260ef... Fix crash with Xinerama enabled
+    - 1a478ed... randr12: de-magic ramdac general control values
+    - 6c209a8... randr12: pre-nv17 load detection
+    - 3971dda... randr12: fix fp_control again again again
+    - 0ef1603... randr12: solve off-chip encoder crtc exclusion in prepare, 
+      rather than dpms
+    - 0447ce0... randr12: simplify nv11 digital encoder-crtc binding
+    - f69b34a... nv50: return immediately in GetDDCModes if no DDC on 
+      connector...
+    - 45e1618... bios: use NV_ARCH_50 to match G8x chips
+    - 3d61697... nv50: remove reading back vbios-programmed lvds native mode
+    - bade249... nv50: group encoders into connectors by i2c port
+    - 9ee2ac1... bios: remove dodgy mode-table search for g80
+    - 6282574... bios: modify get_fp_strap() for g80
+    - 09b832e... nv50: merge NV50SorSetClockMode and NV50SorSetClockModeLVDS
+    - ed2c185... bios/nv50: initial parsing of display script tables, not 
+      quite complete
+    - 3fccc9e... bios: some nv50 init scripts have flags in reg values, deal 
+      with (1<<30)
+    - 2b4b3da... bios: dcb location is only 2 bits
+    - 7b5bfff... bios: parse BIT U table
+    - e4260ec... randr12: more use of logging abstraction in modesetting code
+    - 4d0fdba... randr12: fix for off-chip dual link digital (enable extra 
+      wide interface?)
+    - bb246d7... Partial fix for nv28 lvds bios parsing (part of rh#487456)
+    - 2915926... plls: max_log2p_bias is likely actually max_log2p
+    - 47bb00f... nv50: missed a WAIT_RING
+    - 523ccec... nv50: use vbios-programmed lvds mode as native mode if no ddc
+    - fa2f111... Remove pNv->GART conditional for selecting CB_LOCATION in 
+      AGP/PCI
+    - 7100c06... kms: fix displayWidth in resize
+    - ef2de25... do e-edid for legacy modesetting path
+    - d8545e6... bios: logic typo from earlier commit
+    - 960a5c8... nv50: modify ddc<->nvreg assignments again..
+    - 3a6c709... kms: fix setting the randr edid property
+    - a1194b3... bios: fix typo
+    - 11451ca... bios: some G8x don't have PBUS at 0x1800, us 0x88000 
+      unconditionally there
+    - 62d69bd... bios: add exception for chipset 0x73 for lack of fp table
+    - 620d519... consistent connector naming across <nv50, nv50 and kms
+    - a5d45c8... randr12: set 1 on cr59 for off-chip digital, 0 otherwise 
+      (#21023, rh#492399)
+    - d63c924... randr12: unlock CR21 *after* turning off digital output
+    - 11be9a9... nv50: fix i2c port addresses
+    - e2aa037... randr12: fall back to standard timings when finding native 
+      mode (rh#492819)
+    - 6965663... randr12: fix hw cursor for fully transparent pixels
+    - d12f70c... randr12: pre-nv17 digital fixes
+    - ea567db... randr12: fix restore for cards where CR21 is not left 
+      unlocked at POST
+    - bd263d8... randr12: make nv11 dvi work for both crtcs
+    - 52c287d... Every card since nv5 can do panels
+    - 3d371a7... randr12: enable tmds reg access on pre-nv17
+    - 1bb85c8... randr12: reorder ramdac reg access
+    - 4465fdd... randr12: remove nv30 special case
+    - 72eced5... randr12: fix/improve a load of version/feature tests
+    - 37c6916... bios: fix chips with pll limits table version 0
+    - 76c5a05... bios: xf86DrvMsg->NV_ERROR
+    - b1b9bcb... bios: support for pll limits table v3.0
+    - 8c85b4b... kms: CONNECTORn -> CONNECTOR-n
+    - 4e1c323... Restore call to NVDRIGetVersion, to ensure the dri module is 
+      loaded
+    - c973f75... Abstract logging in nv_bios.c
+    - b17bebd... nForce DIMM check is now in DRM
+    - 9c991d3... randr12: FP_TG_CONTROL 2: dpms improvements
+    - 5fb2888... randr12: FP_TG_CONTROL 1: turn off digital path when using 
+      VGA encoder
+    - 8023dc3... Split DCB 1.5 parsing from 2.0+, get closer to 80 cols
+    - ea027b3... The dcb prior to v1.5 is pretty hopeless, just add a crt.
+    - 921fbcc... randr12: avoid nv11 chip lockup when saving palette regs
+    - 9d46930... xv: oops
+    - 9213c39... xv: post damage after we draw (rh#492239)
+    - d68a052... kms: small cleanup
+    - c9cb6a6... rh#492511 has a CRTC_OWNER of 0x7 for some reason
+    - 95bff61... randr12: fix LVDS legitimately disconnected case
+    - f86e395... randr12: permit vga outputs to be force enabled in xorg.conf
+    - 8427b39... randr12: move a load of hw mode programming into nouveau_hw.c
+    - 163bdce... Turn the smaller mmio wrappers into static inline
+    - 21ee927... Put arbitration and mnp calcs in separate file
+    - 83dc890... nv50: use E-EDID when available + apply edid quirks
+    - 2c130cf... nv50: fix xf86GetDefaultModes() call for older servers
+    - f1907dc... nv50: add default modes to mode pool for LVDS panel
+    - 7da6fdb... kms: fix bug which prevented getting edid from the kernel
+    - f431e20... randr: fix crash when rotation requested
+    - 36dedd0... kms: check for mm_enabled as an additional test for kms 
+      presence
+    - a923bc1... nv50/xv: correct rendering to partically obscured windows
+    - 01cee29... nv50: call NVSync() in CloseScreen() before restoring video 
+      mode
+    - aa7c037... kms: implement AdjustFrame, should fix crash in fdo#24236
+    - 61879b8... kms: drm_mode_modeinfo struct changed names at some point
+    - 79306fc... dri: fail harder
+    - da1ba93... device close doesn't belong in DRI close, can have DRM 
+      without DRI
+    - 56b11c7... Fix mouse cursor disappearing when near top/left edge of 
+      screen.
+    - 4067ab4... another ppc fix
+    - 862dba8... more ppc..
+    - 3063486... fix ppc build
+    - d80fe78... Fix nouveau_hw_decode_pll on NV30/35.
+    - 62aa81d... Some laptop mode finding fixes resulting from rh#487456
+    - aa6edfa... randr12: name VGA CRTC fields
+    - 7b7c44c... randr12: rename reg state members to follow reg names
+    - 4ae6c22... randr12: name some FP flags, move some unrelated stuff out 
+      from nvreg.h
+    - b50b49f... pre-nv50: use nvidia's names for PRAMDAC regs where known
+    - a9df304... pre-nv50: use nvidia's names for PCRTC regs where known
+    - 2c0710d... Separate maximum limits for encoder devices and i2c records, 
+      DCB_ prefixes
+    - 0db27a6... Add DCB 1.5 entry from a GeForce2 Go reported by Martin 
+      Ketzer on the ML
+    - 3e7fa97... dri: pass object handle instead of offset if using real mm
+    - 88efe40... dri2: initial implementation, only with driver pixmaps
+    - 675126e... kms: support framebuffer resize if driver pixmaps enabled
+    - 8b354b9... kms: copy old fb to new fb on modeset
+    - 6658403... Call NVEnterVT from NVScreenInit rather than duplicating it.
+    - f59fef1... exa: fix multiple prepare/finish_access on a pixmap
+    - 75a1c41... Wrap bios endian casting
+    - 3666d73... Switch to using pll_vals struct for passing pll stuff around
+    - a3dbc06... randr12: cull old unused pll code
+    - 71c821b... Don't pointlessly overallocate cursor storage
+    - 7284c07... randr12: nv10 hw cursor fixes/changes
+    - bcc3a14... randr12: use nv0x cursor colour expansion funcs on later 
+      cards, unify argb paths
+    - b21c807... randr12: store nv0x hw cursor image in VRAM
+    - 3ea4b19... Kill pre-randr12 hwcursor code, and tidy randr12 hwcursor 
+      code
+    - b988160... Remove calls to load ddc and i2c modules -- they're built-in 
+      since server 1.3
+    - d5893ec... Hack around missing display table in rdivacky's GeForce 7050 
+      PV/nForce 630a
+    - 369e1ef... Fix xserver shutdown for randr12 off
+    - 8343d6b... Remove bios lvds parsing pxclk test; ddc_permitted is a 
+      sufficient condition
+    - 8b56c69... Name some regs/values and reduce crtc reg struct size
+    - 79d23d8... improve drm/dri initialisation code
+    - bd14482... kms: cleanup set_property
+    - 7a45592... kms: get current values for output properties on startup
+    - 7095e89... kms: work around some xserver stupidity with DPMS
+    - 8f9a580... Another DCB 1.5 entry (seen in rh#455194)
+    - 9a71990... randr12: add output properties for digital vibrance and 
+      image sharpening
+    - 678ddc2... randr12: functionate output properties creation
+    - ed9bd88... kms: remove early-exit from gamma_set, the kernel side works 
+      now
+    - 98c9e4e... kms: work around some bong hits with dpms
+    - 88ae2c9... kms: implement dpms
+    - 5269cc8... randr12: make props code slightly less awful to behold
+    - 0b87c49... More robust PLL upclocking for old cards
+    - cb237a3... bios/randr12: mode validation fixes (includes fix for #20298)
+    - 9cfccd7... Handle failure to calculate pll values better
+    - 1e99440... xv: return BadAlloc if destination pixmap is not put into 
+      EXA offscreen (#15792)
+    - 77347da... Remove duplicated DCB parsing
+    - 1b6cabe... Remove VBIOS access in parse_dcb_entry
+    - 72fd0ae... randr12: no need to re-detect edid for lvds, it's not going 
+      away
+    - ae981a8... nv50: some minor modesetting changes
+    - 42f99e6... nv30/xv: restore original viewport/clipping after putimage
+    - 56bb8f8... Allow parse_fp_mode_table for x86 cards that find themselves 
+      on ppc
+    - 1c2f33e... Don't rely on the bios mobile feature bit for BMP biosen 
+      (#19986)
+    - e436c7e... randr12: make treatment of CR4B more closely resemble blob's 
+      behaviour
+    - c61102b... Parse bios fp mode during modesetting, removing extra alloc
+    - 631e15a... Get dual_link and dithering bios info through lvds table 
+      parsing function
+    - 2d43771... Call parse_lvds_manufacturer_table during modesetting only 
+      (#19986 partial fix)
+    - ce8f5d7... Variety of LVDS script changes
+    - 071d537... Read embedded bios edid only on demand
+    - f04689c... move memset of fb after NVSave(), hopefully fix lost VGA 
+      fonts
+    - 6961efb... kms: fix check for xf86drmMode.h
+    - 76fa656... Detypedef bios_t, rename bios io functions, group various 
+      helper functions
+    - 39c9d02... Move parsed DCB to bios structs, split into public and 
+      private parts
+    - 275daaf... Split bios struct into struct for nv_bios.c, and exported 
+      public info struct
+    - 8b3e966... Remove never updated bios opcodes 0x31, 0x5A and 0x73
+    - ce9eb05... Trivial bios convenience variable changes
+    - cfeef11... exa: forgot to check if EXA_SUPPORTS_PREPARE_AUX was defined
+    - 37a85dc... exa: we support PREPARE_AUX
+    - 1249fd2... Revert "exa: support major version 3"
+    - 1c4a284... Rework PLL decoding in terms of pll_vals, save/restore 
+      pll_vals on vt switch
+    - 81b4732... New common struct for pll values
+    - adf2e35... Check whether NV_RAMDAC_580 has changed when setting PLLs
+    - b7f99ae... exa: support major version 3
+    - d91fc78... kms: fix resize func
+    - 535498b... clear the scanout buffer on statup to avoid seeing garbage 
+      on-screen
+    - 0227673... nv50/exa: properly align offset for mem_tile ioctl
+    - e09f50e... bios/randr12: fix dual link TMDS (#20006)
+    - b968db7... Return of "bios: fix create_i2c_device for g80"
+    - 0a439ba... Parse DCB before running init
+    - 870b6f0... Split parsing and init into separate functions
+    - 0280a0c... Attempt to remove pNv and bios_t use in parsing the DCB
+    - 9179c66... Variety of DCB enhancements
+    - 317ca47... Revert "bios: fix create_i2c_device for g80"
+    - 7b25a30... nv04: unbreak copy
+    - 60c8bb1... default to autodetecting whether to enable the driver's kms 
+      paths
+    - a31b1d0... exa: reimplement driver-controlled pixmaps
+    - d97e993... exa: preparation for reintroducing driver-controlled pixmaps
+    - 1e00c7d... shadowfb: clip copied regions to frontbuffer size.
+    - efe2796... nv50: correct a poorly written comment
+    - 2573c06... exa: remove exaWaitSync() call in nouveau_exa_pixmap_map()
+    - 5000535... exa: don't need exaMarkSync on DFS, the operation will be 
+      done already
+    - a7e7c55... xv: remove notifier usage
+    - 8ecb8d5... exa: remove notifier waits in UTS/DFS
+    - cfb884b... bios: add some more valid regs
+    - ca72ca2... bios: fix create_i2c_device for g80
+    - bbd7041... bios: implement opcode 0x76 (INIT_IO_CONDITION).
+    - 5dd2cbe... exa: add nouveau_exa_pixmap_is_tiled
+    - 15ccf72... randr12: anti-crash measures for #19854
+    - 17e9d4b... randr12: use bios PLL setting routines for modesetting
+    - e444e0e... Readability improvements for nv_hw.c and nvreg.h
+    - f5ea66c... Pull in extras from CRTC PLL code to bios routines
+    - 4166365... Pull out ramdac580 setting and powerctrl_1 shift code to 
+      separate functions
+    - 8b70418... Miscellaneous fixes to bios PLL code
+    - 01bb4c1... Make PROM score badly, out of available bios images, if 
+      checksum bad
+    - 30848dd... randr12: bodge-in continuous timings when the scaler is in 
+      use (#19203)
+    - 0387ac3... Allow reading of PROM and PCI rom on PPC (for people using 
+      x86 cards)
+    - 6ad66c0... bios/randr12: be strict about when to use modes from bios vs 
+      modes from ddc
+    - b5391eb... Simplify FP strapping semantics and trust bios parsing of 
+      use_straps_for_mode
+    - 34c2b15... bios/randr12: misc (mainly lvds related) clarifications and 
+      cleanups
+    - 98b8cad... Always allocate 2 hw cursors.
+    - f109981... Fix a few warnings.
+    - 691589d... Fix some cursor fallout, mostly in legacy code.
+    - 945f0cb... kms: update drmmode_display
+    - ba1f897... keep resources around after leavevt, far too problematic 
+      currently
+  * Bump Standards-Version to 3.8.1.
+  * Bump build dependency on libdrm-dev to 2.4.11.
+
+ -- Chris Lamb <lamby@debian.org>  Wed, 20 May 2009 10:17:53 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090404+11be9a9-0ubuntu1) jaunty; urgency=low
+
+  * New upstream snapshot.  Standing FFe is (LP: #346621).
+    - 11be9a9... nv50: fix i2c port addresses
+    - e2aa037... randr12: fall back to standard timings when finding
+      native mode (rh#492819)  
+    - 6965663... randr12: fix hw cursor for fully transparent pixels
+    - d12f70c... randr12: pre-nv17 digital fixes
+    - ea567db... randr12: fix restore for cards where CR21 is not left
+      unlocked at POST 
+    - bd263d8... randr12: make nv11 dvi work for both crtcs
+    - 52c287d... Every card since nv5 can do panels
+    - 3d371a7... randr12: enable tmds reg access on pre-nv17
+    - 1bb85c8... randr12: reorder ramdac reg access
+    - 4465fdd... randr12: remove nv30 special case
+    - 72eced5... randr12: fix/improve a load of version/feature tests
+    - 37c6916... bios: fix chips with pll limits table version 0
+    - 76c5a05... bios: xf86DrvMsg->NV_ERROR
+    - b1b9bcb... bios: support for pll limits table v3.0
+    - 8c85b4b... kms: CONNECTORn -> CONNECTOR-n
+    - 4e1c323... Restore call to NVDRIGetVersion, to ensure the dri
+      module is loaded 
+    - c973f75... Abstract logging in nv_bios.c
+    - b17bebd... nForce DIMM check is now in DRM
+    - 9c991d3... randr12: FP_TG_CONTROL 2: dpms improvements
+    - 5fb2888... randr12: FP_TG_CONTROL 1: turn off digital path when
+      using VGA encoder 
+    - 8023dc3... Split DCB 1.5 parsing from 2.0+, get closer to 80 cols
+    - ea027b3... The dcb prior to v1.5 is pretty hopeless, just add a crt.
+    - 921fbcc... randr12: avoid nv11 chip lockup when saving palette regs
+    - 9d46930... xv: oops
+    - 9213c39... xv: post damage after we draw (rh#492239)
+    - d68a052... kms: small cleanup
+    - c9cb6a6... rh#492511 has a CRTC_OWNER of 0x7 for some reason
+    - 95bff61... randr12: fix LVDS legitimately disconnected case
+    - f86e395... randr12: permit vga outputs to be force enabled in xorg.conf
+    - 8427b39... randr12: move a load of hw mode programming into nouveau_hw.c
+    - 163bdce... Turn the smaller mmio wrappers into static inline
+    - 21ee927... Put arbitration and mnp calcs in separate file
+    - 83dc890... nv50: use E-EDID when available + apply edid quirks  
+  * debian/control:
+    - Bump dependency on libdrm-dev to ensure rebuild with fixed
+      libdrm-nouveau1.symbols file.  Fixes missing Depends: on
+      libdrm-nouveau1
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 04 Apr 2009 14:35:12 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090327+f1907dc-0ubuntu1) jaunty; urgency=low
+
+  * New upstream snapshot.  Standing FFe is (LP: #346621).
+    - New snapshot fixes crash in NoAccel code path (LP: #345530)
+    - New snapshot fixes incorrect resolution after exit from some
+      fullscreen applications, such as Battle for Westnoth (LP: #323619)
+    - f1907dc... nv50: add default modes to mode pool for LVDS panel
+    - 7da6fdb... kms: fix bug which prevented getting edid from the kernel
+    - f431e20... randr: fix crash when rotation requested
+    - 36dedd0... kms: check for mm_enabled as an additional test for kms
+      presence
+    - a923bc1... nv50/xv: correct rendering to partically obscured windows
+    - 01cee29... nv50: call NVSync() in CloseScreen() before restoring
+      video mode
+    - aa7c037... kms: implement AdjustFrame, should fix crash in fdo#24236
+    - 61879b8... kms: drm_mode_modeinfo struct changed names at some point
+    - 79306fc... dri: fail harder
+    - da1ba93... device close doesn't belong in DRI close, can have DRM
+      without DRI
+    - 56b11c7... Fix mouse cursor disappearing when near top/left edge of
+      screen.
+    - 4067ab4... another ppc fix
+    - 862dba8... more ppc..
+    - 3063486... fix ppc build
+    - d80fe78... Fix nouveau_hw_decode_pll on NV30/35.
+    - 62aa81d... Some laptop mode finding fixes resulting from rh#487456
+    - aa6edfa... randr12: name VGA CRTC fields
+    - 7b7c44c... randr12: rename reg state members to follow reg names
+    - 4ae6c22... randr12: name some FP flags, move some unrelated stuff
+      out from nvreg.h
+    - b50b49f... pre-nv50: use nvidia's names for PRAMDAC regs where known
+    - a9df304... pre-nv50: use nvidia's names for PCRTC regs where known
+    - 2c0710d... Separate maximum limits for encoder devices and i2c
+      records, DCB_ prefixes
+    - 0db27a6... Add DCB 1.5 entry from a GeForce2 Go reported by Martin
+      Ketzer on the ML
+    - 3e7fa97... dri: pass object handle instead of offset if using real mm
+    - 88efe40... dri2: initial implementation, only with driver pixmaps
+    - 675126e... kms: support framebuffer resize if driver pixmaps enabled
+    - 8b354b9... kms: copy old fb to new fb on modeset
+    - 6658403... Call NVEnterVT from NVScreenInit rather than duplicating it.
+    - f59fef1... exa: fix multiple prepare/finish_access on a pixmap
+    - 75a1c41... Wrap bios endian casting
+    - 3666d73... Switch to using pll_vals struct for passing pll stuff around
+    - a3dbc06... randr12: cull old unused pll code
+    - 71c821b... Don't pointlessly overallocate cursor storage
+    - 7284c07... randr12: nv10 hw cursor fixes/changes
+    - bcc3a14... randr12: use nv0x cursor colour expansion funcs on later
+      cards, unify argb paths
+    - b21c807... randr12: store nv0x hw cursor image in VRAM
+    - 3ea4b19... Kill pre-randr12 hwcursor code, and tidy randr12 hwcursor code
+    - b988160... Remove calls to load ddc and i2c modules -- they're
+      built-in since server 1.3
+    - d5893ec... Hack around missing display table in rdivacky's GeForce
+      7050 PV/nForce 630a
+    - 369e1ef... Fix xserver shutdown for randr12 off
+    - 8343d6b... Remove bios lvds parsing pxclk test; ddc_permitted is a
+      sufficient condition
+    - 8b56c69... Name some regs/values and reduce crtc reg struct size
+    - 79d23d8... improve drm/dri initialisation code
+    - bd14482... kms: cleanup set_property
+    - 7a45592... kms: get current values for output properties on startup
+    - 7095e89... kms: work around some xserver stupidity with DPMS
+    - 8f9a580... Another DCB 1.5 entry (seen in rh#455194)
+    - 9a71990... randr12: add output properties for digital vibrance and
+      image sharpening
+    - 678ddc2... randr12: functionate output properties creation
+    - ed9bd88... kms: remove early-exit from gamma_set, the kernel side
+      works now
+    - 98c9e4e... kms: work around some bong hits with dpms
+    - 88ae2c9... kms: implement dpms
+    - 5269cc8... randr12: make props code slightly less awful to behold
+    - 0b87c49... More robust PLL upclocking for old cards
+    - cb237a3... bios/randr12: mode validation fixes (includes fix for #20298)
+    - 9cfccd7... Handle failure to calculate pll values better
+    - 1e99440... xv: return BadAlloc if destination pixmap is not put into
+      EXA offscreen (#15792)
+    - 77347da... Remove duplicated DCB parsing
+    - 1b6cabe... Remove VBIOS access in parse_dcb_entry
+    - 72fd0ae... randr12: no need to re-detect edid for lvds, it's not
+      going away
+    - ae981a8... nv50: some minor modesetting changes
+    - 42f99e6... nv30/xv: restore original viewport/clipping after putimage
+    - 56bb8f8... Allow parse_fp_mode_table for x86 cards that find
+      themselves on ppc
+    - 1c2f33e... Don't rely on the bios mobile feature bit for BMP biosen
+      (#19986)
+    - e436c7e... randr12: make treatment of CR4B more closely resemble
+      blob's behaviour
+    - c61102b... Parse bios fp mode during modesetting, removing extra alloc
+    - 631e15a... Get dual_link and dithering bios info through lvds table
+      parsing function
+    - 2d43771... Call parse_lvds_manufacturer_table during modesetting
+      only (#19986 partial fix)
+    - ce8f5d7... Variety of LVDS script changes
+    - 071d537... Read embedded bios edid only on demand
+    - f04689c... move memset of fb after NVSave(), hopefully fix lost VGA fonts
+    - 6961efb... kms: fix check for xf86drmMode.h
+    - 76fa656... Detypedef bios_t, rename bios io functions, group various
+      helper functions
+    - 39c9d02... Move parsed DCB to bios structs, split into public and
+      private parts
+    - 275daaf... Split bios struct into struct for nv_bios.c, and exported
+      public info struct
+    - 8b3e966... Remove never updated bios opcodes 0x31, 0x5A and 0x73
+    - ce9eb05... Trivial bios convenience variable changes
+    - cfeef11... exa: forgot to check if EXA_SUPPORTS_PREPARE_AUX was defined
+    - 37a85dc... exa: we support PREPARE_AUX
+    - 1249fd2... Revert exa: support major version 3
+    - 1c4a284... Rework PLL decoding in terms of pll_vals, save/restore
+      pll_vals on vt switch
+    - 81b4732... New common struct for pll values
+    - adf2e35... Check whether NV_RAMDAC_580 has changed when setting PLLs
+    - b7f99ae... exa: support major version 3
+    - d91fc78... kms: fix resize func
+    - 535498b... clear the scanout buffer on statup to avoid seeing
+      garbage on-screen
+    - 0227673... nv50/exa: properly align offset for mem_tile ioctl
+    - e09f50e... bios/randr12: fix dual link TMDS (#20006)
+    - b968db7... Return of bios: fix create_i2c_device for g80
+    - 0a439ba... Parse DCB before running init
+    - 870b6f0... Split parsing and init into separate functions
+    - 0280a0c... Attempt to remove pNv and bios_t use in parsing the DCB
+    - 9179c66... Variety of DCB enhancements
+    - 317ca47... Revert bios: fix create_i2c_device for g80
+    - 7b25a30... nv04: unbreak copy
+    - 60c8bb1... default to autodetecting whether to enable the driver's
+      kms paths
+    - a31b1d0... exa: reimplement driver-controlled pixmaps
+    - d97e993... exa: preparation for reintroducing driver-controlled pixmaps
+    - 1e00c7d... shadowfb: clip copied regions to frontbuffer size.
+    - efe2796... nv50: correct a poorly written comment
+    - 2573c06... exa: remove exaWaitSync() call in nouveau_exa_pixmap_map()
+    - 5000535... exa: don't need exaMarkSync on DFS, the operation will be
+      done already
+    - a7e7c55... xv: remove notifier usage
+    - 8ecb8d5... exa: remove notifier waits in UTS/DFS
+    - cfb884b... bios: add some more valid regs
+    - ca72ca2... bios: fix create_i2c_device for g80
+    - bbd7041... bios: implement opcode 0x76 (INIT_IO_CONDITION).
+    - 5dd2cbe... exa: add nouveau_exa_pixmap_is_tiled
+    - 15ccf72... randr12: anti-crash measures for #19854
+    - 17e9d4b... randr12: use bios PLL setting routines for modesetting
+    - e444e0e... Readability improvements for nv_hw.c and nvreg.h
+    - f5ea66c... Pull in extras from CRTC PLL code to bios routines
+    - 4166365... Pull out ramdac580 setting and powerctrl_1 shift code to
+      separate functions
+    - 8b70418... Miscellaneous fixes to bios PLL code
+    - 01bb4c1... Make PROM score badly, out of available bios images, if
+      checksum bad
+    - 30848dd... randr12: bodge-in continuous timings when the scaler is
+      in use (#19203)
+    - 0387ac3... Allow reading of PROM and PCI rom on PPC (for people
+      using x86 cards)
+    - 6ad66c0... bios/randr12: be strict about when to use modes from bios
+      vs modes from ddc
+    - b5391eb... Simplify FP strapping semantics and trust bios parsing of
+      use_straps_for_mode
+    - 34c2b15... bios/randr12: misc (mainly lvds related) clarifications
+      and cleanups
+    - 98b8cad... Always allocate 2 hw cursors.
+    - f109981... Fix a few warnings.
+    - 691589d... Fix some cursor fallout, mostly in legacy code.
+    - 945f0cb... kms: update drmmode_display
+    - ba1f897... keep resources around after leavevt, far too problematic
+    currently
+  * debian/rules
+    + Remove stampdir/ on clean; fixes build-twice-in-a-row.
+  * debian/patches/01_include_snapshot_date
+    + Generate snapshot-date in get-orig-source, and use it rather than
+      git log to define NV_DRIVER_DATE
+  * debian/control
+    + Remove reference to drm-modules-source package from long description.
+      Ubuntu ships a DKMS-ified nouveau-kernel-source package, which makes
+      this unnecessary.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 27 Mar 2009 20:41:22 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090205+4dfd0b1-1) experimental; urgency=low
+
+  * New upstream snapshot (Closes: #514080)
+    - 4dfd0b1... oops
+    - e02813a... link against libdrm_nouveau (installed with libdrm)
+    - 2c06308... require drm 0.0.12
+    - 29aa134... fix NoAccel from when map/unmap became stricter
+    - 62adc55... Revert "Improve the NoAccel situation, but it's not working 
+      yet."
+    - 285027a... Improve the NoAccel situation, but it's not working yet.
+    - 5e63c78... Revert "nv50: make entire offscreen area tiled, use extra 
+      blits to scanout buffer"
+    - 6c3f8da... nv50: make entire offscreen area tiled, use extra blits to 
+      scanout buffer
+    - 6179102... nv10: use the correct 3d object on NV1A
+    - dfd87ec... xv: Unmap filter table BO after init so it can be validated 
+      (nv30,40)
+    - b8de749... Avoid any risk of parsing oscillation on if_is_24bit
+    - 0a0bb72... Split up parsing the bit structure, complain when necessary 
+      tables are missing
+    - 2d86018... Swap the order of calling parse_fp_mode_table and 
+      parse_lvds_manufacturer_table
+    - 8c6b3a8... Make calling of init bios functions common
+    - 9b32034... Don't read obviously useless bios images, and drop 5x 
+      reading on PROM
+    - 63aa210... Implement bios I2C opcode 4E (untested)
+    - a81f159... Handle I2C device 0xff fallback for I2C bios opcodes
+    - 34e967e... Fix pasta error in bios opcode 4D
+    - 786dd36... Fix nv04+ IFC upload and frag prog upload
+    - 3ab65cf... add vm_vram_base field to nouveau_device instead of 
+      hardcoding 512MiB
+    - d833c81... nv50/xv: previous xv commit was bonged - fix that
+    - 0f741eb... exa: small cleanup
+    - c10c3c9... exa: mass renaming and movement of nv04 solid/copy code to 
+      nv04_exa.c
+    - 81ace5d... exa: remove driver pixmaps path that never worked here anyway
+    - 4b1829e... exa: remove NVCopyROP table..
+    - 410788d... blow up horribly if GPU access to mapped buffer is attempted
+    - 4c9346b... bo_del->bo_ref, closer to ng api
+    - c533f86... exa: same for UTS state
+    - 02677c0... exa: ensure DFS state is updated across flushes
+    - 69d02bc... nv50: remove some redundant init, this stuff is done as 
+      required now
+    - 60aea90... nv50: forgotten buffer access flags during init
+    - 5a382dd... nv10/exa: resubmit state in composite as needed
+    - d4ff8db... nv30/exa: resubmit state in composite as needed
+    - b71ebcb... nv40/exa: resubmit state in composite as necessary
+    - 6ddaddb... exa: rework common pre-nv50 code in the same way nv50 code 
+      just was
+    - f36fa31... nv50/xv: ensure entire frame will fit in pushbuf without 
+      causing a flush
+    - 1b48331... nv50/exa: ensure buffer usage is tracked correctly
+    - 7e64426... remove unconditional FIRE_RING() in DoneComposite() hooks
+    - 34fc446... hack a flush_notify() hook in to match ng
+    - d9da090... Drop GPU resources on LeaveVT, reaquire on EnterVT
+    - 1eb8b87... Enable ShadowFB for DRM-less mode.
+    - 4874638... Allow NoAccel operation without the DRM module present.
+    - f78aeed... if CARD_INIT ioctl fails, report it instead of continuing
+    - cf65b87... Fix stupidity introduced in 
+      25de6b867f319099dac05ba84f170da0f0e6c803
+    - 55e9cdd... Split out a function for finding the panel power sequencer 
+      stuff
+    - 1b3546b... Move the bios flat-panel pointers back into the bios struct
+    - d29c481... Remove a BITism from BMP parsing path, and move old style 
+      BMP init into common path
+    - 3e971f6... randr12: lock independent crtc base registers separately 
+      (#19620)
+    - ffbca72... randr12: code motion and allow ramdac580 setting on nv40
+    - 75a0376... randr12: better selection of nv4x single pll mode and some 
+      notes
+    - 767fcea... randr12: no mmiotrace indication that the blob ever clears 
+      these bits
+    - 985ac72... randr12: no mmiotrace evidence for nv47 using the special 
+      pll bits
+    - 3ef6b41... twoStagePLL is actually a description of cards using two PLL 
+      regs
+    - c7a423a... nv04 blitter: use correct number of dma params for real nv04
+    - 25de6b8... Complain more about weird bios images
+    - 4d72981... randr12: avoid classic macro error
+    - 133c1a5... No need of separate allocation for bios image
+    - 8a25049... Make turning on bios execution logging slightly easier
+    - 54d43c4... nv50: small fix
+    - 5c9f8d3... nv50: Add a fallback for non-repeating XRGB pixmaps.
+    - 0321e67... nv50: don't segfault if preinit fails before display setup 
+      done
+  * Don't include .git in .orig.tar.gz.
+  * Replace "(C)" in debian/copyright with "©" to appease lintian.
+  * Replace usage of `dh_clean -k` with dh_prep.
+
+ -- Chris Lamb <lamby@debian.org>  Thu, 05 Feb 2009 00:21:35 +0000
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20090105+7dc567d-1) experimental; urgency=low
+
+  * New upstream snapshot
+    - 7dc567d... nv50: correct size/layout of uploaded data
+    - 159c18c... Make CHECK_TIMEOUT() a little more correct.
+    - 5d281a2... nv04-nv4x: support RandR 1.3 panning
+    - 3c4705c... Implement bios opcodes 4C and 4D
+    - 1fd60f2... Group all DCB I2C info for a given bus in a structure
+    - 31c9958... nv50: implement get_crtc
+    - f7a7578... nv50: implement set_origin (mostly used for panning)
+    - 74b2e4e... configure: Avoid compiling drm modesetting code by accident.
+    - d104f14... nv50: Improve lut code.
+    - 20f93a9... randr12: pass cursor visibility changes through mode state 
+      structures
+    - 763e0f8... randr12: allow ddc while crtc is locked
+    - 9d8bd45... Punt all bios structs and defines into a new header
+    - a34a2c0... Do not attempt to parse FP mode tables for Mac laptops 
+      (#18636)
+    - 1aba513... nv50: program physical addresses into CRTCs, not VM 
+      addresses.
+    - 65b956f... randr12: fix stupidity from 539f4990
+    - 1666e85... nv50: use bios provided load detect value
+    - a020a44... bios: support g80 loadval table
+    - 220cbb6... nv50_randr: plug a small memory leak
+  * Update Build-Depends on libdrm-dev.
+
+ -- Chris Lamb <lamby@debian.org>  Mon, 05 Jan 2009 02:43:34 +0000
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20081028+cea05e1-1) experimental; urgency=low
+
+  * New upstream snapshot (Closes: #503541)
+    - cea05e1... randr12: make colour-map setting less complex
+    - 0e4b01a... randr12: convenience functions for vga crtc state access
+    - fe9bfd9... Tidy EnterVT, and don't call it from ScreenInit
+    - 3e1ccff... Condense crtc locking
+    - 83b541e... Common function for the bios condition table
+    - 36c6aa4... Allow more time in INIT_CONDITION_TIME (#18234)
+    - bf810b3... More warnings for C51's magical unaligned regs
+    - d481b5e... Rework bios parser error handling
+    - 387f308... RivaTuner dumps call the `how much memory have I got?' reg 
+      NV_PFB_CSTATUS
+    - bb20175... pedantry fix for nv11 locking, and some minor cleanups
+    - 9aecc42... Add a function to lock/unlock all crtcs, use it in nv_bios
+      code
+    - 48581da... Attempt to make the usage of cr44 rational instead of 
+      cargoculted
+    - 1c7bee9... Robust nv11 head setting (from mmiotrace)
+    - cf5162b... randr12: update scrn field on server regen, and emit an error
+      if rotated
+    - 13739cf... randr12: don't change virtualX/virtualY
+    - 98a4dcb... Delete notifiers and grobjs in CloseScreen to avoid channel 
+      member becoming stale on server regeneration
+    - 12fce00... Remove all object with mmaps in CloseScreen, so that 
+      drmClose actually calls the drm release method
+    - 8e3f27a... No reason to call AccelCommonInit twice in ScreenInit, but 
+      calling it in EnterVT helps resume...
+    - f495fa9... nouveau_channel_free should remove mmaps made in 
+      nouveau_channel_alloc
+    - 1cedb8e... Do frag prog allocation and shader upload in TCL init
+    - 9e2c089... Only hackup shaders once
+    - afc6668... cr26 is just another view of 0x3c0
+    - 539f499... Use symbolic define values where known
+    - 791666a... Convert CIO, DIO and VIO use to use defines from nvreg for 
+      index and data reg offsets
+    - a1b7f8d... Rename relevant functions, sizes and offsets to PRM.IO from 
+      P.IO, in keeping with the nvidia scheme
+    - 267c0ee... Name crtc index regs according to rules.xml
+    - 9261c34... SaveGeneration isn't doing a lot
+    - c29c190... Replace a few memsets with initializers
+    - 3b53f6c... Eliminate separate NVRec ctor and dtor
+    - 1b18db2... randr12: remove pointless debug in nv_output and nv_crtc
+    - 240d51d... randr12: deBoolification and eliminate `override' arg to 
+      nv_crtc_load_state_ext
+    - b95c3e2... Make all CR 57/58 access use the proper functions and defines
+    - 9988ae5... Redo bios logging
+    - 0e6a9cc... Improve some nv_bios messages, remove others
+    - b175bfc... Bios register list is easier to read when sorted numerically
+    - e51b49c... randr12: panels with edid have only a constant mode
+    - 765494e... Remove unnecessary "Setting owner" message
+  * Bump Build-Depends on libdrm-dev.
+
+ -- Chris Lamb <lamby@debian.org>  Tue, 28 Oct 2008 07:44:02 +0000
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20081012+3b53f6c-1) experimental; urgency=low
+
+  * New upstream snapshot:
+    - bf585ad... The fifo channel should be removed along with closing of the 
+      fd, so only clear the client memory.
+    - 8b7e424... git-log is no longer valid for git 1.6, switch to git log.
+    - 933fd80... Some fixes that bring me closer to surviving to the 2nd X 
+      server generation.
+    - daee3c3... randr12: separate cursor pixmap location setting function
+    - caf2e92... Move cursor show/hide funcs to nv_hw, document nv40 bug, and 
+      set curctl2 before applying nv40 fix
+    - f76074c... Use correct refclk for nv_get_clock, and use bool type as 
+      appropriate in arbitration
+    - bd5b807... Tidy arbitration prototypes and split randr12 cursor pixmap 
+      setting from arbitration
+    - 5dc41fd... Merge nv4, nv10 and nForce UpdateArbitrationSettings 
+      functions
+    - 0ffd012... Add PCI slot reading defines, and use them for nForce code
+    - 520a76e... Some tidying of arbitration functions
+    - 3ceb2b6... Reindent arbitration stuff
+    - d7439fc... Wrap usleep when called in bios code
+    - 62cf9f3... randr12: don't use in use (by another vga output) crtc for 
+      load detect (avoids flicker)
+    - f1d0fd0... Better behaviour on allocator fail
+    - 2b67015... randr12: reorder nv_output functions
+    - 9f4eef0... randr12: distinguish detected encoder from active encoder
+    - 549cda1... Reduce includes, everything necessary is in nv_include.h
+    - 30eaa0f... Oops.
+    - 2481e56... Optimizing memory usage for unaccelerated case is not 
+      interesting
+    - 19f0ea6... randr12: rename mon -> edid
+    - 0cb0817... randr12: crtc destroy
+    - 37adca1... Need to increment dcb entry index when fabricating 
+      additional entries
+    - e6b6d8c... Also remove man page entry.
+    - cb1e9c1... NV50: remove {Prepare,Finish}Access since i realise now it's 
+      not so useful
+    - 3e397f5... NV50: The TMDS dual link threshold is meaningless for LVDS
+    - 599d258... randr12: multiple encoders per connector (DVI-I)
+    - 5e8ac84... nv50: 0xa0 family uses class 0x8397 for 3D
+    - 9c36eef... randr12: avoid weirdness when tv-out happens to share 
+      i2c_index with another output
+    - 144b04a... randr12: fix dpms, detect, destroy, save and restore for 
+      multiple encoders per connector
+    - 2b30b89... randr12: re-do detection of dvi-a vs vga
+    - 50bac3f... randr12: unify output funcs for analogue and tmds
+    - 69e30e6... randr12: unified entry path for dpms
+    - a794a0c... randr12: nouveau_output -> nouveau_connector
+    - 0a5119b... randr12: separate encoder struct
+    - 352b8fd... Another DCB 1.4/1.5 TV (#17471)
+    - e8ba4e0... Only use OF bios image on PPC
+    - 54b8a7e... nv50/exa: work around corruption issues (see detailed commit 
+      msg)
+    - f8c0af3... Partly revert ea152819f45b6cf92f6742ed3f9f639cdbbd53f0, 
+      alignment is needed.
+    - ea15281... exa: align offscreenBase to something sensible
+    - 95c19b9... Add 8200 detection.
+    - 6dd8ad4... nv50: solid fill shouldn't use a pattern rop + minor changes
+    - b2b726d... randr12: merge output detection functions
+    - a223e58... randr12: remember the edid from detection for getting modes 
+      later
+    - 16d9e89... randr12: detypedef private structs and use a define to get 
+      to the privates
+    - 3b3f3cd... Remove unused code
+    - 1e2b87c... randr12: make the nouveau experience less green
+    - f89af0e... nv50: micro cleanup
+    - 94bf106... nv50: do ROPs properly this time
+    - 6bd14e4... nv10: composite is an async operation by default, no need to 
+      call exaMarkSync().
+    - 9f11d13... exa: FIRE_RING at the end of composite
+    - 137d099... nv50: move VERTEX_{START,END} to {Prepare,Done}Composite
+    - 34dc05f... nv50: minor tweaks to composite
+    - eca9977... nv50: handle ROPs better
+    - e468df8... nv50: clip SIFC and add {Prepare,Finish}Access hooks.
+    - 0c0c1ab... randr12: don't cache pll values (fixes newrestore removal 
+      regression)
+    - 544fd3c... Remove some of the inaccuracies in the manpage
+    - e3d9cb9... NV_ARCH_04 can have rotated output, it's just not accelerated
+    - 40e920f... Delete ShadowFB rotation
+    - 6352d7d... Bye bye 8 bit depth
+    - 33d52e4... CrtcNumber option is long gone
+    - a9393a8... Micro-tidyups to nv_driver and nouveau_xv
+    - 8ed30d0... randr12: a few line length improvements
+    - 666ab70... Kill some 8 bit code.
+    - bee8450... Fix IFC for 16bpp. Also fix the color accuracy of 16bpp 
+      solid fills.
+    - 609b10f... 0x48 exception does not apply on BIT cards
+    - a9e2d47... randr12: some code simplification, rearrangement and tidying
+    - 5715f95... NewRestore: remove, due to lack of interest
+    - d2e924e... randr12: remove another field member
+    - 55f490c... randr12: fpWidth and fpHeight no more
+    - 4cbbd44... randr12: improve aspect scaling code
+    - 8a36468... randr12: for native scaling, a clock check isn't enough
+    - 8793bb1... Apply minimum front porch only when necessary (#15949)
+    - 83bb26f... NV50: disallow doublescan modes on TMDS/LVDS
+    - 7d5b345... NV50: extra warning message
+    - 743c696... NV50: a half decent attempt at doing something when LVDS has 
+      no DDC
+    - fcbaa10... Forgot something.
+    - 628acdd... NV50: support extended i2c ports (4 and 5)
+    - c845f5a... nv50: fix some of the rendering bugs
+    - 1828820... Redo parsing for panels with EDID, and fix nv3x in the 
+      process (#17138)
+    - c9d4e86... Try harder to load a good vbios image
+    - ae59478... Deal with mobile cards that scribble over the fp strap at 
+      POST
+    - 7766706... Fix a 16bpp issue, also remove old code that mostly worked 
+      around core EXA issues in older xservers.
+    - 6854f81... NV50: Disable messages from hide, show and load cursor, as 
+      they clutter the logs.
+    - 4b24be8... xv: fix thinko from when source was reformatted
+    - 30f54f2... g3dvl: Temporarily disable IDCT.
+  * Update maintainer email address.
+  * Add dummy debian/watch file to appease lintian.
+  * Rework long description to include a pointer to module-assistant; it seemed
+    to be confusing some users (eg. #494755)
+
+ -- Chris Lamb <lamby@debian.org>  Sun, 12 Oct 2008 19:39:14 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20080803+30f54f2-1) experimental; urgency=low
+
+  * New upstream snapshot:
+    - 89d7864... nv50: fix mystery typo
+    - c0b67f3... remove use of implicit variables from pushbuf macros
+    - 80278c9... g3dvl: Basic XvMC initialization.
+    - 1f8e27f... NV50: I was proven wrong quicker than i thought, reinstate a 
+      slightly prettier hack.
+    - 41d46f5... NV50: forgot something
+    - 1b90524... NV50: my best guess at the lvds bios table, time will tell 
+      if it's correct for more than a few cases
+    - f3ec6e0... nouveau: fix macro as pointed out my moondrake on irc
+    - 6652e9c... nv50: support YUY2 in textured video adaptor
+    - 3534f40... nv50: remove 32bpp solid fill fallback
+    - 87f7d1f... Revert "NV50EXA: read the notes + cleanup + enabled 32bpp 
+      solid fill"
+    - ba7c239... NV50EXA: serious brain fart of my part, sorry
+    - 0b6249f... NV50EXA: read the notes + cleanup + enabled 32bpp solid fill
+    - edbfbd0... EXA: put NOUVEAU_FALLBACK in a do { } while (0), fixed opera 
+      corruption for me.
+    - 36d1308... NV50_KMS: some basic scaling and dithering output property 
+      support
+    - 022a9ed... nv50: no more sync in composite() :)
+    - 6d8096c... nv50: sync after composite for the moment
+    - c68d880... nv50: punt vertex emission macro out to header
+    - 4ad74cb... exa: missed a reloc delta
+    - 98a9056... nv50: remove acquire/release surface stuff
+    - f0305a2... exa: rename m2mf locals to prevent some confusion
+    - 140c36e... randr12: fix dithering output property endian issue (#16624)
+    - b36802f... Fix for #14858 - freebsd compile. Someone still needs to fix 
+      the kernel part though.
+    - 6f5e90a... nv30: more header name changes...
+    - 4b8427a... nv30: more bustage from header update
+    - 1672a78... nv30: un-change something that somehow changed in an earlier 
+      commit. oops!
+    - dae5958... nv50: exa/xv share some stuff, punt it out to nv50_accel.[ch]
+    - 17fbd81... nv50: Xv support
+    - ec45278... nv50: de-magic things before someone accuses me of being an 
+      NVIDIA employee
+    - ad56c5e... nv50: exa composite
+    - 33fad27... nv50: tile offscreen pixmaps
+    - 5c1deac... exa: pass window coords to m2mf-based UTS/DFS
+  * Update dependency on libdrm-dev. Move to ">=" relation to make package
+    binNMU safe.
+
+ -- Chris Lamb <chris@chris-lamb.co.uk>  Sun, 03 Aug 2008 17:34:24 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20080706+b1f3169-1) experimental; urgency=low
+
+  * New upstream snapshot:
+    - b1f3169... xv: remove some disturbing abuses of buffer related things
+    - 0ce028b... EXA: add a pixmapIsOffscreen hook.
+    - 86c70df... NV50_KMS: support gamma changes
+    - 6de89c8... NV50: Unaccelerated rotation support.
+    - 788fefa... NV50_KMS: Unaccelerated rotation support.
+    - 2bc1cb8... Revert "EXA: Add PixmapIsOffscreen hook for EXA versions 
+      that allow it."
+    - 5a5aee1... EXA: Add PixmapIsOffscreen hook for EXA versions that allow 
+      it.
+    - b9f2358... xv: remove some defines that are in a header now
+    - 9f53b2a... xv: remove drawable handling from hw-specific PutImage.. 
+      it's common...
+    - a50bba6... xv: misc cleanups
+    - 08e9489... NV50_KMS: minor change
+    - ea7e85b... Fix some compile warnings.
+    - 3298249... xv: reformat source so mere mortals can understand it
+    - a1e8ccd... xv: nv_video.c to nouveau_xv.c
+    - 3e17781... NV50_KMS: autodetect kernel modesetting when active
+  * Update dependency on libdrm-dev.
+
+ -- Chris Lamb <chris@chris-lamb.co.uk>  Sun, 06 Jul 2008 20:26:53 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20080702+48c2116-1) experimental; urgency=low
+
+  * Re-upload latest snapshot fixed copyright in various upstream files
+    after REJECT. (Closes: #418889)
+     - 48c2116f... NV50_KMS: no int10 please
+     - 11102af2... Backport console font save/restore from nouveau_ms
+     - ca2c55df... randr12: fix mode detection for when screen size changes
+     - 9c6eb667... NV04-NV4E: Save and restore FB_START
+     - 82fe9a21... NV50_KMS: switch to output dpms
+     - 13ce1f4c... Properly close drm when exiting + misc cleanup.
+     - 7cb0eed6... Fixup and add some license statements.
+     - 27c7c884... change hack to work with latest drm changes..
+     - 99a4b686... NV50: unbreak kms and implement a basic off mode/dpms
+     - 1a23dbd1... nv50: stub out NV50SorSetClockMode for LVDS, it doesn't work
+       there
+     - 2ccc80bd... nv50: bring in int10-constole-restore hack from nv driver
+     - 73b4fcc2... fix non-kms build/run
+     - 75d8947d... NV50: Some basic code to get kernel modesetting going.
+     - df52dc46... No need for G80+ LVDS conf bits reports
+     - 1813559a... More DCB 1.5 TV variants (#16252 and #16342)
+     - 29c4a58b... Be a little more discerning about the BIT bios signature
+     - e8c79072... LVDS_INIT should not always use head A
+     - fc137f23... NV50: lvds is probably still broken, but it's a step in the
+       right direction
+  * Add Vcs-Git and Vcs-Browser fields to debian/control
+  * Bump Standards-Version to 3.8.0 (no changes).
+
+ -- Chris Lamb <chris@chris-lamb.co.uk>  Thu, 03 Jul 2008 00:35:47 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git+20080602+e034616-1) experimental; urgency=low
+
+  * First upload to Debian experimental based on Christopher James Halse
+    Rogers's packages for Ubuntu (Closes: #418889)
+  * debian/control:
+    - Set Maintainer to Debian X Strike Force, add Matthew Johnson and myself
+      to Uploaders.
+    - Bump Standards-Version to 3.7.3
+    - Add Homepage: field
+  * debian/rules:
+    - Misc. cosmetic changes
+  * Update debian/xsfbs/xsfbs.{mk,sh}
+  * Update debian/copyright.
+
+ -- Chris Lamb <chris@chris-lamb.co.uk>  Mon, 26 May 2008 04:56:08 +0100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080521-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * c21594c... NV50: Be consistent with rules-ng.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 21 May 2008 17:58:14 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080519-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 19 May 2008 09:06:43 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080516-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 16 May 2008 12:08:43 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080511-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 9c1d87f... NV50: Some misc things.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 11 May 2008 16:53:10 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080509-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 5f08db9... Cosmetic g80 laptop dcb parsing enhancement
+  * 6a460ea... randr12: some reordering, tidying &c
+  * 7455bc8... Enable RandR 1.2 code-path by default
+  * 98a751e... Don't call call_lvds_script with a null dcbent pointer
+  * 77b24bc... randr12: tidy up some nv50 remnants in the pre nv50 code
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 09 May 2008 06:58:34 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080507-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 8997f83... NV50: Some misc fixes.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 07 May 2008 20:04:31 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080506-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * ae574ec... nv50_exa.c had no license statement.
+  * a7af057... NV50: Rework the modesetting code into a different model.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 06 May 2008 10:19:29 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080505-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 05 May 2008 07:54:42 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080503-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 5e1b570... xv: nv10 double-buffered overlay mode was getting set on
+    nv04
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 03 May 2008 18:03:10 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080501-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 8553602... Use the actual number of BIT table entries
+  * 78588c7... randr12, xv: manual overlay clipping for randr12 (see
+    #12825)
+  * 6f7d00a... randr12: remove unneeded separate dcb_entry and "or"
+    members
+  * 52e58c7... Pass DCB entry structs in bios functions, rather than
+    index
+  * 0c1da69... Pass output field, rather than dcb indices, for tmds
+    access functions
+  * 2333bc9... Add an index field to dcb entries, and carry pointer to
+    dcb entry in output struct
+  * 21f062c... randr12, xv: oops, transform_in_use doesn't exist on
+    xserver 1.3
+  * ee78dc0... randr12: C51 I2C
+  * 9b70dfa... randr12: only set cr59 to 1 for tmds (fixes nv34 issue)
+  * c8cec9b... randr12, xv: no overlay when the crtc is transformed
+  * 3233ebb... randr12: fix spread spectrum setting for lvds and turn it
+    off during dpms off
+  * 467f83a... randr12: make nv50 code depend on Architecture
+  * 8b16572... CR27 appears to contain the chip revision
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 01 May 2008 18:27:52 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080429-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 29 Apr 2008 11:03:34 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080428-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 28 Apr 2008 09:51:41 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080424-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 24 Apr 2008 19:29:54 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080423-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 23 Apr 2008 07:08:36 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080422-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 22 Apr 2008 08:27:56 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080421-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 21 Apr 2008 09:13:55 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080419-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 19 Apr 2008 12:23:19 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080418-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 18 Apr 2008 08:41:34 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080417-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 17 Apr 2008 08:54:14 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080416-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 16 Apr 2008 06:58:15 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080414-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 14 Apr 2008 07:36:41 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080413-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 61e4161... NV50: Another few regs.
+  * 5328370... NV50: Some more regs.
+  * e5511a5... NV50: I now know what UNK8A8 is, so update the value
+    register as well.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 13 Apr 2008 15:57:44 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080412-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 2c90276... NV50: Re-implement output status caching.
+  * d7681e8... randr12: separate pll and arbitration stages of
+    calc_state_ext, and call from mode_set directly
+  * 0bf08d7... state->config is not used
+  * 08b8bd8... randr12: unite pre nv40 and nv40 pll restore
+  * 5b44308... Use the correct reference clock when reading (V)PLLs
+  * 0f533b8... Various PLL code improvements
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 12 Apr 2008 12:47:15 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080411-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 4e1caa6... NV50: Some misc stuff.
+  * 0991281... nv50: fix distcheck since header removal
+  * 4af376f... MCP67 does not do the second stage gain tests
+  * dbca8b6... PLL stuff
+  * 39b2e0b... If no PLL coefficients compatible with the constraints
+    exist, don't brick the hardware
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 11 Apr 2008 08:26:46 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080408-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 0b54450... NV50: Scaling works fine on VGA connectors, so support
+    that as well.
+  * 891e72f... NV50: Deobfuscate some more commands.
+  * 13c701f... Make some CARD32 die.
+  * a3a0710... NV50: Give a few registers an UNK label.
+  * be72a7c... randr12: NV04/05/06 can't accelerate rotation, so it's
+    better to disable it.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 08 Apr 2008 07:27:18 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080407-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 9cf76c9... NV50: Some more stuff.
+  * c725e33... NV50: minor rename to avoid confusion
+  * fcda539... NV50: Deobfuscate another register (partially).
+  * fa93541... NV50: Fix another deadlock in the clock setting code.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 07 Apr 2008 08:14:12 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080406-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * c001fea... Forgot a few things.
+  * 17a8e17... NV50: rename randr-1.2 functions to be
+    nv50_something_function
+  * a71ef4d... NV50: Some more cleanup.
+  * aeab563... NV50: Some reordering.
+  * b899ab7... Some minor corrections.
+  * b0ef158... NV50: Document dvi hotplug detection.
+  * be54b92... NV50: Remove some questionable guesses.
+  * c06f202... nvbios: Drop a N2/M2 requirement on NV5x hardware, as it
+    prevents getting a mode on 1024x768'ish and lower.
+  * 5ce26b9... nvbios: Add some valid register ranges for nv50.
+  * ce86484... NV50: Switch to common pll calculator function.
+  * 821ad3d... randr12: delete stuff commented out a week ago that no
+    one's complained about
+  * e90e534... NV50: Minor comment updates.
+  * 0855098... NV50: Some more stuff.
+  * ef4339a... NV50: Some more registers.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 06 Apr 2008 12:15:38 +1000
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080404-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 3183df1... NV50: Update my knowledge of interrupts.
+  * 04fd80d... Small declaration reordering
+  * 92934e4... Move some variable declarations in the bios parser
+  * 9273840... randr12: some fixes to dithering property
+  * 52c880c... randr12: better analogue clock limits (taken from pNv-
+    >{Min,Max}VClockFreqKHz)
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 04 Apr 2008 08:06:15 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080403-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 29714e7... NV50: Some minor changes to the display supervisor
+    (mostly comment).
+  * 9ac32d3... Some bios parser PLL writing improvements
+  * 4a192ea... NV50: Add my name to some files.
+  * db6220b... randr12: since the crtc function records are now mutable,
+    unify pre nv50 templates
+  * b9762ba... randr12: don't provide rotation functions in NoAccel case
+  * a24ab3d... Revert "randr12: Fail rotation in NoAccel case."
+  * 33d4c2f... Add quirks for Apple *book backlight
+  * 8a3f051... NV50: Some more things.
+  * b33317e... randr12: Fail rotation in NoAccel case.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 03 Apr 2008 07:39:02 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080402-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * d017dfa... NV30/35 setPLL bios support
+  * 32f550a... NV50: Fix a minor cursor issue.
+  * 27e819d... NV50: Add some debugging statements to important
+    functions.
+  * 9985793... NV50: Some i2c stuff.
+  * 9199307... Use new PLL reading code
+  * a3f82d9... Unified PLL reading
+  * 350fb20... randr12: get_clock_from_crtc only necessary for TMDS
+  * f741bf7... Better PLL limits for some nv3x
+  * 94ca195... randr12: deal with nv30 and nv35 PLLs individually
+  * 626d8d6... Init global gamma on all crtc's, even if they are
+    currently not in use.
+  * f54cea5... NV50: Some clock related cleanups + minor changes.
+  * 7393d8f... NV50: Some misc cleanup.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 02 Apr 2008 18:12:56 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080331-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 9edf6d6... randr12: different handling for sel_clk for pre and post
+    nv40
+  * 84ab4be... Minor tidyup to output merging
+  * 1fe1d81... Kill a useless register offset.
+  * 75680d7... NV50: remove unneeded function
+  * 263ec94... NV50: Some minor cursor cleanups.
+  * 86722ad... NV50: Deobfuscate some of the modesetting, a few things
+    were hidden away in innocent looking variables.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 31 Mar 2008 17:25:29 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080330-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 633a8f4... randr12: make sel_clk behaviour match comment (which
+    seems to be correct)
+  * 7a8bbb7... Fix Apple backlight code, broken in pci-rework conversion
+  * 4d0974c... Consistency fix
+  * acd0078... It seems wise to NVSync for all hardware on NVLeaveVT.
+  * ea27bc3... NV50: Better safe than sorry.
+  * d4ca83e... randr12: shrink pitch alignment stuff and move
+  * 43ff98c... randr12: tidy-up 3/3 - TMDS04 twiddling
+  * 9491ee3... randr12: tidy-up 2/3 - DPMS CR57/58 twiddling
+  * 2e001c1... randr12: tidy-up 1/3 - FP_DEBUG_0 twiddling
+  * ec9fa3c... randr12: allow doublescan and low clock modes
+  * 048f310... Minor fix to lvds script caching commit
+  * 3feaa48... NV50: Implement per CRTC gamma correction.
+  * 77af887... randr12: correct SEL_CLK register beheaviour for outputs
+    with or=2
+  * cb5d4cd... Cache running of LVDS scripts, rather than blocking
+    LVDS_RESET
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 30 Mar 2008 08:54:05 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080325-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 25 Mar 2008 08:07:48 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080323-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 23 Mar 2008 09:55:36 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080321-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 6924d1a... NV50: Although not essential, it's nicer to save a
+    register as uint32_t.
+  * 1042c2b... NV50: Some more stuff.
+  * b58e5e9... NV50: Educated guesses at some of the control registers.
+  * ef25cb9... NV50: Forgot some more stuff.
+  * 64b3d1a... NV50: Forgot something.
+  * 81929c1... NV50: More dehexing.
+  * ee1ac06... NV50: Some more dehexing.
+  * ca1b8bb... NV50: Some more register guesses.
+  * aa99fb0... randr12: do DPMS off better
+  * 063b393... Optimizations on LVDS script code
+  * c520364... randr12: unbreak LVDS and primary I2C for < NV50
+  * ebc75dc... NV50: fix i2c for real
+  * c6e3a6f... NV50: Fix a typo and hopefully fix i2c.
+  * a989b4c... NV50: Fix major thinko in "NV50: kill output_resource and
+    use or directly."
+  * cd5aaea... NV50: Handle some things that weren't fixed during
+    rebase.
+  * f73c236... NV50: kill output_resource and use or directly.
+  * de0fc0e... NV50: Mostly resorting regs.
+  * 849bab7... NV50: Some more educated guesses at register names.
+  * 0244dc1... NV50: Another subtle difference.
+  * 5e2d220... NV50: Fix a potentional bug.
+  * cef158c... NV50: Share output properties.
+  * 31e7a74... randr12: Implement dithering output property.
+  * 05f0464... NV50: Merge output creation and i2c init.
+  * 285a13a... NV50: Merge crtc creation.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 21 Mar 2008 17:39:28 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080320-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * c5dac45... randr12 offbyone debug commitnoise
+  * 4cd5e43... randr12: remove NVGetOutputFromCRTC
+  * 27c21c0... randr12: split out fp-only registers
+  * c09d190... randr12: better handling for output types in nv_crtc
+  * 78ded96... randr12: remove duplicated regs
+  * f701376... randr12: fix noscale scaling mode
+  * a9c01ef... Misc startup info mostly duplicated the state storage
+    stuff
+  * a02f82e... randr12: make output parsing consistent
+  * f04c44e... G80 I2C parsing
+  * 718e424... randr12: make nv_crtc_calc_state_ext definition smaller
+  * 772bf76... randr12: merge common PLL paths
+  * 1326e01... randr12: make plls belong to their CRTCs
+  * 97b0748... Use PMC defines
+  * ee11c6a... randr12: Let an unneeded quirk die.
+  * 8851d9f... randr12: sel_clk values are really an FP thing, so move
+    calculation to nv_output
+  * 63527f9... randr12: tidy up output restore
+  * 769436b... randr12: common tmds access functions
+  * c455ca0... Improve bios' handling of ramdac_580
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 20 Mar 2008 08:28:35 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080314-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * bd5ad7c... NV50: Accept G9X cards.
+  * 0318b31... NV50: Add back output_resource.
+  * a439756... NV50: Unbreak "NV50: Kill the connection status caching
+    (which was broken btw)."
+  * 63ffb8d... NV50: Merge the two output private structs.
+  * b4c3bee... NV50: rename scale to scaling_mode
+  * b0d2f93... NV50: Rename nativeMode
+  * e5b8efa... NV50: Rename or to output_resource.
+  * 19ca2db... NV50: kill set_pclk
+  * eef3a66... NV50: Remove the remnants of cached_status.
+  * dc0bb59... NV50: kill partner entry
+  * f664637... NV50: fix warning
+  * cb50cd3... NV50: Kill the connection status caching (which was
+    broken btw).
+  * 6e2af71... NV50: change i2c to pDDCBus
+  * d07b306... NV50: Switch to other scaling defines.
+  * 4ddb92b... NV50: Switch to the same output type as the rest of the
+    code.
+  * e605fbf... randr12: nothing uses output_resource. kill it
+  * 53925cf... randr12: fix the setting of NV_RAMDAC_OUTPUT
+  * 493c794... Simplify TMDS writes a little
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 14 Mar 2008 09:12:59 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080313-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 4cf1bd9... randr12: don't allow scripts to break overlay
+  * 95f2b84... Fix video overlays to treat double-scan correctly when
+    using randr12
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 13 Mar 2008 08:17:11 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080311-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 460cb26... Correct RAMIN offset
+  * e8a5d46... randr12: changing tmds2 for dvi-d seemingly unnecessary
+  * 30ddbe9... randr12: unbreak sel_clk changes
+  * 03f3872... randr12: allow spread spectrum bits to be updated on pre
+    nv40
+  * 323b7ef... randr12: quirk for 17" powerbook, and better sel_clk
+    handling
+  * 58f9079... nv_type.h mandates XF86DRI being declared
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 11 Mar 2008 21:10:14 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080310-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 0dbffc8... Fix up a bunch of prototypes, remove unused wrappers
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 10 Mar 2008 09:32:32 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080309-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * e5ded02... Move setting of alphaCursor to nv_setup, and restyle
+    useful portions of nv_setup
+  * 0b8629a... Kill NVFBLayout
+  * 29cfb08... Warning fixes
+  * b87059f... Drop the NV*VGA defines and adjust users
+  * a636b02... randr12: Disable a quirk that has adverse sideeffects on
+    NV36M.
+  * f422886... Merge CRTC private structs.
+  * b3d0d0c... Death to some unnecesary stuff.
+  * 03a7a1d... Various minor tidyups
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 09 Mar 2008 14:49:00 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080308-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 624148c... NV50: Convert back to absolute registers.
+  * 10bdffb... PLL limit table v0x11
+  * 2e1af24... Make bios init code work on 6600 by changing pll setting
+    stuff a bit
+  * 5fd2dd7... It seems libpciaccess release became version 0.10 not
+    version 0.10.0
+  * 3e4db03... randr12: Forgot to clean up when switching output
+    resources.
+  * 8a5c6e8... Do not access beyond source pixmap in NVAccelUploadIFC
+  * 7afb739... Oops.
+  * 0da8c84... randr12: workaround for xserver randr bug, where the
+    hwcursor always gets displayed after a mode change
+  * c424144... Fix my nv10 cursor.
+  * 633047c... randr12: A major rework of output resource conflict
+    handling.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 08 Mar 2008 09:37:48 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080307-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * c523096... randr12: Readd some useful information about how an
+    output is routed.
+  * 97ac866... randr12: Kill almost all usage of ErrorF + some misc
+    cleanup.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 07 Mar 2008 09:03:44 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080306-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * ea8fba2... randr12: don't reset panel unnecessarily for mere
+    backlight control
+  * 22ec355... randr12: remove switchable_crtc stuff
+  * 3b0a1a1... randr12: if no ddc, return XF86OutputStatusUnknown, for
+    !twoHeads and nv11
+  * 424500c... randr12: do not change CR43 from its initial value
+  * a764d3c... Give some defines more consistent names.
+  * 234ce16... Use the BMP structure's I2C info, instead of DCB 1.2's,
+    as marcheu's bios is broken
+  * bb5429f... Add another DCB 1.4 entry
+  * 5998ba0... Don't zero out i2c_read and i2c_write
+  * 2d74bcb... Put braces around a bitmask.
+  * c7ab8e8... Add an LVDS output setup quirk for Powerbooks
+  * fd9b37b... randr12: Only change vpll value when needed.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 06 Mar 2008 11:16:08 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080303-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 89882b4... randr12: Keep the gamma values when setting a new mode,
+    instead of always resetting to default.
+  * e8c363b... Improve link_head_and_output
+  * 4a16414... nv30: Remove fix that is useless now, and maybe broken in
+    some cases
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 03 Mar 2008 14:18:58 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080229-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 5cb1648... Less magical way of setting dual link on EDID equipped
+    panels
+  * 1127974... NV40EXA: Support extend/repeat type pad.
+  * 6980d0e... Add default dual link transition frequency
+  * 27e2e55... Deal with pre-nv40 laptops with EDID
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 29 Feb 2008 15:24:57 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080225-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 41992eb... Revert dummy commit
+  * 073d852... Dummy commit
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 25 Feb 2008 10:10:47 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080221-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 5db7920... Use some of nv_hw's functions in nv_bios.c
+  * fa8891e... Unbreak console restore again, and use a less ambiguous
+    function name for head locking
+  * 38d42a7... randr12: rename NV*VGA functions for api consistency
+  * c77a547... xv: don't crash on init
+  * cf963a1... randr12: Only NV11 needs byteswapping + NV11 uses
+    premultiplied cursors i think.
+  * 87f1676... NV30/40TEX: Create two adapters, one with fancy
+    filtering, the default without.
+  * 7ee1bb4... randr12: make more hw funcs generic
+  * 11de8d7... Use fp strapping to determine whether straps are used for
+    flat panel modes
+  * c1ac6b9... Rehabilitate bios opcode 6d
+  * afb4230... Spruce up NV04 bios parsing a little
+  * dfabaab... More DCB v1.5 entries
+  * 2a4373d... Treat 0x4 and 0x8 bits in LVDS DCB v2.0 configuration as
+    meaning the same thing
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 21 Feb 2008 11:48:39 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080219-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * daa557c... Fix PPC DFS/UTS by using PCIgart.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 19 Feb 2008 10:21:36 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080218-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 18 Feb 2008 09:10:19 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080217-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * f8f4692... dri: fix broken display in some cases
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 17 Feb 2008 09:31:24 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080215-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * a293f32... Fix bios pll setting regression
+  * 7121fe9... Use a loop to read RAMIN bios image, rather than memcpy
+  * 3ad7c35... randr12: reorder some variable declarations in nv_crtc
+    and nv_output
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 15 Feb 2008 08:37:31 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080213-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 13 Feb 2008 09:47:23 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080212-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 12 Feb 2008 21:44:19 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080211-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 11 Feb 2008 08:17:55 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080209-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 09 Feb 2008 10:23:02 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080208-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 6cb8fb6... Ordering mechanism for BIT table parsing, and (hopefully)
+    automagic laptop detection
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 08 Feb 2008 10:26:50 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080207-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 4f69023... Replace a const with its name.
+  * 75c5912... Fix bad debugging in NVWritePVIO().
+  * 50da8b8... Fix UV swapping on PPC.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 07 Feb 2008 18:57:03 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080206-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 4ff11d1... Missed out "DEBUG" part of the name in the define
+  * 181ee3b... Load correct PLL limits for single stage PLL cards with
+    blank PLL tables
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 06 Feb 2008 09:08:23 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080205-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * cbcb107... Once again kill usage of an exa private function.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 05 Feb 2008 08:59:04 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080204-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * f14d27d... Remove include guards & add copyright.
+  * 7522640... Last round of fixes for nv30/40 bicubic Xv.
+  * 78553ab... Fix tearing.
+  * 7240f86... Understood and fixed some NV30 FP_CONTROL bits.
+  * bb2a7bd... Fixes to nv30/nv40 textured video.
+  * c10d30d... Misc textured video fixes.
+  * cfdfd5a... Of course, add the nv30 video texture file.
+  * 970a8e4... nv30 video texture. Doesn't work with bicubic yet, only
+    bilinear.
+  * c1eba82... Remove (void)ing that's not necessary any more.
+  * 7356ad9... Remove unneeded stuff.
+  * e06dfd2... Separate the shaders from the rest of the code.
+  * a69c507... Macros for the PME range.
+  * 47c8ed4... Add PME range.
+  * 63f47c9... Small cleanups.
+  * c98e9fa... nv40 video texture: first pass at bicubic video.
+  * 10967a4... Update to newer nouveau_class.h
+  * 82728b3... Update to latest nouveau_class.h
+  * 9d9a5ac... Don't FIRE_RING() when in NoAccel mode.
+  * 11c1ee1... Some minor reindenting.
+  * 0db3472... exa: those limits were a bit conservative on some hw.
+  * eb72e67... exa: more accurate coordinate limits
+  * 8645d2d... Fix NVExaPixmapMap() for NOUVEAU_EXA_PIXMAPS case.
+  * dd81efd... Fix undefined symbol.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 04 Feb 2008 09:07:47 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080203-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 2a1116c... Remove a few leftovers to actually make the last commits
+    work.
+  * 714bea6... Kill NVShowHideCursor and use a wrapper.
+  * 741acde... Remove nvRead/WriteVGA in favor of nvRead/WriteCurVGA
+    wrappers.
+  * d429cab... Kill NVLockUnlock and make it redirect to
+    NVLockUnlockHead.
+  * dc2aee0... More wrapper death.
+  * a57fd67... Let some wrappers die.
+  * b9a4eb6... Undo last commit and move it to drm.
+  * 288b565... NV40: Fix longstanding issue with nouveau crashing after
+    using blob.
+  * 0ec1b10... Don't allocate the whole AGP gart as a scratch buffer,
+    since we still need to allocate the fifo afterwards.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 03 Feb 2008 09:41:50 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080202-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 5b79b0a... Don't use functions that are not supposed to be used in
+    randr12 mode.
+  * cedb604... Remove usage of "illegal" wrappers in code that also used
+    for randr12 mode.
+  * 1a52478... randr12: Remove a hack, confirmed on 7600GS that it is
+    unneeded.
+  * b6972e7... randr12: Some minor fixes.
+  * 988dce0... NV10 EXA: limit regcomb state re-emission, fix logic for
+    A8 + A8 yielding a 3% perf improvement :p
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 02 Feb 2008 10:33:49 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080201-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * a84852c... (hopefully) Fix build on powerpc.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 01 Feb 2008 09:01:37 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080131-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * e8a975e... Xv: NV30 overlay can not scale down by more than 0.5x
+  * adc2689... Fail gracefully for too-big resolutions / colour depths
+  * 09c9d7c... randr12: Misc change.
+  * 6a46bf5... Check if the framebuffer can fit into the offscreen
+    memory.
+  * 9607d78... Xv: NV04 overlay can not scale down at all, as confirmed
+    by DirectFB
+  * 7edfb47... PBUS define additions
+  * 6e09059... PCRTC define additions
+  * e517993... Missed these in the ->absolute conversion
+  * ee0d557... Xv: detection of composite for the overlay
+  * 3a5f92d... Make bios port io use PVIO as appropriate, and have harsh
+    validity checks
+  * 92c0d96... Make PLL setting quieter
+  * f58d174... Move some regs from nv_bios.c to nvreg.h
+  * d0022c3... Tighten bios reg checks a little
+  * b1b1d76... randr12: make nv4x plls less special
+  * 8f05d66... Don't attempt to parse BIT D and L tables on non-mobile
+    cards
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 31 Jan 2008 08:19:50 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080130-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 8e834ec... Add some mobile pci-ids, and reorder numerically
+  * 0b586ae... randr12: Remove excessive writing of VTOwner.
+  * c522ebb... Make sure nv04 has some defaults (as the bios parsing is
+    non-existant)
+  * 62b6c5f... Use absolute regs in the DDX
+  * f5c9f99... Reorganise pll limit retrieval
+  * 26ff67f... NV30EXA: Always init texture origin, please report if
+    your viewport setup needs to be different.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 30 Jan 2008 07:58:07 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080129-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 38df9a9... Forgot to be paranoid.
+  * 2ea0314... Small improvement to nouveau_dma_wait, at least makes it
+    show up in profiling in a clear way.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 29 Jan 2008 09:31:33 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080128-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * dd483e2... randr12: 2nd attempt on nv11 console restore
+  * 5b0fa02... Use NV_{WR,RD}08 to avoid double logging io
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 28 Jan 2008 09:17:40 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080127-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * a099bbf... randr12: remove unused PLL code
+  * 0eb428e... randr12: attempt to fix brokenness of head setting /
+    getting on nv11
+  * eea2fd4... randr12: don't do load detection on nv11
+  * a2c0fac... Assume 18 bit laptop panels by default, add a message
+    that may trigger on 24 bit panels
+  * ec548d2... Detect mobile BMP biosen
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 27 Jan 2008 10:14:02 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080126-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 9f932eb... NV30EXA: Fix viewport setup + switch to triangle based
+    composite.
+  * afca5f2... randr12: fix / annotate a couple of ddc thinkos
+  * 3e6ea79... Implement opcodes 0x66, 0x67, and 0x68
+  * cdae2e2... randr12: Rework native modes for TMDS.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 26 Jan 2008 10:26:39 +1100
+
+xserver-xorg-video-nouveau (1:0.0.10~git20080125-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 4663605... oops
+  * e067a0e... Use proper version.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 25 Jan 2008 08:40:44 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080124-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+  * New git changelog:
+  * 324c19a... Fix C51 refclk
+  * 178b8bb... randr12: calculate (and set, for nv40) sel_clk before
+    calculating plls
+  * 8067bd0... Fix big bug in commit "Mostly log message changes".
+  * c5329a4... Redo sel_clk setting and update its documentation
+  * f07ab92... Fail on LVDS DCB entry parsing issues
+  * 12efa8c... Mostly log message changes
+  * 0faa15d... not an appropriate place for this type of thing..
+  * 9e982df... randr12: Increase cvt mode to 72 Hz.
+  * 71435dd... NV40EXA: Use the same approach as the texture adapter for
+    rendering.
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 24 Jan 2008 09:20:52 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080123-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 23 Jan 2008 20:37:18 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080122-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 22 Jan 2008 18:01:19 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080121-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 21 Jan 2008 10:16:57 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080119-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 19 Jan 2008 10:10:02 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080118-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 18 Jan 2008 08:54:25 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080117-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 17 Jan 2008 18:13:15 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080116-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 16 Jan 2008 09:28:05 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080115-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 15 Jan 2008 09:22:40 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080113-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 13 Jan 2008 10:04:15 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080111-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 11 Jan 2008 12:28:19 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080110-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+  * src/nv_output.c:
+    + Remove previous patch.  LVDS is now enabled upstream
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 10 Jan 2008 14:33:45 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080108-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+  * src/nv_output.c
+    + Enable LVDS with the RandR12 codepath:
+      WARNING!  EXPERIMENTAL!
+      If your screen "blooms" or "bleeds" (i.e. has a developing white/
+      psychedelic pattern) then KILL X IMMEDIATELY, and if the effect continues
+      reset power
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 08 Jan 2008 20:12:47 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080106-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 06 Jan 2008 21:15:45 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080103-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 03 Jan 2008 15:59:07 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20080102-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 02 Jan 2008 16:13:41 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071214-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 14 Dec 2007 16:45:18 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071212-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 12 Dec 2007 13:19:49 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071202-0~ppa1) hardy; urgency=low
+
+  * "AUTOMATED: New git snapshot"
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 02 Dec 2007 17:48:08 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071128-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+  * Finish up the remaining x-x-v-nouveau-trunk => x-x-v-nouveau renames
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Wed, 28 Nov 2007 19:58:21 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071127-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 27 Nov 2007 21:25:20 +1100
+
+xserver-xorg-video-nouveau (1.2.0~git20071125-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 25 Nov 2007 16:15:04 +1100
+
+Xserver-xorg-video-nouveau (1.2.0~git20071123-0~ppa1) hardy; urgency=low
+
+  * New git snapshot
+  * Add get-orig-source rule
+  * Drop -trunk from package name - there are no more interesting branches
+  * Drop autoreconf from rules - we do that on tarball generation now
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Fri, 23 Nov 2007 13:38:28 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071119-0~ppa1) hardy; urgency=low
+
+  * New git snapshot cbd70303a949f387d42497cb4ea52186ed938b9c
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 19 Nov 2007 08:50:59 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071115-0~ppa1) hardy; urgency=low
+
+  * New git snapshot 3cdc4b274f371f1f524d140fddd79dad2987b06c
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 15 Nov 2007 22:37:04 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071113-0~ppa1) hardy; urgency=low
+
+  * New git snapshot e93a5d3abe6d637e00bd9c998e9735c9766eecfb
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 13 Nov 2007 09:01:23 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071112-0~0ppa1) hardy; urgency=low
+
+  * New git snapshot f22691661f8b72cedb8aa4fc96b41fcff4171e12
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 12 Nov 2007 08:42:30 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071110-0~0ppa1) hardy; urgency=low
+
+  * New git snapshot 77dc99b2621523e20a956a8eaa01a100c992c458
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sat, 10 Nov 2007 16:13:20 +1100
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071023-0~ppa1) gutsy; urgency=low
+
+  * New git snapshot 0fb93b45378c9d0fbee9bb96bd60d7a995c667b9
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 23 Oct 2007 09:18:45 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071018-0~ppa1) gutsy; urgency=low
+
+  * New git snapshot 8320f4f61ca72ee0101c1d552ea3ef28e573d21d
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 18 Oct 2007 17:33:07 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071016-0~ppa1) gutsy; urgency=low
+
+  * New git snapshot b36fbf174849b04928efda2909c461b6c1688cdc
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 16 Oct 2007 11:12:24 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071015-0~ppa1) gutsy; urgency=low
+
+  * New git snapshot 8425d93f7f932281a1b9b420e676acba2a2b5ecd
+  * debian/rules:
+    - Install changelogs
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Mon, 15 Oct 2007 11:18:10 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071014-0~0ppa1) gutsy; urgency=low
+
+  * New git snapshot 212a4cd8884ff9276f64bdd0a0115782d146e36a
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Sun, 14 Oct 2007 11:34:43 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071011-0~ppa1) gutsy; urgency=low
+
+  * New git snapshot 879e653867552f6bb595160670c8325bcb5a0d3b
+  * Add xutils-dev to fix FTBFS
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Thu, 11 Oct 2007 18:36:44 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20071009~0ppa1) gutsy; urgency=low
+
+  * New git snapshot 43d5f747103721b3e0ccf4fe73494729ed34986c
+  * Fix debian/rules to only run autoreconf once
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com>  Tue, 09 Oct 2007 08:34:59 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070919-0ppa1) gutsy; urgency=low
+
+  * New git snapshot bf3cceeb9c72c16a1cf601c8bd0dedd8c676e3cd
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Wed, 19 Sep 2007 21:59:07 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070916-0ppa2) gutsy; urgency=low
+
+  * Add automake build-dep to fix FTBFS.
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sun, 16 Sep 2007 17:13:06 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070916-0ppa1) gutsy; urgency=low
+
+  * New git snapshot 02d5443d650e628256ebed1f331ad32b0f642a38
+  * Regenerate the autotools magic on build.  Should prevent problems such as
+    the removal of nv_xaa.c from happening again.
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sun, 16 Sep 2007 17:02:52 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070910-0ppa1) gutsy; urgency=low
+
+  * New git snapshot dedb80d1237ebacf7531938d627328a20453d5d0
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Mon, 10 Sep 2007 12:47:45 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070904-0ppa1) gutsy; urgency=low
+
+  * New git snapshot 54ca35e7379fdb375c0d7be2f8c3ad1513be2a59
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Tue, 04 Sep 2007 09:49:11 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070831-0ppa1) gutsy; urgency=low
+
+  * New git snapshot b680a9652508e0d0e660fd924937870cd4ad3530
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Fri, 31 Aug 2007 08:38:22 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070825-0ppa1) gutsy; urgency=low
+
+  * New git snapshot 30d2b3f0dd4a9b6be5d3ad7a38993e5b84baf90a
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sat, 25 Aug 2007 14:02:45 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070822-0ppa1) gutsy; urgency=low
+
+  * New git snapshot 4fc38aeb54da1cba9d5e231a5151e6429af0ea7e
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Wed, 22 Aug 2007 20:23:13 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070817-0ppa1) gutsy; urgency=low
+
+  * New git snapshot 1f83dbfa6ef774276e0da3dc4f74cbabe55f76fa
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Fri, 17 Aug 2007 09:01:42 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070815-0ppa1) gutsy; urgency=low
+
+  * New git snapshot ffa62dc9f573448c8a832324973513f7ba985b33
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Wed, 15 Aug 2007 19:14:01 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070812-0ppa1) gutsy; urgency=low
+
+  * Also ship .git directory in source tarball.  Required for useful debug info
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sun, 12 Aug 2007 12:58:38 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070811~2-0ppa1) gutsy; urgency=low
+
+  * New snapshot b3e4da61e8c846d8d3f01b015cb7155da4e266e9 to fix segfault on 
+    startup
+  * Build-depend on git, so useful debug information is retained
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sat, 11 Aug 2007 20:56:16 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070811-0ppa1) gutsy; urgency=low
+
+  * New git snapshot a7d29fd932fe14ca5b82cda64341704164fb7e09
+  * Conflict with nvidia-glx* - sadly, we don't quite work with those drivers
+    installed
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Sat, 11 Aug 2007 15:00:19 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070810-0ppa1) gutsy; urgency=low
+
+  * New git snapshot (9cc11cbc9ce10b99f72d7c08584bf61d179cdbda)
+  * Stop conflicting with xserver-xorg-video-nv
+  * Bump libdrm build-dep
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Fri, 10 Aug 2007 09:02:43 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070808-0ppa4) gutsy; urgency=low
+
+  * And x11proto-gl-dev #includes files from mesa-common-dev, but doesn't
+    depend on it.
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Thu, 09 Aug 2007 16:08:19 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070808-0ppa3) gutsy; urgency=low
+
+  * Add x11proto-gl-dev to build-depends.  Why doesn't it check for that in
+    configure?!
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Thu, 09 Aug 2007 15:02:18 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070808-0ppa2) gutsy; urgency=low
+
+  * Add x11proto-xf86dri-dev to build depends.  Fix FTBFS
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Thu, 09 Aug 2007 14:20:34 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070808-0ppa1) gutsy; urgency=low
+
+  * New git snapshot  (22e965038bbc64c7b5118fc9a03ecf5f467d1665)
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Wed, 08 Aug 2007 21:00:38 +1000
+
+xserver-xorg-video-nouveau-trunk (1.2.0~git20070807-0ppa1) gutsy; urgency=low
+
+  * Initial release (packaging based on xserver-xorg-video-nv)
+
+ -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com>  Tue, 07 Aug 2007 09:04:13 +1000
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xserver-xorg-video-nouveau.install
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xserver-xorg-video-nouveau.install
@@ -0,0 +1,2 @@
+usr/lib/xorg/modules/drivers/*.so
+usr/share/man/man4/*
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/NEWS.Debian
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/NEWS.Debian
@@ -0,0 +1,7 @@
+xserver-xorg-video-nouveau (1:0.0.16+git20100518+4b8f1a0-1) experimental; urgency=low
+  
+  * This version of xserver-xorg-video-nouveau is linked against a newer
+    libdrm-nouveau which breaks the ABI and is not compatible with kernels
+    <= 2.6.33.  You need to upgrade the kernel to 2.6.34-rc1 or newer.
+
+ -- Sven Joachim <svenjoac@gmx.de>  Sat, 22 May 2010 10:22:42 +0200
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/gbp.conf
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+# this is the upstream-branch:
+upstream-branch=upstream-ubuntu
+debian-branch=ubuntu
+pristine-tar=True
+sign-tags=True
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/README.source
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/README.source
@@ -0,0 +1,93 @@
+------------------------------------------------------
+Quick Guide To Patching This Package For The Impatient
+------------------------------------------------------
+
+1. Make sure you have quilt installed
+2. Unpack the package as usual with "dpkg-source -x"
+3. Run the "patch" target in debian/rules
+4. Create a new patch with "quilt new" (see quilt(1))
+5. Edit all the files you want to include in the patch with "quilt edit" 
+   (see quilt(1)).
+6. Write the patch with "quilt refresh" (see quilt(1))
+7. Run the "clean" target in debian/rules
+
+Alternatively, instead of using quilt directly, you can drop the patch in to 
+debian/patches and add the name of the patch to debian/patches/series.
+
+---------------------
+Updating this package
+---------------------
+
+Because nouveau has no releases, packaging a new upstream version has a
+slightly different process to normal.  As there is no canonical tarball,
+we need to generate one ourselves in such a way that it can be regenerated
+properly.  To do this, we use the pristine-tar functionality of git-buildpackage
+
+The outline of an update is:
+
+ * Merge upstream into upstream-ubuntu
+ * Create a source tarball, including the git log as $(TOP)/ChangeLog
+ * Import this tarball with git-import-orig
+ * Update debian/changelog
+
+The easiest way to create a new source tarball is to run the get-orig-source
+target of debian/rules, which will create a tarball of upstream/master.
+git-buildpackage is set up to do the right thing when git-import-orig is called.
+
+------------------------------------
+Guide To The X Strike Force Packages
+------------------------------------
+
+The X Strike Force team maintains X packages in git repositories on
+git.debian.org in the pkg-xorg subdirectory. Most upstream packages
+are actually maintained in git repositories as well, so they often
+just need to be pulled into git.debian.org in a "upstream-*" branch.
+Otherwise, the upstream sources are manually installed in the Debian
+git repository.
+
+The .orig.tar.gz upstream source file could be generated using this
+"upstream-*" branch in the Debian git repository but it is actually
+copied from upstream tarballs directly.
+
+Due to X.org being highly modular, packaging all X.org applications
+as their own independent packages would have created too many Debian
+packages. For this reason, some X.org applications have been grouped
+into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
+x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
+Most packages, including the X.org server itself and all libraries
+and drivers are, however maintained independently.
+
+The Debian packaging is added by creating the "debian-*" git branch
+which contains the aforementioned "upstream-*" branch plus the debian/
+repository files.
+When a patch has to be applied to the Debian package, two solutions
+are involved:
+* If the patch is available in one of the upstream branches, it
+  may be git'cherry-picked into the Debian repository. In this
+  case, it appears directly in the .diff.gz.
+* Otherwise, the patch is added to debian/patches/ which is managed
+  with quilt as documented in /usr/share/doc/quilt/README.source.
+
+quilt is actually invoked by the Debian X packaging through a larger
+set of scripts called XSFBS. XSFBS brings some other X specific
+features such as managing dependencies and conflicts due to the video
+and input driver ABIs.
+XSFBS itself is maintained in a separate repository at
+  git://git.debian.org/pkg-xorg/xsfbs.git
+and it is pulled inside the other Debian X repositories when needed.
+
+The XSFBS patching system requires a build dependency on quilt. Also
+a dependency on $(STAMP_DIR)/patch has to be added to debian/rules
+so that the XSFBS patching occurs before the actual build. So the
+very first target of the build (likely the one running autoreconf)
+should depend on $(STAMP_DIR)/patch. It should also not depend on
+anything so that parallel builds are correctly supported (nothing
+should probably run while patching is being done). And finally, the
+clean target should depend on the xsfclean target so that patches
+are unapplied on clean.
+
+When the upstream sources contain some DFSG-nonfree files, they are
+listed in text files in debian/prune/ in the "debian-*" branch of
+the Debian repository. XSFBS' scripts then take care of removing
+these listed files during the build so as to generate a modified
+DFSG-free .orig.tar.gz tarball.
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/compat
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/compat
@@ -0,0 +1 @@
+7
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/06_xserver_17_backport.patch
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/06_xserver_17_backport.patch
@@ -0,0 +1,730 @@
+From 73a80b4ecf7694cb378b2641df2d902627d0cc4c Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <skeggsb@dhcp-1-239.bne.redhat.com>
+Date: Fri, 7 Jan 2011 10:24:09 +1000
+Subject: [PATCH 3/4] nouveau-server17-revert
+
+Revert a heap of stuff dependant on xorg-server 1.8
+
+Revert "dri2: fix certain clients blocking forever when sync-to-vblank unavailable"
+
+This reverts commit 8bb8231236a6b877895663aeaa9cef731d67fe68.
+
+Revert "dri2: don't return failure from get_msc if sync-to-vblank isn't available"
+
+This reverts commit f29afe65b67c9b89ceba421d9b3aee590f7ded20.
+
+Revert "dri2: Don't return failure from schedule_wait if sync-to-vblank is unavailable."
+
+This reverts commit 4b1d26578116f4d1745dd92a7c99413972a2bedf.
+
+Revert "dri2: Fix throttling on occluded drawables."
+
+This reverts commit 22020457f43eceaf26532ecb50e46d743f4a691f.
+
+Revert "dri2: Fix build on X server 1.8."
+
+This reverts commit d40c16f5497739c0215f37566db1651a74cb20ba.
+
+Revert "Bump the required X server version to 1.8."
+
+This reverts commit a4d580bf05d7aac1d486e5d1ba9a2201c026e5f5.
+
+Revert "dri2: Report damage on page-flipped drawables."
+
+This reverts commit d0f2e16bc35660d01d3cd20a770cf8e613ab5323.
+
+Revert "Make the sync-to-vblank helpers take a box as argument."
+
+This reverts commit c61e8d03161adcfbba4162172153814accf9e86b.
+
+Revert "dri2: Implement the ScheduleWaitMSC/GetMSC hooks."
+
+This reverts commit a685a5c3be12f3e95a6ec1140af115e7ef28fcaa.
+
+Revert "dri2: Add pageflip/exchange support."
+
+This reverts commit eb83c830c87bce345748edef3b50660246143db7.
+
+Revert "dri2: Add sync-to-vblank support."
+
+This reverts commit 70f0d2c886ceaa965ca4864788f4dd8e8f757a92.
+
+Conflicts:
+
+	man/nouveau.man
+	src/nv_const.h
+---
+ configure.ac          |    2 +-
+ man/nouveau.man       |    5 -
+ src/drmmode_display.c |   44 +-------
+ src/nouveau_dri2.c    |  301 +-----------------------------------------------
+ src/nouveau_local.h   |    6 -
+ src/nv04_xv_blit.c    |    3 +-
+ src/nv30_xv_tex.c     |    3 +-
+ src/nv40_xv_tex.c     |    3 +-
+ src/nv50_accel.c      |    6 +-
+ src/nv50_xv.c         |    3 +-
+ src/nv_accel_common.c |    6 +-
+ src/nv_const.h        |    2 -
+ src/nv_driver.c       |   21 ----
+ src/nv_proto.h        |    8 +-
+ src/nv_type.h         |    2 -
+ 15 files changed, 23 insertions(+), 392 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 676c2a4..1c39923 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,7 +71,7 @@ PKG_CHECK_MODULES(LIBDRM_NOUVEAU, libdrm_nouveau)
+ AC_SUBST(LIBDRM_NOUVEAU_CFLAGS)
+ AC_SUBST(LIBDRM_NOUVEAU_LIBS)
+ 
+-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.8] xproto fontsproto libdrm xf86driproto $REQUIRED_MODULES)
++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.7] xproto fontsproto libdrm xf86driproto $REQUIRED_MODULES)
+ PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
+ 		  HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
+ 		  HAVE_XEXTPROTO_71="no")
+diff --git a/man/nouveau.man b/man/nouveau.man
+index 39de690..d411923 100644
+--- a/man/nouveau.man
++++ b/man/nouveau.man
+@@ -76,11 +76,6 @@ Enable or disable use of the shadow framebuffer layer.  Default: off.
+ .BI "Option \*qWrappedFB\*q \*q" boolean \*q
+ Enable or disable wfb, only affects nv50+. Useful for some legacy configurations where high rendering latency is perceived.  Default: wfb is disabled.
+ .TP
+-.BI "Option \*qGLXVBlank\*q \*q" boolean \*q
+-Synchronize GLX clients to VBlank. Useful where tearing is a problem,
+-harmful if the GPU isn't fast enough to keep up with the monitor
+-refresh rate. Default: off.
+-.TP
+ .BI "Option \*qZaphodHeads\*q \*q" string \*q
+ Specify the randr output(s) to use with zaphod mode for a particular driver
+ instance.  If you use this option you most use this option for all instances
+diff --git a/src/drmmode_display.c b/src/drmmode_display.c
+index 8ef065a..8f46fd8 100644
+--- a/src/drmmode_display.c
++++ b/src/drmmode_display.c
+@@ -1241,47 +1241,9 @@ drmmode_cursor_init(ScreenPtr pScreen)
+ 	return xf86_cursors_init(pScreen, size, size, flags);
+ }
+ 
+-Bool
+-drmmode_page_flip(DrawablePtr draw, PixmapPtr back, void *priv)
+-{
+-	ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+-	xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
+-	drmmode_crtc_private_ptr crtc = config->crtc[0]->driver_private;
+-	drmmode_ptr mode = crtc->drmmode;
+-	int ret, i, old_fb_id;
+-
+-	old_fb_id = mode->fb_id;
+-	ret = drmModeAddFB(mode->fd, scrn->virtualX, scrn->virtualY,
+-			   scrn->depth, scrn->bitsPerPixel,
+-			   scrn->displayWidth * scrn->bitsPerPixel / 8,
+-			   nouveau_pixmap_bo(back)->handle, &mode->fb_id);
+-	if (ret) {
+-		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+-			   "add fb failed: %s\n", strerror(errno));
+-		return FALSE;
+-	}
+-
+-	for (i = 0; i < config->num_crtc; i++) {
+-		crtc = config->crtc[i]->driver_private;
+-
+-		if (!config->crtc[i]->enabled)
+-			continue;
+-
+-		ret = drmModePageFlip(mode->fd, crtc->mode_crtc->crtc_id,
+-				      mode->fb_id, 0, priv);
+-		if (ret) {
+-			xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+-				   "flip queue failed: %s\n", strerror(errno));
+-			return FALSE;
+-		}
+-	}
++#ifdef HAVE_LIBUDEV
+ 
+-	drmModeRmFB(mode->fd, old_fb_id);
+ 
+-	return TRUE;
+-}
+-
+-#ifdef HAVE_LIBUDEV
+ static void
+ drmmode_handle_uevents(ScrnInfoPtr scrn)
+ {
+@@ -1369,10 +1331,6 @@ drmmode_screen_init(ScreenPtr pScreen)
+ 	drmmode_ptr drmmode = drmmode_from_scrn(scrn);
+ 
+ 	drmmode_uevent_init(scrn);
+-
+-	/* Plug in a vblank event handler */
+-	drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION;
+-	drmmode->event_context.vblank_handler = nouveau_dri2_vblank_handler;
+ 	AddGeneralSocket(drmmode->fd);
+ 
+ 	/* Register a wakeup handler to get informed on DRM events */
+diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
+index 45add0f..7703341 100644
+--- a/src/nouveau_dri2.c
++++ b/src/nouveau_dri2.c
+@@ -109,303 +109,19 @@ nouveau_dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion,
+ 	pGC->funcs->ChangeClip(pGC, CT_REGION, pCopyClip, 0);
+ 	ValidateGC(&pdpix->drawable, pGC);
+ 
++	/* Throttle on the previous frame before blitting this one */
++	if (dst->base.attachment == DRI2BufferFrontLeft) {
++		struct nouveau_bo *bo = nouveau_pixmap_bo(dst->ppix);
++		nouveau_bo_map(bo, NOUVEAU_BO_RD);
++		nouveau_bo_unmap(bo);
++	}
++
+ 	pGC->ops->CopyArea(&pspix->drawable, &pdpix->drawable, pGC, 0, 0,
+ 			   pDraw->width, pDraw->height, 0, 0);
+ 
+ 	FreeScratchGC(pGC);
+ }
+ 
+-struct nouveau_dri2_vblank_state {
+-	enum {
+-		SWAP,
+-		WAIT
+-	} action;
+-
+-	ClientPtr client;
+-	XID draw;
+-
+-	DRI2BufferPtr dst;
+-	DRI2BufferPtr src;
+-	DRI2SwapEventPtr func;
+-	void *data;
+-};
+-
+-static Bool
+-can_exchange(DrawablePtr draw, PixmapPtr dst_pix, PixmapPtr src_pix)
+-{
+-	ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+-	NVPtr pNv = NVPTR(scrn);
+-
+-	return (!nouveau_exa_pixmap_is_onscreen(dst_pix) ||
+-		(DRI2CanFlip(draw) && pNv->has_pageflip)) &&
+-		dst_pix->drawable.width == src_pix->drawable.width &&
+-		dst_pix->drawable.height == src_pix->drawable.height &&
+-		dst_pix->drawable.depth == src_pix->drawable.depth &&
+-		dst_pix->devKind == src_pix->devKind;
+-}
+-
+-static Bool
+-can_sync_to_vblank(DrawablePtr draw)
+-{
+-	ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+-	NVPtr pNv = NVPTR(scrn);
+-	PixmapPtr pix = NVGetDrawablePixmap(draw);
+-
+-	return pNv->glx_vblank &&
+-		nouveau_exa_pixmap_is_onscreen(pix) &&
+-		nv_window_belongs_to_crtc(scrn, draw->x, draw->y,
+-					  draw->width, draw->height);
+-}
+-
+-static int
+-nouveau_wait_vblank(DrawablePtr draw, int type, CARD64 msc,
+-		    CARD64 *pmsc, CARD64 *pust, void *data)
+-{
+-	ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+-	NVPtr pNv = NVPTR(scrn);
+-	int crtcs = nv_window_belongs_to_crtc(scrn, draw->x, draw->y,
+-					      draw->width, draw->height);
+-	drmVBlank vbl;
+-	int ret;
+-
+-	vbl.request.type = type | (crtcs == 2 ? DRM_VBLANK_SECONDARY : 0);
+-	vbl.request.sequence = msc;
+-	vbl.request.signal = (unsigned long)data;
+-
+-	ret = drmWaitVBlank(nouveau_device(pNv->dev)->fd, &vbl);
+-	if (ret) {
+-		xf86DrvMsg(scrn->scrnIndex, X_WARNING,
+-			   "Wait for VBlank failed: %s\n", strerror(errno));
+-		return ret;
+-	}
+-
+-	if (pmsc)
+-		*pmsc = vbl.reply.sequence;
+-	if (pust)
+-		*pust = (CARD64)vbl.reply.tval_sec * 1000000 +
+-			vbl.reply.tval_usec;
+-	return 0;
+-}
+-
+-static void
+-nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame,
+-			 unsigned int tv_sec, unsigned int tv_usec,
+-			 struct nouveau_dri2_vblank_state *s)
+-{
+-	ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum];
+-	NVPtr pNv = NVPTR(scrn);
+-	PixmapPtr dst_pix = nouveau_dri2_buffer(s->dst)->ppix;
+-	PixmapPtr src_pix = nouveau_dri2_buffer(s->src)->ppix;
+-	struct nouveau_bo *dst_bo = nouveau_pixmap_bo(dst_pix);
+-	struct nouveau_bo *src_bo = nouveau_pixmap_bo(src_pix);
+-	struct nouveau_channel *chan = pNv->chan;
+-	RegionRec reg;
+-	int type, ret;
+-
+-	REGION_INIT(0, &reg, (&(BoxRec){ 0, 0, draw->width, draw->height }), 0);
+-	REGION_TRANSLATE(0, &reg, draw->x, draw->y);
+-
+-	/* Throttle on the previous frame before swapping */
+-	nouveau_bo_map(dst_bo, NOUVEAU_BO_RD);
+-	nouveau_bo_unmap(dst_bo);
+-
+-	if (can_sync_to_vblank(draw)) {
+-		/* Reference the back buffer to sync it to vblank */
+-		WAIT_RING(chan, 1);
+-		OUT_RELOC(chan, src_bo, 0,
+-			  NOUVEAU_BO_VRAM | NOUVEAU_BO_RD, 0, 0);
+-
+-		if (pNv->Architecture >= NV_ARCH_50)
+-			NV50SyncToVBlank(dst_pix, REGION_EXTENTS(0, &reg));
+-		else
+-			NV11SyncToVBlank(dst_pix, REGION_EXTENTS(0, &reg));
+-
+-		FIRE_RING(chan);
+-	}
+-
+-	if (can_exchange(draw, dst_pix, src_pix)) {
+-		type = DRI2_EXCHANGE_COMPLETE;
+-		DamageRegionAppend(draw, &reg);
+-
+-		if (DRI2CanFlip(draw)) {
+-			type = DRI2_FLIP_COMPLETE;
+-			ret = drmmode_page_flip(draw, src_pix, s);
+-			if (!ret)
+-				goto out;
+-		}
+-
+-		SWAP(s->dst->name, s->src->name);
+-		SWAP(nouveau_pixmap(dst_pix)->bo, nouveau_pixmap(src_pix)->bo);
+-
+-		DamageRegionProcessPending(draw);
+-	} else {
+-		type = DRI2_BLIT_COMPLETE;
+-
+-		/* Reference the front buffer to let throttling work
+-		 * on occluded drawables. */
+-		WAIT_RING(chan, 1);
+-		OUT_RELOC(chan, dst_bo, 0,
+-			  NOUVEAU_BO_VRAM | NOUVEAU_BO_RD, 0, 0);
+-
+-		REGION_TRANSLATE(0, &reg, -draw->x, -draw->y);
+-		nouveau_dri2_copy_region(draw, &reg, s->dst, s->src);
+-	}
+-
+-	/*
+-	 * Tell the X server buffers are already swapped even if they're
+-	 * not, to prevent it from blocking the client on the next
+-	 * GetBuffers request (and let the client do triple-buffering).
+-	 *
+-	 * XXX - The DRI2SwapLimit() API will allow us to move this to
+-	 *	 the flip handler with no FPS hit.
+-	 */
+-	DRI2SwapComplete(s->client, draw, frame, tv_sec, tv_usec,
+-			 type, s->func, s->data);
+-out:
+-	free(s);
+-}
+-
+-static Bool
+-nouveau_dri2_schedule_swap(ClientPtr client, DrawablePtr draw,
+-			   DRI2BufferPtr dst, DRI2BufferPtr src,
+-			   CARD64 *target_msc, CARD64 divisor, CARD64 remainder,
+-			   DRI2SwapEventPtr func, void *data)
+-{
+-	struct nouveau_dri2_vblank_state *s;
+-	CARD64 current_msc;
+-	int ret;
+-
+-	/* Initialize a swap structure */
+-	s = malloc(sizeof(*s));
+-	if (!s)
+-		return FALSE;
+-
+-	*s = (struct nouveau_dri2_vblank_state)
+-		{ SWAP, client, draw->id, dst, src, func, data };
+-
+-	if (can_sync_to_vblank(draw)) {
+-		/* Get current sequence */
+-		ret = nouveau_wait_vblank(draw, DRM_VBLANK_RELATIVE, 0,
+-					  &current_msc, NULL, NULL);
+-		if (ret)
+-			goto fail;
+-
+-		/* Calculate a swap target if we don't have one */
+-		if (current_msc >= *target_msc && divisor)
+-			*target_msc = current_msc + divisor
+-				- (current_msc - remainder) % divisor;
+-
+-		/* Request a vblank event one frame before the target */
+-		ret = nouveau_wait_vblank(draw, DRM_VBLANK_ABSOLUTE |
+-					  DRM_VBLANK_EVENT,
+-					  max(current_msc, *target_msc - 1),
+-					  NULL, NULL, s);
+-		if (ret)
+-			goto fail;
+-
+-	} else {
+-		/* We can't/don't want to sync to vblank, just swap. */
+-		nouveau_dri2_finish_swap(draw, 0, 0, 0, s);
+-	}
+-
+-	return TRUE;
+-
+-fail:
+-	free(s);
+-	return FALSE;
+-}
+-
+-static Bool
+-nouveau_dri2_schedule_wait(ClientPtr client, DrawablePtr draw,
+-			   CARD64 target_msc, CARD64 divisor, CARD64 remainder)
+-{
+-	struct nouveau_dri2_vblank_state *s;
+-	CARD64 current_msc;
+-	int ret;
+-
+-	if (!can_sync_to_vblank(draw)) {
+-		DRI2WaitMSCComplete(client, draw, target_msc, 0, 0);
+-		return TRUE;
+-	}
+-
+-	/* Initialize a vblank structure */
+-	s = malloc(sizeof(*s));
+-	if (!s)
+-		return FALSE;
+-
+-	*s = (struct nouveau_dri2_vblank_state) { WAIT, client, draw->id };
+-
+-	/* Get current sequence */
+-	ret = nouveau_wait_vblank(draw, DRM_VBLANK_RELATIVE, 0,
+-				  &current_msc, NULL, NULL);
+-	if (ret)
+-		goto fail;
+-
+-	/* Calculate a wait target if we don't have one */
+-	if (current_msc > target_msc && divisor)
+-		target_msc = current_msc + divisor
+-			- (current_msc - remainder) % divisor;
+-
+-	/* Request a vblank event */
+-	ret = nouveau_wait_vblank(draw, DRM_VBLANK_ABSOLUTE |
+-				  DRM_VBLANK_EVENT,
+-				  max(current_msc, target_msc),
+-				  NULL, NULL, s);
+-	if (ret)
+-		goto fail;
+-
+-	DRI2BlockClient(client, draw);
+-	return TRUE;
+-fail:
+-	free(s);
+-	return FALSE;
+-}
+-
+-static Bool
+-nouveau_dri2_get_msc(DrawablePtr draw, CARD64 *ust, CARD64 *msc)
+-{
+-	int ret;
+-
+-	if (!can_sync_to_vblank(draw)) {
+-		*ust = 0;
+-		*msc = 0;
+-		return TRUE;
+-	}
+-
+-	/* Get current sequence */
+-	ret = nouveau_wait_vblank(draw, DRM_VBLANK_RELATIVE, 0, msc, ust, NULL);
+-	if (ret)
+-		return FALSE;
+-
+-	return TRUE;
+-}
+-
+-void
+-nouveau_dri2_vblank_handler(int fd, unsigned int frame,
+-			    unsigned int tv_sec, unsigned int tv_usec,
+-			    void *event_data)
+-{
+-	struct nouveau_dri2_vblank_state *s = event_data;
+-	DrawablePtr draw;
+-	int ret;
+-
+-	ret = dixLookupDrawable(&draw, s->draw, serverClient,
+-				M_ANY, DixWriteAccess);
+-	if (ret)
+-		return;
+-
+-	switch (s->action) {
+-	case SWAP:
+-		nouveau_dri2_finish_swap(draw, frame, tv_sec, tv_usec, s);
+-		break;
+-
+-	case WAIT:
+-		DRI2WaitMSCComplete(s->client, draw, frame, tv_sec, tv_usec);
+-		free(s);
+-		break;
+-	}
+-}
+-
+ Bool
+ nouveau_dri2_init(ScreenPtr pScreen)
+ {
+@@ -425,9 +141,6 @@ nouveau_dri2_init(ScreenPtr pScreen)
+ 	dri2.CreateBuffer = nouveau_dri2_create_buffer;
+ 	dri2.DestroyBuffer = nouveau_dri2_destroy_buffer;
+ 	dri2.CopyRegion = nouveau_dri2_copy_region;
+-	dri2.ScheduleSwap = nouveau_dri2_schedule_swap;
+-	dri2.ScheduleWaitMSC = nouveau_dri2_schedule_wait;
+-	dri2.GetMSC = nouveau_dri2_get_msc;
+ 
+ 	return DRI2ScreenInit(pScreen, &dri2);
+ }
+diff --git a/src/nouveau_local.h b/src/nouveau_local.h
+index 38b861f..5d3200a 100644
+--- a/src/nouveau_local.h
++++ b/src/nouveau_local.h
+@@ -74,10 +74,4 @@ static inline int round_down_pow2(int x)
+ 	return 1 << log2i(x);
+ }
+ 
+-#define SWAP(x, y) do {			\
+-		typeof(x) __z = (x);	\
+-		(x) = (y);		\
+-		(y) = __z;		\
+-	} while (0)
+-
+ #endif
+diff --git a/src/nv04_xv_blit.c b/src/nv04_xv_blit.c
+index 1b8de4f..ccdcd13 100644
+--- a/src/nv04_xv_blit.c
++++ b/src/nv04_xv_blit.c
+@@ -132,7 +132,8 @@ NVPutBlitImage(ScrnInfoPtr pScrn, struct nouveau_bo *src, int src_offset,
+ 
+         if(pPriv->SyncToVBlank) {
+                 FIRE_RING(chan);
+-		NV11SyncToVBlank(ppix, dstBox);
++		NV11SyncToVBlank(ppix, dstBox->x1, dstBox->y1,
++				 dstBox->x2, dstBox->y2);
+         }
+ 
+         if (pNv->dev->chipset >= 0x05) {
+diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c
+index 6d4e089..994aff4 100644
+--- a/src/nv30_xv_tex.c
++++ b/src/nv30_xv_tex.c
+@@ -351,7 +351,8 @@ NV30PutTextureImage(ScrnInfoPtr pScrn, struct nouveau_bo *src, int src_offset,
+ 	/* Just before rendering we wait for vblank in the non-composited case. */
+ 	if (pPriv->SyncToVBlank) {
+ 		FIRE_RING(chan);
+-		NV11SyncToVBlank(ppix, dstBox);
++		NV11SyncToVBlank(ppix, dstBox->x1, dstBox->y1,
++				 dstBox->x2, dstBox->y2);
+ 	}
+ 
+ 	/* These are fixed point values in the 16.16 format. */
+diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c
+index 0910e12..f6dbd96 100644
+--- a/src/nv40_xv_tex.c
++++ b/src/nv40_xv_tex.c
+@@ -340,7 +340,8 @@ NV40PutTextureImage(ScrnInfoPtr pScrn,
+ 	/* Just before rendering we wait for vblank in the non-composited case. */
+ 	if (pPriv->SyncToVBlank) {
+ 		FIRE_RING(chan);
+-		NV11SyncToVBlank(ppix, dstBox);
++		NV11SyncToVBlank(ppix, dstBox->x1, dstBox->y1,
++				 dstBox->x2, dstBox->y2);
+ 	}
+ 
+ 	/* These are fixed point values in the 16.16 format. */
+diff --git a/src/nv50_accel.c b/src/nv50_accel.c
+index d6c7528..4dd511e 100644
+--- a/src/nv50_accel.c
++++ b/src/nv50_accel.c
+@@ -24,7 +24,7 @@
+ #include "nv50_accel.h"
+ 
+ void
+-NV50SyncToVBlank(PixmapPtr ppix, BoxPtr box)
++NV50SyncToVBlank(PixmapPtr ppix, int x1, int y1, int x2, int y2)
+ {
+ 	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
+ 	NVPtr pNv = NVPTR(pScrn);
+@@ -35,9 +35,7 @@ NV50SyncToVBlank(PixmapPtr ppix, BoxPtr box)
+ 	if (!nouveau_exa_pixmap_is_onscreen(ppix))
+ 		return;
+ 
+-	crtcs = nv_window_belongs_to_crtc(pScrn, box->x1, box->y1,
+-					  box->x2 - box->x1,
+-					  box->y2 - box->y1);
++	crtcs = nv_window_belongs_to_crtc(pScrn, x1, y1, x2 - x1, y2 - y1);
+ 	if (!crtcs)
+ 		return;
+ 
+diff --git a/src/nv50_xv.c b/src/nv50_xv.c
+index 1538cdc..56b09ed 100644
+--- a/src/nv50_xv.c
++++ b/src/nv50_xv.c
+@@ -291,7 +291,8 @@ nv50_xv_image_put(ScrnInfoPtr pScrn,
+ 		return BadAlloc;
+ 
+ 	if (pPriv->SyncToVBlank) {
+-		NV50SyncToVBlank(ppix, dstBox);
++		NV50SyncToVBlank(ppix, dstBox->x1, dstBox->y1,
++				 dstBox->x2, dstBox->y2);
+ 	}
+ 
+ 	/* These are fixed point values in the 16.16 format. */
+diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
+index afc25be..fe96057 100644
+--- a/src/nv_accel_common.c
++++ b/src/nv_accel_common.c
+@@ -106,7 +106,7 @@ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
+ }
+ 
+ void
+-NV11SyncToVBlank(PixmapPtr ppix, BoxPtr box)
++NV11SyncToVBlank(PixmapPtr ppix, int x1, int y1, int x2, int y2)
+ {
+ 	ScrnInfoPtr pScrn = xf86Screens[ppix->drawable.pScreen->myNum];
+ 	NVPtr pNv = NVPTR(pScrn);
+@@ -117,9 +117,7 @@ NV11SyncToVBlank(PixmapPtr ppix, BoxPtr box)
+ 	if (!nouveau_exa_pixmap_is_onscreen(ppix))
+ 		return;
+ 
+-	crtcs = nv_window_belongs_to_crtc(pScrn, box->x1, box->y1,
+-					  box->x2 - box->x1,
+-					  box->y2 - box->y1);
++	crtcs = nv_window_belongs_to_crtc(pScrn, x1, y1, x2 - x1, y2 - y1);
+ 	if (!crtcs)
+ 		return;
+ 
+diff --git a/src/nv_const.h b/src/nv_const.h
+index 01ffc2c..b353588 100644
+--- a/src/nv_const.h
++++ b/src/nv_const.h
+@@ -12,7 +12,6 @@ typedef enum {
+     OPTION_SHADOW_FB,
+     OPTION_VIDEO_KEY,
+     OPTION_WFB,
+-    OPTION_GLX_VBLANK,
+     OPTION_ZAPHOD_HEADS,
+ } NVOpts;
+ 
+@@ -24,7 +23,6 @@ static const OptionInfoRec NVOptions[] = {
+     { OPTION_SHADOW_FB,         "ShadowFB",     OPTV_BOOLEAN,   {0}, FALSE },
+     { OPTION_VIDEO_KEY,		"VideoKey",	OPTV_INTEGER,	{0}, FALSE },
+     { OPTION_WFB,		"WrappedFB",	OPTV_BOOLEAN,	{0}, FALSE },
+-    { OPTION_GLX_VBLANK,	"GLXVBlank",	OPTV_BOOLEAN,	{0}, FALSE },
+     { OPTION_ZAPHOD_HEADS,	"ZaphodHeads",	OPTV_STRING,	{0}, FALSE },
+     { -1,                       NULL,           OPTV_NONE,      {0}, FALSE }
+ };
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index f4aa2bc..9f3d915 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -30,7 +30,6 @@
+ #include "xf86int10.h"
+ #include "xf86drm.h"
+ #include "xf86drmMode.h"
+-#include "nouveau_drm.h"
+ 
+ /*
+  * Forward definitions for the functions that make up the driver.
+@@ -594,7 +593,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
+ 	struct nouveau_device *dev;
+ 	NVPtr pNv;
+ 	MessageType from;
+-	uint64_t v;
+ 	int ret, i;
+ 
+ 	if (flags & PROBE_DETECT) {
+@@ -799,25 +797,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
+ 		pNv->tiled_scanout = TRUE;
+ 	}
+ 
+-	if (!pNv->NoAccel && pNv->dev->chipset >= 0x11) {
+-		from = X_DEFAULT;
+-		if (xf86GetOptValBool(pNv->Options, OPTION_GLX_VBLANK,
+-				      &pNv->glx_vblank))
+-			from = X_CONFIG;
+-
+-		xf86DrvMsg(pScrn->scrnIndex, from, "GLX sync to VBlank %s.\n",
+-			   pNv->glx_vblank ? "enabled" : "disabled");
+-	}
+-
+-#ifdef NOUVEAU_GETPARAM_HAS_PAGEFLIP
+-	ret = nouveau_device_get_param(pNv->dev,
+-				       NOUVEAU_GETPARAM_HAS_PAGEFLIP, &v);
+-	if (!ret)
+-		pNv->has_pageflip = v;
+-#else
+-	(void)v;
+-#endif
+-
+ 	if(xf86GetOptValInteger(pNv->Options, OPTION_VIDEO_KEY, &(pNv->videoKey))) {
+ 		xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n",
+ 					pNv->videoKey);
+diff --git a/src/nv_proto.h b/src/nv_proto.h
+index 775b094..2c32ef5 100644
+--- a/src/nv_proto.h
++++ b/src/nv_proto.h
+@@ -7,7 +7,6 @@ void drmmode_adjust_frame(ScrnInfoPtr pScrn, int x, int y, int flags);
+ void drmmode_remove_fb(ScrnInfoPtr pScrn);
+ Bool drmmode_cursor_init(ScreenPtr pScreen);
+ void drmmode_fbcon_copy(ScreenPtr pScreen);
+-Bool drmmode_page_flip(DrawablePtr draw, PixmapPtr back, void *priv);
+ void drmmode_screen_init(ScreenPtr pScreen);
+ void drmmode_screen_fini(ScreenPtr pScreen);
+ 
+@@ -17,15 +16,12 @@ Bool NVAccelGetCtxSurf2DFormatFromPixmap(PixmapPtr pPix, int *fmt_ret);
+ Bool NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPix, int *fmt_ret);
+ PixmapPtr NVGetDrawablePixmap(DrawablePtr pDraw);
+ void NVAccelFree(ScrnInfoPtr pScrn);
+-void NV11SyncToVBlank(PixmapPtr ppix, BoxPtr box);
++void NV11SyncToVBlank(PixmapPtr ppix, int x1, int y1, int x2, int y2);
+ Bool nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height,
+ 			      int bpp, int usage_hint, int *pitch,
+ 			      struct nouveau_bo **bo);
+ 
+ /* in nouveau_dri2.c */
+-void nouveau_dri2_vblank_handler(int fd, unsigned int frame,
+-				 unsigned int tv_sec, unsigned int tv_usec,
+-				 void *event_data);
+ Bool nouveau_dri2_init(ScreenPtr pScreen);
+ void nouveau_dri2_fini(ScreenPtr pScreen);
+ 
+@@ -131,7 +127,7 @@ int NV40GetTexturePortAttribute(ScrnInfoPtr, Atom, INT32 *, pointer);
+ int NV40SetTexturePortAttribute(ScrnInfoPtr, Atom, INT32, pointer);
+ 
+ /* in nv50_accel.c */
+-void NV50SyncToVBlank(PixmapPtr ppix, BoxPtr box);
++void NV50SyncToVBlank(PixmapPtr ppix, int x1, int y1, int x2, int y2);
+ Bool NVAccelInitNV50TCL(ScrnInfoPtr pScrn);
+ 
+ /* in nv50_exa.c */
+diff --git a/src/nv_type.h b/src/nv_type.h
+index 4204556..dadd2dd 100644
+--- a/src/nv_type.h
++++ b/src/nv_type.h
+@@ -51,8 +51,6 @@ typedef struct _NVRec {
+     Bool                exa_force_cp;
+     Bool		wfb_enabled;
+     Bool		tiled_scanout;
+-    Bool		glx_vblank;
+-    Bool		has_pageflip;
+     ScreenBlockHandlerProcPtr BlockHandler;
+     CreateScreenResourcesProcPtr CreateScreenResources;
+     CloseScreenProcPtr  CloseScreen;
+-- 
+1.7.1
+
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/series
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/series
@@ -0,0 +1,6 @@
+01-set-NV_DRIVER_DATE-from-ChangeLog.diff
+02_nouveau_bgnr
+03_use_older_libdrm_headers.diff -R
+04_emit_surface_state_after_flush.diff
+05_dri2_buffer_failure_path_crash.diff
+06_xserver_17_backport.patch
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/04_emit_surface_state_after_flush.diff
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/04_emit_surface_state_after_flush.diff
@@ -0,0 +1,21 @@
+commit 8378443bd3b26b57ef2ae424a700e01ead813d33
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Thu Mar 24 02:13:12 2011 +1000
+
+    nv50-nvc0/exa: fix bug causing surface state to not be reemitted after flush
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+Index: xserver-xorg-video-nouveau/src/nv50_exa.c
+===================================================================
+--- xserver-xorg-video-nouveau.orig/src/nv50_exa.c	2011-04-01 15:32:37.000000000 +1100
++++ xserver-xorg-video-nouveau/src/nv50_exa.c	2011-04-01 15:32:46.973917560 +1100
+@@ -362,7 +362,7 @@
+ 	if (MARK_RING(pNv->chan, 32, 2))
+ 		return;
+ 
+-	if (NV50EXAAcquireSurface2D(pNv->pdpix, 0))
++	if (!NV50EXAAcquireSurface2D(pNv->pdpix, 0))
+ 		MARK_UNDO(pNv->chan);
+ }
+ 
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/02_nouveau_bgnr
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/02_nouveau_bgnr
@@ -0,0 +1,34 @@
+From 5428142140f578a0a73f288fdf821ace9fea6a60 Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon, 8 Feb 2010 12:51:47 +1000
+Subject: [PATCH 2/2] set canDoBGNoneRoot
+
+---
+ src/nv_driver.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+Index: xserver-xorg-video-nouveau/src/nv_driver.c
+===================================================================
+--- xserver-xorg-video-nouveau.orig/src/nv_driver.c	2011-01-31 18:37:19.986515660 +1100
++++ xserver-xorg-video-nouveau/src/nv_driver.c	2011-01-31 18:43:01.277016240 +1100
+@@ -690,6 +690,9 @@
+ 	/* Set pScrn->monitor */
+ 	pScrn->monitor = pScrn->confScreen->monitor;
+ 
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 9
++	pScrn->canDoBGNoneRoot = 1;
++#endif
+ 	/*
+ 	 * The first thing we should figure out is the depth, bpp, etc.
+ 	 */
+@@ -1024,6 +1027,10 @@
+ 		}
+ 	}
+ 
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 9
++	pScreen->canDoBGNoneRoot = TRUE;
++#endif
++
+ 	if (!pNv->NoAccel)
+ 		nouveau_dri2_init(pScreen);
+ 
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/03_work-around-exa-hangs.patch
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/03_work-around-exa-hangs.patch
@@ -0,0 +1,33 @@
+Description: Re-add exa hang workaround.
+ .
+ This reverts commit 321eb2df5c8b1da4d6469037dd1d8888b508fabd:
+ .
+    Revert "nv04-nv40/exa: Match the blob behavior more closely on PrepareCopy."
+ .
+    This reverts commit 9de0d97bd2fc2ee8800d48b5340a3d495525ad3e. Unnecessary
+    after kernel commit "drm/nouveau: Ack the context switch interrupt before
+    switching contexts.".
+ .
+ We do not yet have the named commit in our kernel tree.
+
+
+Index: xserver-xorg-video-nouveau/src/nv04_exa.c
+===================================================================
+--- xserver-xorg-video-nouveau.orig/src/nv04_exa.c	2010-08-05 15:03:35.247880586 +1000
++++ xserver-xorg-video-nouveau/src/nv04_exa.c	2010-08-05 15:04:17.969451030 +1000
+@@ -207,11 +207,15 @@
+ 			return FALSE;
+ 		}
+ 
++		BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1);
++		OUT_RING  (chan, pNv->NvContextSurfaces->handle);
+ 		BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1);
+ 		OUT_RING  (chan, 1); /* ROP_AND */
+ 
+ 		NV04EXASetROP(pScrn, alu, planemask);
+ 	} else {
++		BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_SURFACE, 1);
++		OUT_RING  (chan, pNv->NvContextSurfaces->handle);
+ 		BEGIN_RING(chan, blit, NV01_IMAGE_BLIT_OPERATION, 1);
+ 		OUT_RING  (chan, 3); /* SRCCOPY */
+ 	}
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/05_dri2_buffer_failure_path_crash.diff
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/05_dri2_buffer_failure_path_crash.diff
@@ -0,0 +1,36 @@
+commit ace98a492353e6de712f4f717e6d3f562e3591f0
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Tue Mar 1 13:54:38 2011 +1000
+
+    dri2: return an error rather than crashing if we can't allocate a buffer
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
+index d5afa8a..1a68ed3 100644
+--- a/src/nouveau_dri2.c
++++ b/src/nouveau_dri2.c
+@@ -29,6 +29,7 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment,
+ 	ScreenPtr pScreen = pDraw->pScreen;
+ 	NVPtr pNv = NVPTR(xf86Screens[pScreen->myNum]);
+ 	struct nouveau_dri2_buffer *nvbuf;
++	struct nouveau_pixmap *nvpix;
+ 	PixmapPtr ppix;
+ 
+ 	nvbuf = calloc(1, sizeof(*nvbuf));
+@@ -70,7 +71,14 @@ nouveau_dri2_create_buffer(DrawablePtr pDraw, unsigned int attachment,
+ 	nvbuf->base.flags = 0;
+ 	nvbuf->ppix = ppix;
+ 
+-	nouveau_bo_handle_get(nouveau_pixmap(ppix)->bo, &nvbuf->base.name);
++	nvpix = nouveau_pixmap(ppix);
++	if (!nvpix || !nvpix->bo ||
++	    nouveau_bo_handle_get(nvpix->bo, &nvbuf->base.name)) {
++		pScreen->DestroyPixmap(nvbuf->ppix);
++		free(nvbuf);
++		return NULL;
++	}
++
+ 	return &nvbuf->base;
+ }
+ 
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/03_use_older_libdrm_headers.diff
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/03_use_older_libdrm_headers.diff
@@ -0,0 +1,205 @@
+commit c2092a458401377f421d9bdfe1d97ce580b99508
+Author: Ben Skeggs <bskeggs@redhat.com>
+Date:   Mon Dec 20 11:50:57 2010 +1000
+
+    include nv04_pushbuf.h for ring macros, rather than nouveau_pushbuf.h
+    
+    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+
+diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
+index 2dd6da4..45add0f 100644
+--- a/src/nouveau_dri2.c
++++ b/src/nouveau_dri2.c
+@@ -5,6 +5,7 @@
+ 
+ #include "xorg-server.h"
+ #include "nv_include.h"
++#include "nouveau_pushbuf.h"
+ #ifdef DRI2
+ #include "dri2.h"
+ #endif
+diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
+index 4618994..4e9f946 100644
+--- a/src/nouveau_exa.c
++++ b/src/nouveau_exa.c
+@@ -21,6 +21,7 @@
+  */
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ #include "exa.h"
+ 
+ static inline Bool
+diff --git a/src/nouveau_xv.c b/src/nouveau_xv.c
+index dba153c..c1d4ccb 100644
+--- a/src/nouveau_xv.c
++++ b/src/nouveau_xv.c
+@@ -35,6 +35,8 @@
+ #include "nv_include.h"
+ #include "nv_dma.h"
+ 
++#include "nv04_pushbuf.h"
++
+ #include "vl_hwmc.h"
+ 
+ #define IMAGE_MAX_W 2046
+diff --git a/src/nv04_exa.c b/src/nv04_exa.c
+index 2760d4b..f2819d2 100644
+--- a/src/nv04_exa.c
++++ b/src/nv04_exa.c
+@@ -23,6 +23,8 @@
+ #include "nv_include.h"
+ #include "nv_rop.h"
+ 
++#include "nv04_pushbuf.h"
++
+ static void 
+ NV04EXASetPattern(ScrnInfoPtr pScrn, CARD32 clr0, CARD32 clr1,
+ 		  CARD32 pat0, CARD32 pat1)
+diff --git a/src/nv04_xv_blit.c b/src/nv04_xv_blit.c
+index be39c0d..1b8de4f 100644
+--- a/src/nv04_xv_blit.c
++++ b/src/nv04_xv_blit.c
+@@ -34,6 +34,8 @@
+ #include "nv_include.h"
+ #include "nv_dma.h"
+ 
++#include "nv04_pushbuf.h"
++
+ #define FOURCC_RGB 0x0000003
+ 
+ #define VSYNC_POSSIBLE (pNv->dev->chipset >= 0x11)
+diff --git a/src/nv10_exa.c b/src/nv10_exa.c
+index 1acb583..1cf7a5b 100644
+--- a/src/nv10_exa.c
++++ b/src/nv10_exa.c
+@@ -28,6 +28,7 @@
+ #endif
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ 
+ /* Texture/Render target formats. */
+ static struct pict_format {
+diff --git a/src/nv30_exa.c b/src/nv30_exa.c
+index b34b29c..a4dd37d 100644
+--- a/src/nv30_exa.c
++++ b/src/nv30_exa.c
+@@ -25,6 +25,7 @@
+ 
+ #include "nv_include.h"
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ typedef struct nv_pict_surface_format {
+ 	int	 pict_fmt;
+diff --git a/src/nv30_shaders.c b/src/nv30_shaders.c
+index 7316082..fb93ef8 100644
+--- a/src/nv30_shaders.c
++++ b/src/nv30_shaders.c
+@@ -22,6 +22,7 @@
+ 
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ void NV30_UploadFragProg(NVPtr pNv, nv_shader_t *shader, int *hw_offset)
+ {
+diff --git a/src/nv30_xv_tex.c b/src/nv30_xv_tex.c
+index ffa68e4..6d4e089 100644
+--- a/src/nv30_xv_tex.c
++++ b/src/nv30_xv_tex.c
+@@ -37,6 +37,7 @@
+ #include "nv_dma.h"
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ extern Atom xvSyncToVBlank, xvSetDefaults;
+ 
+diff --git a/src/nv40_exa.c b/src/nv40_exa.c
+index ffee0e6..b14a829 100644
+--- a/src/nv40_exa.c
++++ b/src/nv40_exa.c
+@@ -22,6 +22,7 @@
+ 
+ #include "nv_include.h"
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ typedef struct nv_pict_surface_format {
+ 	int	 pict_fmt;
+diff --git a/src/nv40_xv_tex.c b/src/nv40_xv_tex.c
+index e0444e8..0910e12 100644
+--- a/src/nv40_xv_tex.c
++++ b/src/nv40_xv_tex.c
+@@ -37,6 +37,7 @@
+ #include "nv_dma.h"
+ 
+ #include "nv30_shaders.h"
++#include "nv04_pushbuf.h"
+ 
+ extern Atom xvSyncToVBlank, xvSetDefaults;
+ 
+diff --git a/src/nv50_accel.h b/src/nv50_accel.h
+index 9cdbbab..fac5cbb 100644
+--- a/src/nv50_accel.h
++++ b/src/nv50_accel.h
+@@ -1,6 +1,8 @@
+ #ifndef __NV50_ACCEL_H__
+ #define __NV50_ACCEL_H__
+ 
++#include "nv04_pushbuf.h"
++
+ /* "Tesla scratch buffer" offsets */
+ #define PVP_OFFSET  0x00000000 /* Vertex program */
+ #define PFP_OFFSET  0x00001000 /* Fragment program */
+diff --git a/src/nv50_exa.c b/src/nv50_exa.c
+index e86f903..e8ff5aa 100644
+--- a/src/nv50_exa.c
++++ b/src/nv50_exa.c
+@@ -24,6 +24,7 @@
+ #include "nv_include.h"
+ #include "nv_rop.h"
+ 
++#include "nv04_pushbuf.h"
+ #include "nv50_accel.h"
+ #include "nv50_texture.h"
+ 
+diff --git a/src/nv_accel_common.c b/src/nv_accel_common.c
+index 1ade291..b1553f6 100644
+--- a/src/nv_accel_common.c
++++ b/src/nv_accel_common.c
+@@ -21,6 +21,7 @@
+  */
+ 
+ #include "nv_include.h"
++#include "nv04_pushbuf.h"
+ 
+ Bool
+ nouveau_allocate_surface(ScrnInfoPtr scrn, int width, int height, int bpp,
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index e2df82e..f4aa2bc 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -24,6 +24,8 @@
+ 
+ #include "nv_include.h"
+ 
++#include "nouveau_pushbuf.h"
++
+ #include "xorg-server.h"
+ #include "xf86int10.h"
+ #include "xf86drm.h"
+diff --git a/src/nv_include.h b/src/nv_include.h
+index 48f0b21..9cb697a 100644
+--- a/src/nv_include.h
++++ b/src/nv_include.h
+@@ -75,7 +75,6 @@
+ #include "nouveau_drmif.h"
+ #include "nouveau_device.h"
+ #include "nouveau_channel.h"
+-#include "nouveau_pushbuf.h"
+ #include "nouveau_bo.h"
+ #include "nouveau_grobj.h"
+ #include "nouveau_notifier.h"
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/patches/01-set-NV_DRIVER_DATE-from-ChangeLog.diff
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/patches/01-set-NV_DRIVER_DATE-from-ChangeLog.diff
@@ -0,0 +1,14 @@
+Make sure to set NV_DRIVER_DATE properly, using ChangeLog instead of the
+output of git log, since most of the time, building won't happen from
+the git repository.
+--- a/configure.ac
++++ b/configure.ac
+@@ -36,7 +36,7 @@ AC_DEFINE_UNQUOTED([NV_PATCHLEVEL],
+                    [$(echo $PACKAGE_VERSION | sed -e 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)/\1/')],
+                    [Patch version])
+ AC_DEFINE_UNQUOTED([NV_DRIVER_DATE],
+-                   [$(echo -n \";git log |head -3|tail -1|tr -d '\n';echo -n \")],
++                   [$(echo -n \";cat $CURDIR/ChangeLog |head -3|tail -1|tr -d '\n';echo -n \")],
+                    [Driver date])
+ 
+ AC_CONFIG_SRCDIR([Makefile.am])
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xsfbs/xsfbs.mk
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xsfbs/xsfbs.mk
@@ -0,0 +1,278 @@
+#!/usr/bin/make -f
+
+# Debian X Strike Force Build System (XSFBS): Make portion
+
+# Copyright 1996 Stephen Early
+# Copyright 1997 Mark Eichin
+# Copyright 1998-2005, 2007 Branden Robinson
+# Copyright 2005 David Nusinow
+#
+# Licensed under the GNU General Public License, version 2.  See the file
+# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
+
+# Originally by Stephen Early <sde1000@debian.org>
+# Modified by Mark W. Eichin <eichin@kitten.gen.ma.us>
+# Modified by Adam Heath <doogie@debian.org>
+# Modified by Branden Robinson <branden@debian.org>
+# Modified by Fabio Massimo Di Nitto <fabbione@fabbione.net>
+# Modified by David Nusinow <dnusinow@debian.org>
+# Acknowledgements to Manoj Srivastava.
+
+# Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
+export DH_OPTIONS
+
+# force quilt to not use ~/.quiltrc and to use debian/patches
+QUILT = QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null
+
+# Set up parameters for the upstream build environment.
+
+# Determine (source) package name from Debian changelog.
+SOURCE_NAME:=$(shell dpkg-parsechangelog -ldebian/changelog \
+                        | grep '^Source:' | awk '{print $$2}')
+
+# Determine package version from Debian changelog.
+SOURCE_VERSION:=$(shell dpkg-parsechangelog -ldebian/changelog \
+                        | grep '^Version:' | awk '{print $$2}')
+
+# Determine upstream version number.
+UPSTREAM_VERSION:=$(shell echo $(SOURCE_VERSION) | sed 's/-.*//')
+
+# Determine the source version without the epoch for make-orig-tar-gz
+NO_EPOCH_VER:=$(shell echo $(UPSTREAM_VERSION) | sed 's/^.://')
+
+# Figure out who's building this package.
+BUILDER:=$(shell echo $${DEBEMAIL:-$${EMAIL:-$$(echo $$LOGNAME@$$(cat /etc/mailname 2>/dev/null))}})
+
+# Find out if this is an official build; an official build has nothing but
+# digits, dots, and/or the codename of a release in the Debian part of the
+# version number.  Anything else indicates an unofficial build.
+OFFICIAL_BUILD:=$(shell VERSION=$(SOURCE_VERSION); if ! expr "$$(echo $${VERSION\#\#*-} | sed 's/\(woody\|sarge\|etch\|lenny\)//g')" : ".*[^0-9.].*" >/dev/null 2>&1; then echo yes; fi)
+
+# Set up parameters for the Debian build environment.
+
+# Determine our architecture.
+BUILD_ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH)
+# Work around some old-time dpkg braindamage.
+BUILD_ARCH:=$(subst i486,i386,$(BUILD_ARCH))
+# The DEB_HOST_ARCH variable may be set per the Debian cross-compilation policy.
+ifdef DEB_HOST_ARCH
+ ARCH:=$(DEB_HOST_ARCH)
+else
+ # dpkg-cross sets the ARCH environment variable; if set, use it.
+ ifdef ARCH
+  ARCH:=$(ARCH)
+ else
+  ARCH:=$(BUILD_ARCH)
+ endif
+endif
+
+# $(STAMP_DIR) houses stamp files for complex targets.
+STAMP_DIR:=stampdir
+
+# $(DEBTREEDIR) is where all install rules are told (via $(DESTDIR)) to place
+# their files.
+DEBTREEDIR:=$(CURDIR)/debian/tmp
+
+# All "important" targets have four lines:
+#   1) A target name that is invoked by a package-building tool or the user.
+#      This consists of a dependency on a "$(STAMP_DIR)/"-prefixed counterpart.
+#   2) A line delcaring 1) as a phony target (".PHONY:").
+#   3) A "$(STAMP_DIR)/"-prefixed target which does the actual work, and may
+#   depend on other targets.
+#   4) A line declaring 3) as a member of the $(stampdir_targets) variable; the
+#   "$(STAMP_DIR)/" prefix is omitted.
+#
+# This indirection is needed so that the "stamp" files that signify when a rule
+# is done can be located in a separate "stampdir".  Recall that make has no way
+# to know when a goal has been met for a phony target (like "build" or
+# "install").
+#
+# At the end of each "$(STAMP_DIR)/" target, be sure to run the command ">$@"
+# so that the target will not be run again.  Removing the file will make Make
+# run the target over.
+
+# All phony targets should be declared as dependencies of .PHONY, even if they
+# do not have "($STAMP_DIR)/"-prefixed counterparts.
+
+# Define a harmless default rule to keep things from going nuts by accident.
+.PHONY: default
+default:
+
+# Set up the $(STAMP_DIR) directory.
+.PHONY: stampdir
+stampdir_targets+=stampdir
+stampdir: $(STAMP_DIR)/stampdir
+$(STAMP_DIR)/stampdir:
+	mkdir $(STAMP_DIR)
+	>$@
+
+# Set up the package build directory as quilt expects to find it.
+.PHONY: prepare
+stampdir_targets+=prepare
+prepare: $(STAMP_DIR)/prepare
+$(STAMP_DIR)/prepare: $(STAMP_DIR)/logdir $(STAMP_DIR)/genscripts
+	>$@
+
+.PHONY: logdir
+stampdir_targets+=logdir
+logdir: $(STAMP_DIR)/logdir
+$(STAMP_DIR)/logdir: $(STAMP_DIR)/stampdir
+	mkdir -p $(STAMP_DIR)/log
+	>$@
+
+# Apply all patches to the upstream source.
+.PHONY: patch
+stampdir_targets+=patch
+patch: $(STAMP_DIR)/patch
+$(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
+	if ! [ `which quilt` ]; then \
+		echo "Couldn't find quilt. Please install it or add it to the build-depends for this package."; \
+		exit 1; \
+	fi; \
+	if $(QUILT) next >/dev/null 2>&1; then \
+	  echo -n "Applying patches..."; \
+	  if $(QUILT) push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
+	    cat $(STAMP_DIR)/log/patch; \
+	    echo "successful."; \
+	  else \
+	    cat $(STAMP_DIR)/log/patch; \
+	    echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
+	    exit 1; \
+	  fi; \
+	else \
+	  echo "No patches to apply"; \
+	fi; \
+	>$@
+
+# Revert all patches to the upstream source.
+.PHONY: unpatch
+unpatch: $(STAMP_DIR)/logdir
+	rm -f $(STAMP_DIR)/patch
+	@echo -n "Unapplying patches..."; \
+	if $(QUILT) applied >/dev/null 2>/dev/null; then \
+	  if $(QUILT) pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
+	    cat $(STAMP_DIR)/log/unpatch; \
+	    echo "successful."; \
+	  else \
+	    cat $(STAMP_DIR)/log/unpatch; \
+	    echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
+	    exit 1; \
+	  fi; \
+	else \
+	  echo "nothing to do."; \
+	fi
+
+# Clean the generated maintainer scripts.
+.PHONY: cleanscripts
+cleanscripts:
+	rm -f $(STAMP_DIR)/genscripts
+	rm -f debian/*.config \
+	      debian/*.postinst \
+	      debian/*.postrm \
+	      debian/*.preinst \
+	      debian/*.prerm
+
+# Clean the package build tree.
+.PHONY: xsfclean
+xsfclean: cleanscripts unpatch
+	dh_testdir
+	rm -rf .pc
+	rm -rf $(STAMP_DIR)
+	dh_clean
+
+# Remove files from the upstream source tree that we don't need, or which have
+# licensing problems.  It must be run before creating the .orig.tar.gz.
+#
+# Note: This rule is for Debian package maintainers' convenience, and is not
+# needed for conventional build scenarios.
+.PHONY: prune-upstream-tree
+prune-upstream-tree:
+	# Ensure we're in the correct directory.
+	dh_testdir
+	grep -rvh '^#' debian/prune/ | xargs --no-run-if-empty rm -rf
+
+# Verify that there are no offsets or fuzz in the patches we apply.
+#
+# Note: This rule is for Debian package maintainers' convenience, and is not
+# needed for conventional build scenarios.
+.PHONY: patch-audit
+patch-audit: prepare unpatch
+	@echo -n "Auditing patches..."; \
+	>$(STAMP_DIR)/log/patch; \
+	FUZZY=; \
+	while [ -n "$$($(QUILT) next)" ]; do \
+	  RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
+	  case "$$RESULT" in \
+	    succeeded) \
+	      echo "fuzzy patch: $$($(QUILT) top)" \
+	        | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
+	      FUZZY=yes; \
+	      ;; \
+	    FAILED) \
+	      echo "broken patch: $$($(QUILT) next)" \
+	        | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \
+	      exit 1; \
+	      ;; \
+	  esac; \
+	done; \
+	if [ -n "$$FUZZY" ]; then \
+	  echo "there were fuzzy patches; please fix."; \
+	  exit 1; \
+	else \
+	  echo "done."; \
+	fi
+
+# Generate the maintainer scripts.
+.PHONY: genscripts
+stampdir_targets+=genscripts
+genscripts: $(STAMP_DIR)/genscripts
+$(STAMP_DIR)/genscripts: $(STAMP_DIR)/stampdir
+	for FILE in debian/*.config.in \
+	            debian/*.postinst.in \
+	            debian/*.postrm.in \
+	            debian/*.preinst.in \
+	            debian/*.prerm.in; do \
+	  if [ -e "$$FILE" ]; then \
+	    MAINTSCRIPT=$$(echo $$FILE | sed 's/.in$$//'); \
+	    sed -n '1,/^#INCLUDE_SHELL_LIB#$$/p' <$$FILE \
+	      | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >$$MAINTSCRIPT.tmp; \
+	    cat debian/xsfbs/xsfbs.sh >>$$MAINTSCRIPT.tmp; \
+	    sed -n '/^#INCLUDE_SHELL_LIB#$$/,$$p' <$$FILE \
+	      | sed -e '/^#INCLUDE_SHELL_LIB#$$/d' >>$$MAINTSCRIPT.tmp; \
+	    sed -e 's/@SOURCE_VERSION@/$(SOURCE_VERSION)/' \
+	        -e 's/@OFFICIAL_BUILD@/$(OFFICIAL_BUILD)/' \
+	      <$$MAINTSCRIPT.tmp >$$MAINTSCRIPT; \
+	    rm $$MAINTSCRIPT.tmp; \
+	  fi; \
+	done
+	# Validate syntax of generated shell scripts.
+	#sh debian/scripts/validate-posix-sh debian/*.config \
+	#                                    debian/*.postinst \
+	#                                    debian/*.postrm \
+	#                                    debian/*.preinst \
+	#                                    debian/*.prerm
+	>$@
+
+SERVERMINVERS = $(shell cat /usr/share/xserver-xorg/serverminver 2>/dev/null)
+VIDEOABI = $(shell cat /usr/share/xserver-xorg/videoabiver 2>/dev/null)
+INPUTABI = $(shell cat /usr/share/xserver-xorg/inputabiver 2>/dev/null)
+SERVER_DEPENDS = xserver-xorg-core (>= $(SERVERMINVERS))
+VIDDRIVER_PROVIDES = xserver-xorg-video-$(VIDEOABI)
+INPDRIVER_PROVIDES = xserver-xorg-input-$(INPUTABI)
+
+ifeq ($(PACKAGE),)
+PACKAGE=$(shell awk '/^Package:/ { print $$2; exit }' < debian/control)
+endif
+
+.PHONY: serverabi
+serverabi: install
+ifeq ($(SERVERMINVERS),)
+       @echo error: xserver-xorg-dev needs to be installed
+	@exit 1
+else
+	echo "xserver:Depends=$(SERVER_DEPENDS)" >> debian/$(PACKAGE).substvars
+	echo "xviddriver:Provides=$(VIDDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
+	echo "xinpdriver:Provides=$(INPDRIVER_PROVIDES)" >> debian/$(PACKAGE).substvars
+endif
+
+# vim:set noet ai sts=8 sw=8 tw=0:
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xsfbs/repack.sh
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xsfbs/repack.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -e
+
+if ! [ -d debian/prune ]; then
+	exit 0
+fi
+
+if [ "x$1" != x--upstream-version ]; then
+	exit 1
+fi
+
+version="$2"
+filename="$3"
+
+if [ -z "$version" ] || ! [ -f "$filename" ]; then
+	exit 1
+fi
+
+dir="$(pwd)"
+tempdir="$(mktemp -d)"
+
+cd "$tempdir"
+tar xf "$dir/$filename"
+cat "$dir"/debian/prune/* | while read file; do rm -f */$file; done
+
+tar czf "$dir/$filename" *
+cd "$dir"
+rm -rf "$tempdir"
+echo "Done pruning upstream tarball"
+
+exit 0
--- xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e.orig/debian/xsfbs/xsfbs.sh
+++ xserver-xorg-video-nouveau-0.0.16+git20110107+b795ca6e/debian/xsfbs/xsfbs.sh
@@ -0,0 +1,622 @@
+# This is the X Strike Force shell library for X Window System package
+# maintainer scripts.  It serves to define shell functions commonly used by
+# such packages, and performs some error checking necessary for proper operation
+# of those functions.  By itself, it does not "do" much; the maintainer scripts
+# invoke the functions defined here to accomplish package installation and
+# removal tasks.
+
+# If you are reading this within a Debian package maintainer script (e.g.,
+# /var/lib/dpkg/info/PACKAGE.{config,preinst,postinst,prerm,postrm}), you can
+# skip past this library by scanning forward in this file to the string
+# "GOBSTOPPER".
+
+SOURCE_VERSION=@SOURCE_VERSION@
+OFFICIAL_BUILD=@OFFICIAL_BUILD@
+
+# Use special abnormal exit codes so that problems with this library are more
+# easily tracked down.
+SHELL_LIB_INTERNAL_ERROR=86
+SHELL_LIB_THROWN_ERROR=74
+SHELL_LIB_USAGE_ERROR=99
+
+# old -> new variable names
+if [ -z "$DEBUG_XORG_PACKAGE" ] && [ -n "$DEBUG_XFREE86_PACKAGE" ]; then
+  DEBUG_XORG_PACKAGE="$DEBUG_XFREE86_PACKAGE"
+fi
+if [ -z "$DEBUG_XORG_DEBCONF" ] && [ -n "$DEBUG_XFREE86_DEBCONF" ]; then
+  DEBUG_XORG_DEBCONF="$DEBUG_XFREE86_DEBCONF"
+fi
+
+# initial sanity checks
+if [ -z "$THIS_PACKAGE" ]; then
+  cat >&2 <<EOF
+Error: package maintainer script attempted to use shell library without
+definining \$THIS_PACKAGE shell variable.  Please report the package name,
+version, and the text of this error message to the Debian Bug Tracking System.
+Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
+instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
+"doc-debian" package, or install the "reportbug" package and use the command of
+the same name to file a report against version $SOURCE_VERSION of this package.
+EOF
+  exit $SHELL_LIB_USAGE_ERROR
+fi
+
+if [ -z "$THIS_SCRIPT" ]; then
+  cat >&2 <<EOF
+Error: package maintainer script attempted to use shell library without
+definining \$THIS_SCRIPT shell variable.  Please report the package name,
+version, and the text of this error message to the Debian Bug Tracking System.
+Visit <http://www.debian.org/Bugs/Reporting> on the World Wide Web for
+instructions, read the file /usr/share/doc/debian/bug-reporting.txt from the
+"doc-debian" package, or install the "reportbug" package and use the command of
+the same name to file a report against version $SOURCE_VERSION of the
+"$THIS_PACKAGE" package.
+EOF
+  exit $SHELL_LIB_USAGE_ERROR
+fi
+
+if [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
+  RECONFIGURE="true"
+else
+  RECONFIGURE=
+fi
+
+if ([ "$1" = "install" ] || [ "$1" = "configure" ]) && [ -z "$2" ]; then
+  FIRSTINST="yes"
+fi
+
+if [ -z "$RECONFIGURE" ] && [ -z "$FIRSTINST" ]; then
+  UPGRADE="yes"
+fi
+
+trap "message;\
+      message \"Received signal.  Aborting $THIS_PACKAGE package $THIS_SCRIPT script.\";\
+      message;\
+      exit 1" HUP INT QUIT TERM
+
+reject_nondigits () {
+  # syntax: reject_nondigits [ operand ... ]
+  #
+  # scan operands (typically shell variables whose values cannot be trusted) for
+  # characters other than decimal digits and barf if any are found
+  while [ -n "$1" ]; do
+    # does the operand contain anything but digits?
+    if ! expr "$1" : "[[:digit:]]\+$" > /dev/null 2>&1; then
+      # can't use die(), because it wraps message() which wraps this function
+      echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_nondigits() encountered" \
+           "possibly malicious garbage \"$1\"" >&2
+      exit $SHELL_LIB_THROWN_ERROR
+    fi
+    shift
+  done
+}
+
+reject_unlikely_path_chars () {
+  # syntax: reject_unlikely_path_chars [ operand ... ]
+  #
+  # scan operands (typically shell variables whose values cannot be trusted) for
+  # characters unlikely to be seen in a path and which the shell might
+  # interpret and barf if any are found
+  while [ -n "$1" ]; do
+    # does the operand contain any funny characters?
+    if expr "$1" : '.*[!$&()*;<>?|].*' > /dev/null 2>&1; then
+      # can't use die(), because I want to avoid forward references
+      echo "$THIS_PACKAGE $THIS_SCRIPT error: reject_unlikely_path_chars()" \
+           "encountered possibly malicious garbage \"$1\"" >&2
+      exit $SHELL_LIB_THROWN_ERROR
+    fi
+    shift
+  done
+}
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user.  This is used only as a fallback in the
+# event the COLUMNS variable is not set.  ($COLUMNS can react to SIGWINCH while
+# the script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2> /dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" > /dev/null 2>&1; then
+  DEFCOLUMNS=80
+fi
+
+message () {
+  # pretty-print messages of arbitrary length
+  reject_nondigits "$COLUMNS"
+  echo "$*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS} >&2
+}
+
+observe () {
+  # syntax: observe message ...
+  #
+  # issue observational message suitable for logging someday when support for
+  # it exists in dpkg
+  if [ -n "$DEBUG_XORG_PACKAGE" ]; then
+    message "$THIS_PACKAGE $THIS_SCRIPT note: $*"
+  fi
+}
+
+warn () {
+  # syntax: warn message ...
+  #
+  # issue warning message suitable for logging someday when support for
+  # it exists in dpkg; also send to standard error
+  message "$THIS_PACKAGE $THIS_SCRIPT warning: $*"
+}
+
+die () {
+  # syntax: die message ...
+  #
+  # exit script with error message
+  message "$THIS_PACKAGE $THIS_SCRIPT error: $*"
+  exit $SHELL_LIB_THROWN_ERROR
+}
+
+internal_error () {
+  # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
+  message "internal error: $*"
+  if [ -n "$OFFICIAL_BUILD" ]; then
+    message "Please report a bug in the $THIS_SCRIPT script of the" \
+            "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
+            "Tracking System.  Include all messages above that mention the" \
+            "$THIS_PACKAGE package.  Visit " \
+            "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
+            "instructions, read the file" \
+            "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
+            "package, or install the reportbug package and use the command of" \
+            "the same name to file a report."
+  fi
+  exit $SHELL_LIB_INTERNAL_ERROR
+}
+
+usage_error () {
+  message "usage error: $*"
+  message "Please report a bug in the $THIS_SCRIPT script of the" \
+          "$THIS_PACKAGE package, version $SOURCE_VERSION to the Debian Bug" \
+          "Tracking System.  Include all messages above that mention the" \
+          "$THIS_PACKAGE package.  Visit " \
+          "<http://www.debian.org/Bugs/Reporting> on the World Wide Web for" \
+          "instructions, read the file" \
+          "/usr/share/doc/debian/bug-reporting.txt from the doc-debian" \
+          "package, or install the reportbug package and use the command of" \
+          "the same name to file a report."
+  exit $SHELL_LIB_USAGE_ERROR
+}
+
+font_update () {
+  # run $UPDATECMDS in $FONTDIRS
+
+  local dir cmd shortcmd x_font_dir_prefix
+
+  x_font_dir_prefix="/usr/share/fonts/X11"
+
+  if [ -z "$UPDATECMDS" ]; then
+    usage_error "font_update() called but \$UPDATECMDS not set"
+  fi
+  if [ -z "$FONTDIRS" ]; then
+    usage_error "font_update() called but \$FONTDIRS not set"
+  fi
+
+  reject_unlikely_path_chars "$UPDATECMDS"
+  reject_unlikely_path_chars "$FONTDIRS"
+
+  for dir in $FONTDIRS; do
+    if [ -d "$x_font_dir_prefix/$dir" ]; then
+      for cmd in $UPDATECMDS; do
+        if which "$cmd" > /dev/null 2>&1; then
+          shortcmd=${cmd##*/}
+          observe "running $shortcmd in $dir font directory"
+	  cmd_opts=
+          if [ "$shortcmd" = "update-fonts-alias" ]; then
+            cmd_opts=--x11r7-layout
+          fi
+          if [ "$shortcmd" = "update-fonts-dir" ]; then
+            cmd_opts=--x11r7-layout
+          fi
+          if [ "$shortcmd" = "update-fonts-scale" ]; then
+            cmd_opts=--x11r7-layout
+          fi
+          $cmd $cmd_opts $dir || warn "$cmd $cmd_opts $dir" \
+                              "failed; font directory data may not" \
+                              "be up to date"
+        else
+          warn "$cmd not found; not updating corresponding $dir font" \
+               "directory data"
+        fi
+      done
+    else
+      warn "$dir is not a directory; not updating font directory data"
+    fi
+  done
+}
+
+remove_conffile_prepare () {
+  # syntax: remove_conffile_prepare filename official_md5sum ...
+  #
+  # Check a conffile "filename" against a list of canonical MD5 checksums.
+  # If the file's current MD5 checksum matches one of the "official_md5sum"
+  # operands provided, then prepare the conffile for removal from the system.
+  # We defer actual deletion until the package is configured so that we can
+  # roll this operation back if package installation fails.
+  #
+  # Call this function from a preinst script in the event $1 is "upgrade" or
+  # "install" and verify $2 to ensure the package is being upgraded from a
+  # version (or installed over a version removed-but-not-purged) prior to the
+  # one in which the conffile was obsoleted.
+
+  local conffile current_checksum
+
+  # validate arguments
+  if [ $# -lt 2 ]; then
+    usage_error "remove_conffile_prepare() called with wrong number of" \
+                "arguments; expected at least 2, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  conffile="$1"
+  shift
+
+  # does the conffile even exist?
+  if [ -e "$conffile" ]; then
+    # calculate its checksum
+    current_checksum=$(md5sum < "$conffile" | sed 's/[[:space:]].*//')
+    # compare it to each supplied checksum
+    while [ -n "$1" ]; do
+      if [ "$current_checksum" = "$1" ]; then
+        # we found a match; move the confffile and stop looking
+        observe "preparing obsolete conffile $conffile for removal"
+        mv "$conffile" "$conffile.$THIS_PACKAGE-tmp"
+        break
+      fi
+      shift
+    done
+  fi
+}
+
+remove_conffile_lookup () {
+  # syntax: remove_conffile_lookup package filename
+  #
+  # Lookup the md5sum of a conffile in dpkg's database, and prepare for removal
+  # if it matches the actual file's md5sum.
+  #
+  # Call this function when you would call remove_conffile_prepare but only
+  # want to check against dpkg's status database instead of known checksums.
+
+  local package conffile old_md5sum
+
+  # validate arguments
+  if [ $# -ne 2 ]; then
+    usage_error "remove_conffile_lookup() called with wrong number of" \
+                "arguments; expected 1, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  package="$1"
+  conffile="$2"
+
+  if ! [ -e "$conffile" ]; then
+    return
+  fi
+  old_md5sum="$(dpkg-query -W -f='${Conffiles}' "$package" | \
+    awk '{ if (match($0, "^ '"$conffile"' ")) print $2}')"
+  if [ -n "$old_md5sum" ]; then
+    remove_conffile_prepare "$conffile" "$old_md5sum"
+  fi
+}
+
+remove_conffile_commit () {
+  # syntax: remove_conffile_commit filename
+  #
+  # Complete the removal of a conffile "filename" that has become obsolete.
+  #
+  # Call this function from a postinst script after having used
+  # remove_conffile_prepare() in the preinst.
+
+  local conffile
+
+  # validate arguments
+  if [ $# -ne 1 ]; then
+    usage_error "remove_conffile_commit() called with wrong number of" \
+                "arguments; expected 1, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  conffile="$1"
+
+  # if the temporary file created by remove_conffile_prepare() exists, remove it
+  if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then
+    observe "committing removal of obsolete conffile $conffile"
+    rm "$conffile.$THIS_PACKAGE-tmp"
+  fi
+}
+
+remove_conffile_rollback () {
+  # syntax: remove_conffile_rollback filename
+  #
+  # Roll back the removal of a conffile "filename".
+  #
+  # Call this function from a postrm script in the event $1 is "abort-upgrade"
+  # or "abort-install" is  after having used remove_conffile_prepare() in the
+  # preinst.
+
+  local conffile
+
+  # validate arguments
+  if [ $# -ne 1 ]; then
+    usage_error "remove_conffile_rollback() called with wrong number of" \
+                "arguments; expected 1, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  conffile="$1"
+
+  # if the temporary file created by remove_conffile_prepare() exists, move it
+  # back
+  if [ -e "$conffile.$THIS_PACKAGE-tmp" ]; then
+    observe "rolling back removal of obsolete conffile $conffile"
+    mv "$conffile.$THIS_PACKAGE-tmp" "$conffile"
+  fi
+}
+
+replace_conffile_with_symlink_prepare () {
+  # syntax: replace_conffile_with_symlink_prepare oldfilename newfilename \
+  # official_md5sum ...
+  #
+  # Check a conffile "oldfilename" against a list of canonical MD5 checksums.
+  # If the file's current MD5 checksum matches one of the "official_md5sum"
+  # operands provided, then prepare the conffile for removal from the system.
+  # We defer actual deletion until the package is configured so that we can
+  # roll this operation back if package installation fails. Otherwise copy it
+  # to newfilename and let dpkg handle it through conffiles mechanism.
+  #
+  # Call this function from a preinst script in the event $1 is "upgrade" or
+  # "install" and verify $2 to ensure the package is being upgraded from a
+  # version (or installed over a version removed-but-not-purged) prior to the
+  # one in which the conffile was obsoleted.
+
+  local conffile current_checksum
+
+  # validate arguments
+  if [ $# -lt 3 ]; then
+    usage_error "replace_conffile_with_symlink_prepare() called with wrong" \
+                " number of arguments; expected at least 3, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  oldconffile="$1"
+  shift
+  newconffile="$1"
+  shift
+
+  remove_conffile_prepare "$_oldconffile" "$@"
+  # If $oldconffile still exists, then md5sums didn't match.
+  # Copy it to new one.
+  if [ -f "$oldconffile" ]; then
+    cp "$oldconffile" "$newconffile"
+  fi
+
+}
+
+replace_conffile_with_symlink_commit () {
+  # syntax: replace_conffile_with_symlink_commit oldfilename
+  #
+  # Complete the removal of a conffile "oldfilename" that has been
+  # replaced by a symlink.
+  #
+  # Call this function from a postinst script after having used
+  # replace_conffile_with_symlink_prepare() in the preinst.
+
+  local conffile
+
+  # validate arguments
+  if [ $# -ne 1 ]; then
+    usage_error "replace_conffile_with_symlink_commit() called with wrong" \
+                "number of arguments; expected 1, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  conffile="$1"
+
+  remove_conffile_commit "$conffile"
+}
+
+replace_conffile_with_symlink_rollback () {
+  # syntax: replace_conffile_with_symlink_rollback oldfilename newfilename
+  #
+  # Roll back the replacing of a conffile "oldfilename" with symlink to
+  # "newfilename".
+  #
+  # Call this function from a postrm script in the event $1 is "abort-upgrade"
+  # or "abort-install" and verify $2 to ensure the package failed to upgrade
+  # from a version (or install over a version removed-but-not-purged) prior
+  # to the one in which the conffile was obsoleted.
+  # You should have  used replace_conffile_with_symlink_prepare() in the
+  # preinst.
+
+  local conffile
+
+  # validate arguments
+  if [ $# -ne 2 ]; then
+    usage_error "replace_conffile_with_symlink_rollback() called with wrong" \
+                "number of arguments; expected 2, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  oldconffile="$1"
+  newconffile="$2"
+
+  remove_conffile_rollback "$_oldconffile"
+  if [ -f "$newconffile" ]; then
+    rm "$newconffile"
+  fi
+}
+
+run () {
+  # syntax: run command [ argument ... ]
+  #
+  # Run specified command with optional arguments and report its exit status.
+  # Useful for commands whose exit status may be nonzero, but still acceptable,
+  # or commands whose failure is not fatal to us.
+  #
+  # NOTE: Do *not* use this function with db_get or db_metaget commands; in
+  # those cases the return value of the debconf command *must* be checked
+  # before the string returned by debconf is used for anything.
+
+  local retval
+
+  # validate arguments
+  if [ $# -lt 1 ]; then
+    usage_error "run() called with wrong number of arguments; expected at" \
+                "least 1, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  "$@" || retval=$?
+
+  if [ ${retval:-0} -ne 0 ]; then
+    observe "command \"$*\" exited with status $retval"
+  fi
+}
+
+make_symlink_sane () {
+  # syntax: make_symlink_sane symlink target
+  #
+  # Ensure that the symbolic link symlink exists, and points to target.
+  #
+  # If symlink does not exist, create it and point it at target.
+  #
+  # If symlink exists but is not a symbolic link, back it up.
+  #
+  # If symlink exists, is a symbolic link, but points to the wrong location, fix
+  # it.
+  #
+  # If symlink exists, is a symbolic link, and already points to target, do
+  # nothing.
+  #
+  # This function wouldn't be needed if ln had an -I, --idempotent option.
+
+  # Validate arguments.
+  if [ $# -ne 2 ]; then
+    usage_error "make_symlink_sane() called with wrong number of arguments;" \
+      "expected 2, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  # We could just use the positional parameters as-is, but that makes things
+  # harder to follow.
+  local symlink target
+
+  symlink="$1"
+  target="$2"
+
+  if [ -L "$symlink" ] && [ "$(readlink "$symlink")" = "$target" ]; then
+      observe "link from $symlink to $target already exists"
+  else
+    observe "creating symbolic link from $symlink to $target"
+    mkdir -p "${target%/*}" "${symlink%/*}"
+    ln -s -b -S ".dpkg-old" "$target" "$symlink"
+  fi
+}
+
+migrate_dir_to_symlink () {
+  # syntax: migrate_dir_to_symlink old_location new_location
+  #
+  # Per Debian Policy section 6.5.4, "A directory will never be replaced by a
+  # symbolic link to a directory or vice versa; instead, the existing state
+  # (symlink or not) will be left alone and dpkg will follow the symlink if
+  # there is one."
+  #
+  # We have to do it ourselves.
+  #
+  # This function moves the contents of old_location, a directory, into
+  # new_location, a directory, then makes old_location a symbolic link to
+  # new_location.
+  #
+  # old_location need not exist, but if it does, it must be a directory (or a
+  # symlink to a directory).  If it is not, it is backed up.  If new_location
+  # exists already and is not a directory, it is backed up.
+  #
+  # This function should be called from a package's preinst so that other
+  # packages unpacked after this one --- but before this package's postinst runs
+  # --- are unpacked into new_location even if their payloads contain
+  # old_location filespecs.
+
+  # Validate arguments.
+  if [ $# -ne 2 ]; then
+    usage_error "migrate_dir_to_symlink() called with wrong number of"
+                "arguments; expected 2, got $#"
+    exit $SHELL_LIB_USAGE_ERROR
+  fi
+
+  # We could just use the positional parameters as-is, but that makes things
+  # harder to follow.
+  local new old
+
+  old="$1"
+  new="$2"
+
+  # Is old location a symlink?
+  if [ -L "$old" ]; then
+    # Does it already point to new location?
+    if [ "$(readlink "$old")" = "$new" ]; then
+      # Nothing to do; migration has already been done.
+      observe "migration of $old to $new already done"
+      return 0
+    else
+      # Back it up.
+      warn "backing up symbolic link $old as $old.dpkg-old"
+      mv -b "$old" "$old.dpkg-old"
+    fi
+  fi
+
+  # Does old location exist, but is not a directory?
+  if [ -e "$old" ] && ! [ -d "$old" ]; then
+      # Back it up.
+      warn "backing up non-directory $old as $old.dpkg-old"
+      mv -b "$old" "$old.dpkg-old"
+  fi
+
+  observe "migrating $old to $new"
+
+  # Is new location a symlink?
+  if [ -L "$new" ]; then
+    # Does it point the wrong way, i.e., back to where we're migrating from?
+    if [ "$(readlink "$new")" = "$old" ]; then
+      # Get rid of it.
+      observe "removing symbolic link $new which points to $old"
+      rm "$new"
+    else
+      # Back it up.
+      warn "backing up symbolic link $new as $new.dpkg-old"
+      mv -b "$new" "$new.dpkg-old"
+    fi
+  fi
+
+  # Does new location exist, but is not a directory?
+  if [ -e "$new" ] && ! [ -d "$new" ]; then
+    warn "backing up non-directory $new as $new.dpkg-old"
+    mv -b "$new" "$new.dpkg-old"
+  fi
+
+  # Create new directory if it does not yet exist.
+  if ! [ -e "$new" ]; then
+    observe "creating $new"
+    mkdir -p "$new"
+  fi
+
+  # Copy files in old location to new location.  Back up any filenames that
+  # already exist in the new location with the extension ".dpkg-old".
+  observe "copying files from $old to $new"
+  if ! (cd "$old" && cp -a -b -S ".dpkg-old" . "$new"); then
+    die "error(s) encountered while copying files from $old to $new"
+  fi
+
+  # Remove files at old location.
+  observe "removing $old"
+  rm -r "$old"
+
+  # Create symlink from old location to new location.
+  make_symlink_sane "$old" "$new"
+}
+
+# vim:set ai et sw=2 ts=2 tw=80:
+
+# GOBSTOPPER: The X Strike Force shell library ends here.
