30 lines
851 B
Diff
30 lines
851 B
Diff
|
--- hw/xfree86/common/xf86pciBus.c
|
||
|
+++ hw/xfree86/common/xf86pciBus.c
|
||
|
@@ -1123,7 +1123,25 @@ videoPtrToDriverList(struct pci_device *
|
||
|
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";
|
||
|
+ driverList[2] = "nvidia";
|
||
|
+ break;
|
||
|
+ }
|
||
|
+ break;
|
||
|
case 0x1106: driverList[0] = "openchrome"; break;
|
||
|
case 0x1b36: driverList[0] = "qxl"; break;
|
||
|
case 0x1163: driverList[0] = "rendition"; break;
|