On Fri, 2009-12-11 at 11:05 -0700, Bob Arendt wrote:
On 12/11/09 10:17, Adam Williamson wrote:
> On Fri, 2009-12-11 at 12:00 -0500, Douglas Kilpatrick wrote:
>> Adam Williamson wrote:
>>> Uh? If the nouveau kernel module is loaded, the nvidia kernel module
>>> refuses to load, complaining that another module is in control of the
>>> hardware. I've seen multiple people report this. I haven't seen
anyone
>>> who's got the NVIDIA driver working if the nouveau module is loaded.
>>
>> Me. As per google, add "nouveau.modeset=0 vga=0x318" to the end of
the
>> kernel boot line.
>>
>> $ lsmod | grep '^\(nouveau\|nvidia\)'
>> nvidia 8096992 34
>> nouveau 568932 0
>
> you're a bit late to the party. =) we've since confirmed that the two
> can co-exist in some cases but not others. we're not sure the exact
> intersection of module configuration / hardware setup that determines
> when it works and when it doesn't, though.
>
Though the nouveau module is loaded, nothing's using it (as evidenced
by the 0 in final column). nouveau.modeset=0 keeps the kernel DRM
from touching the hardware via nouveau, likewise the removing rhgb
from the boot line. vga= explicitly uses the bios(?) vga support, again
sidestepping nouveau. When Xorg starts, configured with nvidia, it's
the first driver to access the device (not counting the VGA abstraction).
nouveau may have scanned the bus and knows that it could run, but nothing
has opened the device via nouveau. Coexistence is possible.
I think we'd identified some cases where nouveau.modeset=0 is enough to
make NVIDIA work and others where it isn't. I hadn't considered the vga=
case yet.
There is another factor to consider: there's _two_ stages at boot where
nouveau can get loaded. It can get loaded via dracut as part of the
initramfs, or by udev via modaliases later in boot. If you want to
completely suppress it, you have to pass a dracut kernel parameter to
stop it getting loaded during initramfs ('rdblacklist nouveau') and also
a /etc/modprobe.d file that blacklists it to stop it getting loaded via
modaliases.
I'm a bit lost at the intersection of all these various factors and am
not sure we've hit on a definitive answer to what's the minimum you need
to do to reliably make sure the nvidia module can load and do what it
needs to do...
--
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Fedora Talk: adamwill AT fedoraproject DOT org
http://www.happyassassin.net