[Nouveau] Macbook Pro 5, 1 - nouveau works if proprietary drivers are loaded first, then unloaded

Jesse Johnson garand555 at comcast.net
Sat Aug 14 10:13:11 PDT 2010


  Hello,

I have a Macbook Pro 5,1 and decided that I wanted to play around with Hardened 
Gentoo for fun.  I have another Gentoo install on the same machine along side 
Mac OS X (I keep an extra partition free for when I want to play around, and I 
do like to play around.)  I have seen that other people have had problems with 
the MBPs and booting with the nouveau drivers, but Hardened Gentoo really should 
be run without any binary blobs, so the nvidia drivers are out.  The nvidia 
drivers will work with x11's opengl, but there is no 3D acceleration.  That 
means no desktop bling :(  What I have experienced with the nouveau drivers is a 
little different than what I saw while searching bug lists and forums because I 
did things a little different.

On my non-hardened Gentoo install, I decided to get the nouveau drivers working 
there.  I followed the directions for using the git sources on the official 
website, made sure my kernel was configured properly and installed.  Once I had 
the kernel and the drivers built and installed, I rebooted, but without changing 
my xorg.conf to load the nouveau drivers.  It booted up and loaded the nvidia 
drivers when X started, then I went to removing and loading modules, changing 
xorg.conf, etc...  Basically, I wanted to get it working without having to 
reboot every time I changed something.  I never plan on getting something that I 
haven't tried before right the first time.

Once I killed X, removed all modules pertaining to the graphics drivers, changed 
my xorg.conf, then restarted X, the nouveau drivers were loaded and they 
worked.  I played around a bit, seeing what kind of functionality there was (I 
built mesa with the gallium flag enabled) and was pleasantly surprised that 
despite the warnings about how the 3D accel is incomplete and not supported, 
most of it worked with a little tweaking here and there.  Including my desktop 
bling :)

Then the problems started.  I had a working nouveau setup - or so I thought.  
After some proper blacklisting and whatnot to prevent the nvidia proprietary 
drivers from loading, I rebooted to test how the nouveau drivers would load at 
boot time.  It got to the part about populating dev and the screen just went 
black.  This is similar to the problems that others were having.  I had push the 
power button to restart.  Nothing with the display would work.

Then, I started up using a different kernel version that did not have anything 
involving nouveau installed to fix things.  I blacklisted the nouveau drivers in 
the hopes that letting X load the drivers would be different.  No dice.  Same 
black screen and holding down the power button to restart, only later.  I hate 
restarting like that because Linux hates restarting like that.

After some more fiddling around with it, here is the conclusion that I have come to:

If I start X with the nvidia proprietary drivers, then kill the X, unload all 
video drivers, change my xorg.conf to load the nouveau drivers, then start X, 
everything works as it should.  On the other hand, if the first time I try to 
start X, the nouveau drivers are loaded, I get the black screen.  I'm guessing 
that this has something to do with the second GPU in the machine that is not 
enabled in Linux.  I could try to enable it via EFI, but I am not comfortable 
with that because I am not familiar with messing with that stuff and don't even 
know the potential consequences of a mistake.  Besides, that's only a guess.  I 
could also write a script that is executed at startup that automates starting X 
with nvidia's drivers, killing X, unloading modules, switching xorg.conf files, 
etc...

Does anybody have another solution that has been tested and works?  Maybe I just 
suck at google, but I could not find anything that will help.

FYI, the hardened install hangs at the same spot, but there is no black screen.  
It just stops booting and does not log anything.  I have not tried blacklisting 
the drivers on that install yet and letting X load what it needs.  That might 
provide some useful info in the logs.  Nothing useful is logged in the 
non-hardened install, but the hardened install tracks a lot more of what goes on 
with the system.

Jesse




More information about the Nouveau mailing list