On 15 November 2010 15:10, Dan Nicholson <[email protected]> wrote: >> This patch selects nouveau by default for NVIDIA GPUs >> Also, don't treat DRI setup failure as an error for nouveau. > > Can you please split this patch in two parts since there are two > completely orthogonal changes? Also, it would be good if the commit > message explained why these changes are necessary. See:
here you are: This patch default to a proper driver for nvidia cards considering that: - nv development is over and it's no more supported by nivdia who "owns" most of its commiters - nouveau offer far more features than nv: EXA, XRender, XV and even 3D, features needed by modern desktop (see http://nouveau.freedesktop.org/wiki/FeatureMatrix) Worse, nv doesn't actually support all cars than xorg claims it supports just look at nv_driver.c::NVIsSupported() In Mandriva, we've our own PCI listing to driver mapping where we regularly have to use something other than nv for nivida card since nv didn't supported them (see eg: https://qa.mandriva.com/show_bug.cgi?id=59178) Sometimes I had to send patches to NVidia's Aaron to get nv to actually recognize some card. See eg https://qa.mandriva.com/show_bug.cgi?id=50398 => https://bzattachment.mandriva.com/attachment.cgi?id=15325 See also http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/ldetect-lst/branches/2010.0/lst/pcitable?revision=267140&view=markup and http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/ldetect-lst/branches/2010.0/lst/Cards%2B?revision=267139&view=markup then look for "NVIDIA cards not working with nv" And that just for the cards we got report about. And we were not the Linux distro with the most users! Since anything older than NV0[345] is not supported by nouveau What this patch does - select "vesa" driver for very old cards - still select "nv" driver for very slighty newer old cards - select "nouveau" driver for anything newer
Orginal patch from Fedora X Ninjas <[email protected]> [PATCH 07/17] autoconfig: select nouveau by default for NVIDIA GPUs This patch default to a proper driver for nvidia cards considering that: - nv development is over and it's no more supported by nivdia who "owns" most of its commiters - nouveau offer far more features than nv: EXA, XRender, XV and even 3D, features needed by modern desktop (see http://nouveau.freedesktop.org/wiki/FeatureMatrix) Worse, nv doesn't actually support all cars than xorg claims it supports just look at nv_driver.c::NVIsSupported() In Mandriva, we've our own PCI listing to driver mapping where we regularly have to use something other than nv for nivida card since nv didn't supported them (see eg: https://qa.mandriva.com/show_bug.cgi?id=59178) Sometimes I had to send patches to NVidia's Aaron to get nv to actually recognize some card. See eg https://qa.mandriva.com/show_bug.cgi?id=50398 => https://bzattachment.mandriva.com/attachment.cgi?id=15325 See also http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/ldetect-lst/branches/2010.0/lst/pcitable?revision=267140&view=markup and http://svn.mandriva.com/cgi-bin/viewvc.cgi/soft/ldetect-lst/branches/2010.0/lst/Cards%2B?revision=267139&view=markup then look for "NVIDIA cards not working with nv" And that just for the cards we got report about. And we were not the Linux distro with the most users! Since anything older than NV0[345] is not supported by nouveau What this patch does - select "vesa" driver for very old cards - still select "nv" driver for very slighty newer old cards - select "nouveau" driver for anything newer diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c index 74016af..9c296f5 100644 --- a/hw/xfree86/common/xf86pciBus.c +++ b/hw/xfree86/common/xf86pciBus.c @@ -1118,7 +1118,23 @@ 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"; + break; + } + break; case 0x1106: driverList[0] = "openchrome"; break; case 0x1b36: driverList[0] = "qxl"; break; case 0x1163: driverList[0] = "rendition"; break; -- 1.7.1
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
