NVIDIA / nouveau thread branch [was Re: Fedora 12 QA retrospective - feedback needed]

Adam Williamson awilliam at redhat.com
Fri Dec 11 19:04:46 UTC 2009

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

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

More information about the fedora-test-list mailing list