xorg-server:

- add patch to use more accurate nvidia driver autoloader
This commit is contained in:
Stephan Raue 2009-09-28 14:32:49 +02:00
parent 03e30a4a07
commit 7bb0d3271c

View File

@ -1,12 +1,39 @@
diff -Naur a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
--- a/hw/xfree86/common/xf86AutoConfig.c 2009-09-04 13:53:31.000000000 +0200
+++ b/hw/xfree86/common/xf86AutoConfig.c 2009-09-04 05:15:54.000000000 +0200
@@ -192,7 +192,7 @@
diff -Naur xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86AutoConfig.c xorg-server-1.6.99.902/hw/xfree86/common/xf86AutoConfig.c
--- xorg-server-1.6.99.902.orig/hw/xfree86/common/xf86AutoConfig.c 2009-09-26 14:12:03.000000000 +0200
+++ xorg-server-1.6.99.902/hw/xfree86/common/xf86AutoConfig.c 2009-09-26 14:14:04.000000000 +0200
@@ -192,7 +192,34 @@
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: driverList[0] = "nvidia"; driverList[1] = "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] = "nvidia";
+ driverList[1] = "vesa";
+ break;
+ default:
+ driverList[0] = "nvidia";
+ driverList[1] = "nouveau";
+ driverList[2] = "nv";
+ break;
+ }
+ break;
+ }
case 0x1106: driverList[0] = "openchrome"; break;
case 0x1163: driverList[0] = "rendition"; break;
case 0x5333: