diff -Nur xorg-server-1.12.1.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.12.1/hw/xfree86/common/xf86pciBus.c --- xorg-server-1.12.1.orig/hw/xfree86/common/xf86pciBus.c 2012-03-27 18:50:40.000000000 +0000 +++ xorg-server-1.12.1/hw/xfree86/common/xf86pciBus.c 2012-05-19 16:39:07.000000000 +0000 @@ -1144,7 +1144,22 @@ 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;