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 <jcris...@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 <jcris...@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 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1oapg9-0001or...@alioth.debian.org