March 5th, 2007
Productive day today!
First I finished updating the experimental X server 1.3 / xrandr / modesetting packages in contrib to the RC1 that was released overnight. Updated the tasks package. Then, instigated by Thierry’s comment on bug 28682, I did some work on ldetect-lst. ldetect-lst is the Big List Of Recognised Hardware. First I fixed the ATI definitions for the new version of fglrx, so cards no longer supported by fglrx will use the open source driver by default, and some newer cards that are now supported by fglrx will default to that.
But hey, I was just getting warmed up! I was reminded while poking through this file that our NVIDIA definitions are, well, a bit of mess. During installation or running XFdrake there are about twenty different types of NVIDIA card defined. It’s cluttered. Also, there’s so many, people assume that we actually handle every single type of NVIDIA card differently, worry that they can’t find their exact model of card in the list, so maybe it’s not working right, and start tweaking, and breaking things…
In actual fact there’s exactly six types of NVIDIA cards starting from the year dot. There’s one very old weird card that only works with the ‘vga’ driver. Then there’s the generation through Riva TNT, which isn’t supported by any proprietary driver, only by the open ‘nv’ driver. Then there’s the Riva TNT through GeForce 2 generation, which is supported by ‘nv’ and by the 71xx version of the proprietary driver. Then there’s the GeForce 3 through GeForce 4 generation, which is supported by ‘nv’ and by the 96xx version of the proprietary driver. As an aside there’s the oddball version of the GeForce 3 in the XBox, which needs special handling. And finally, there’s the GeForce FX through ‘present’ generation, which is supported by ‘nv’ and by the 97xx version of the proprietary driver.
That’s all the distinction you need to make between different types of NVIDIA cards. So – I fixed it. I dumped all the various old definitions and refactored them all into these six categories, then dropped a patch in Bugzilla.
But hey, while I was doing that, I noticed there’s actually quite a lot of cards listed in ldetect-lst (which is partly autogenerated from upstream lists provided by the kernel and xorg projects) which have the definition ‘unknown’ – meaning we don’t know what driver to use for them – but which are from the description, manufacturer and PCI ID clearly NVIDIA or ATI graphics cards. So I made another couple of patches to define the correct driver for those cards.
All this stuff taken together, assuming it all gets accepted, will noticeably improve the user experience in XFdrake, and the accuracy of the autodetection of NVIDIA and ATI cards.
So…yay for that.
And, of course, beside that, I did my usual round of the forums and Club support mails…