xorg-server: Changes to 'debian-unstable'
debian/changelog | 6 ++
debian/patches/15-nouveau.diff | 109 +++++++++++++++++++++++++++++++++++++++++
debian/patches/series | 1
3 files changed, 116 insertions(+)
New commits:
commit 376d4887ef9ae28bd5bb7e2d6d56f992e9dab048
Author: Julien Cristau <jcristau@debian.org>
Date: Fri May 7 17:13:37 2010 +0200
autoconfig: load the nouveau driver for nvidia hw.
Stolen from F13.
diff --git a/debian/changelog b/debian/changelog
index cad2801..0d51ed1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.7.7-2) UNRELEASED; urgency=low
+
+ * autoconfig: load the nouveau driver for nvidia hw. Stolen from F13.
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 07 May 2010 17:03:15 +0200
+
xorg-server (2:1.7.7-1) unstable; urgency=low
[ Timo Aaltonen ]
diff --git a/debian/patches/15-nouveau.diff b/debian/patches/15-nouveau.diff
new file mode 100644
index 0000000..35a1ff9
--- /dev/null
+++ b/debian/patches/15-nouveau.diff
@@ -0,0 +1,109 @@
+From a685b5cf34532cef96fc9b05f735088ac0c0c7ad Mon Sep 17 00:00:00 2001
+From: Fedora X Ninjas <x@fedoraproject.org>
+Date: Tue, 16 Feb 2010 11:38:17 +1000
+Subject: [PATCH 08/17] autoconfig: select nouveau by default for NVIDIA GPUs
+
+Also, don't treat DRI setup failure as an error for nouveau.
+---
+ glx/glxdri.c | 7 +++++--
+ glx/glxdri2.c | 7 +++++--
+ hw/xfree86/common/xf86AutoConfig.c | 19 ++++++++++++++++++-
+ 3 files changed, 28 insertions(+), 5 deletions(-)
+
+diff --git a/glx/glxdri.c b/glx/glxdri.c
+index 21e44d1..30b820c 100644
+--- a/glx/glxdri.c
++++ b/glx/glxdri.c
+@@ -968,6 +968,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+ const __DRIconfig **driConfigs;
+ const __DRIextension **extensions;
+ int i;
++ int from = X_ERROR;
+
+ if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
+ !DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
+@@ -1047,7 +1048,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+
+ screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
+ if (screen->driver == NULL) {
+- LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
++ if (!strcmp(driverName, "nouveau"))
++ from = X_INFO;
++ LogMessage(from, "AIGLX error: dlopen of %s failed (%s)\n",
+ filename, dlerror());
+ goto handle_error;
+ }
+@@ -1184,7 +1187,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+
+ xfree(screen);
+
+- LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n");
++ LogMessage(from, "AIGLX: reverting to software rendering\n");
+
+ return NULL;
+ }
+diff --git a/glx/glxdri2.c b/glx/glxdri2.c
+index 0f998de..a244809 100644
+--- a/glx/glxdri2.c
++++ b/glx/glxdri2.c
+@@ -676,6 +676,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+ const __DRIextension **extensions;
+ const __DRIconfig **driConfigs;
+ int i;
++ int from = X_ERROR;
+
+ screen = xcalloc(1, sizeof *screen);
+ if (screen == NULL)
+@@ -702,7 +703,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+
+ screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
+ if (screen->driver == NULL) {
+- LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
++ if (!strcmp(driverName, "nouveau"))
++ from = X_INFO;
++ LogMessage(from, "AIGLX error: dlopen of %s failed (%s)\n",
+ filename, dlerror());
+ goto handle_error;
+ }
+@@ -793,7 +796,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+
+ xfree(screen);
+
+- LogMessage(X_ERROR, "AIGLX: reverting to software rendering\n");
++ LogMessage(from, "AIGLX: reverting to software rendering\n");
+
+ return NULL;
+ }
+diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
+index 7f4ada8..d964c6c 100644
+--- a/hw/xfree86/common/xf86AutoConfig.c
++++ b/hw/xfree86/common/xf86AutoConfig.c
+@@ -192,7 +192,24 @@ videoPtrToDriverList(struct pci_device *dev,
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
+ case 0x10c8: driverList[0] = "neomagic"; break;
+- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
++ case 0x10de: case 0x12d2:
++ switch (dev->device_id) {
++ /* NV1 */
++ case 0x0008:
++ case 0x0009:
++ driverList[0] = "vesa";
++ break;
++ /* NV3 */
++ case 0x0018:
++ case 0x0019:
++ driverList[0] = "nv";
++ break;
++ default:
++ driverList[0] = "nouveau";
++ driverList[1] = "nv";
++ break;
++ }
++ break;
+ case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x1b36: driverList[0] = "qxl"; break;
+ case 0x1163: driverList[0] = "rendition"; break;
+--
+1.6.5.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 357b9db..d2d315c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,6 +13,7 @@
12-xfree86-dont-complain-about-missing-coredevices.diff
13-unbreak-input-abi.diff
14-tone-down-nidr-errors.diff
+15-nouveau.diff
16-xaa-fbcomposite-fix-negative-size.diff
17-xfree86-saner-conf-search-paths.diff
18-Add-10-evdev.conf.diff
Reply to: