summaryrefslogtreecommitdiff
blob: 3d144e2dd3b61baabfba0f1e42fbde5ab1aa7422 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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