* Tue Jun 23 2009 Ben Skeggs <bskeggs@redhat.com> 1.6.99-5.20090618
- update nouveau autoconfig patch from F11
This commit is contained in:
parent
c6d7281bb5
commit
55028b0bf6
@ -19,7 +19,7 @@
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.6.99
|
||||
Release: 4.%{gitdate}%{?dist}
|
||||
Release: 5.%{gitdate}%{?dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
Group: User Interface/X
|
||||
@ -77,7 +77,7 @@ Patch6011: xserver-1.6.0-less-acpi-brokenness.patch
|
||||
#Patch6014: xserver-1.6.0-selinux-nlfd.patch
|
||||
|
||||
# Make autoconfiguration chose nouveau driver for NVIDIA GPUs
|
||||
Patch6016: xserver-1.5.99.902-nouveau.patch
|
||||
Patch6016: xserver-1.6.1-nouveau.patch
|
||||
|
||||
Patch6022: xserver-1.6.0-primary.patch
|
||||
|
||||
@ -525,6 +525,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jun 23 2009 Ben Skeggs <bskeggs@redhat.com> 1.6.99-5.20090618
|
||||
- update nouveau autoconfig patch from F11
|
||||
|
||||
* Mon Jun 22 2009 Peter Hutterer <peter.hutterer@redhat.com> 1.6.99-4.20090618
|
||||
- move libxf86config.so to devel package, libxf86config.so.* stays in the
|
||||
Xorg package.
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 16590f427347f68f7fbee5492833b3feade00c18 Mon Sep 17 00:00:00 2001
|
||||
From: Fedora X Ninjas <x@fedoraproject.org>
|
||||
Date: Thu, 18 Jun 2009 13:45:57 +1000
|
||||
Subject: [PATCH] autoconfig: select nouveau by default for NVIDIA GPUs
|
||||
|
||||
---
|
||||
hw/xfree86/common/xf86AutoConfig.c | 14 +++++++++++++-
|
||||
1 files changed, 13 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
|
||||
index ada1ca5..abcedde 100644
|
||||
--- a/hw/xfree86/common/xf86AutoConfig.c
|
||||
+++ b/hw/xfree86/common/xf86AutoConfig.c
|
||||
@@ -181,7 +181,19 @@ 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:
|
||||
+ switch (dev->device_id & 0xfff0) {
|
||||
+ /* Non-functional with both nouveau and nv */
|
||||
+ case 0x0840:
|
||||
+ case 0x0860:
|
||||
+ driverList[0] = "vesa";
|
||||
+ break;
|
||||
+ default:
|
||||
+ driverList[0] = "nouveau";
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 0x12d2: driverList[0] = "nv"; break;
|
||||
case 0x1106: driverList[0] = "openchrome"; break;
|
||||
case 0x1163: driverList[0] = "rendition"; break;
|
||||
case 0x5333:
|
||||
--
|
||||
1.6.3.rc1.2.g0164.dirty
|
||||
|
117
xserver-1.6.1-nouveau.patch
Normal file
117
xserver-1.6.1-nouveau.patch
Normal file
@ -0,0 +1,117 @@
|
||||
From b3872657c551d884141196cb098f53d3c01d1d3d Mon Sep 17 00:00:00 2001
|
||||
From: Fedora X Ninjas <x@fedoraproject.org>
|
||||
Date: Tue, 23 Jun 2009 13:52:23 +1000
|
||||
Subject: [PATCH] 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 | 27 ++++++++++++++++++++++++++-
|
||||
3 files changed, 36 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/glx/glxdri.c b/glx/glxdri.c
|
||||
index 5fb75a4..45c79c9 100644
|
||||
--- a/glx/glxdri.c
|
||||
+++ b/glx/glxdri.c
|
||||
@@ -967,6 +967,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
const __DRIconfig **driConfigs;
|
||||
const __DRIextension **extensions;
|
||||
int i;
|
||||
+ int from = X_ERROR;
|
||||
|
||||
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
|
||||
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
|
||||
@@ -1046,7 +1047,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;
|
||||
}
|
||||
@@ -1183,7 +1186,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 529b2df..ff4490b 100644
|
||||
--- a/glx/glxdri2.c
|
||||
+++ b/glx/glxdri2.c
|
||||
@@ -587,6 +587,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
const __DRIextension **extensions;
|
||||
const __DRIconfig **driConfigs;
|
||||
int i;
|
||||
+ int from = X_ERROR;
|
||||
|
||||
screen = xcalloc(1, sizeof *screen);
|
||||
if (screen == NULL)
|
||||
@@ -613,7 +614,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;
|
||||
}
|
||||
@@ -692,7 +695,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 bc4c80b..d8fa80f 100644
|
||||
--- a/hw/xfree86/common/xf86AutoConfig.c
|
||||
+++ b/hw/xfree86/common/xf86AutoConfig.c
|
||||
@@ -180,7 +180,32 @@ 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:
|
||||
+ switch (dev->device_id & 0xfff0) {
|
||||
+ /* Non-functional with both nouveau and nv */
|
||||
+ case 0x0840:
|
||||
+ case 0x0860:
|
||||
+ driverList[0] = "vesa";
|
||||
+ break;
|
||||
+ default:
|
||||
+ driverList[0] = "nouveau";
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ break;
|
||||
case 0x1106: driverList[0] = "openchrome"; break;
|
||||
case 0x1163: driverList[0] = "rendition"; break;
|
||||
case 0x5333:
|
||||
--
|
||||
1.6.2.2
|
||||
|
Loading…
Reference in New Issue
Block a user