diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c --- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c 2012-02-10 10:10:37.583014924 +0000 +++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c 2012-02-10 11:16:07.148971317 +0000 @@ -1111,7 +1111,23 @@ { int idx = 0; #ifdef __linux__ - driverList[idx++] = "nouveau"; + switch (dev->device_id) + { + /* NV1 */ + case 0x0008: + case 0x0009: + driverList[idx++] = "vesa"; + break; + /* NV3 */ + case 0x0018: + case 0x0019: + driverList[idx++] = "nouveau"; + break; + default: + driverList[idx++] = "nouveau"; + driverList[idx++] = "nvidia"; + break; + } #endif driverList[idx++] = "nv"; break;