f20, anaconda, net install and video out of range ....

Adam Williamson awilliam at redhat.com
Fri Feb 7 02:44:50 UTC 2014


On Mon, 2014-02-03 at 14:28 -0500, Adam Jackson wrote:

> > Why would it not install xorg-x11-drv-cirrus when it sees the physical
> > card?
> 
> We don't have anything like the kernel's modaliases for X drivers, at
> least not exposed in a way anaconda could use.

Of course, it's possible to do this. "all" you need is some poor sap to
maintain something like this:

http://svnweb.mageia.org/soft/ldetect-lst/trunk/lst/pcitable?view=markup

I was that poor sap, for a year or two. It was not an enjoyable
experience. Yes, I know pciids exists: it's a useful resource if you're
the poor sap who has to maintain a list like that, but it doesn't solve
everything (it doesn't do the actual driver mapping, for a start).

What X does is dumb, and very simple: it basically looks at the
manufacturer ID and picks a driver based on that. If you've got a Cirrus
card, you're getting cirrus. If you've got an ATI card, you're getting
'ati'. If you've got an NVIDIA card, you're getting nouveau. I think it
has a very few quirks and exceptions, but really not many. Even if we
'exposed' X's autodetection stuff, it wouldn't be doing a whole lot of
device-by-device distinctions.

If some poor sap is willing to spend literally dozens of hours a release
painstakingly hand-weeding something like M*a's ldetect-lst you can get
some minor benefits, like doing this kind of distinction where we want
to load the native driver for a real card but not qemu's emulated
cirrus. Or blacklist cards known not to currently work with their native
driver. Or load the correct generation of proprietary driver, if your
distribution cares about proprietary drivers. (Or combine the above,
like THIS nvidia card needs THIS proprietary driver, THIS one doesn't
work right with the proprietary driver so we should use nouveau, and
THIS one doesn't work with anything so let's load the fallback driver.)

But it's incredibly dull work and the benefit really isn't that _huge_.
I feel like my time is probably more productively spent, overall, doing
other things.

Of course, we're 'just' talking about one case, but once you start
building this kind of manual device/driver table, it tends to take on a
mind of its own and start multiplying. I'm rather attached to the policy
of Just Saying No.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net



More information about the devel mailing list