MacBook Pro 10,1 + i915

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 3 05:40:03 PDT 2013


On Wed, Jul 03, 2013 at 01:35:35PM +0200, Marek Vasut wrote:
> Hi Chris,
> 
> > On Mon, Jul 01, 2013 at 10:39:14PM +0200, Marek Vasut wrote:
> > > Hi guys,
> > > 
> > > I recently got the rMBP 10,1 model, it has two graphic cards:
> > > 
> > > 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
> > > processor Graphics Controller (rev 09)
> > > 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT
> > > 650M Mac Edition] (rev a1)
> > > 
> > > I'm running linux 3.10-rc7 . The nvidia works with nouveau, but I'd
> > > prefer to switch the nvidia off altogether and use the intel GPU.
> > > 
> > > So far I arrived at the point where I disabled X11, mounted debugfs and
> > > tried the vgaswitcheroo. With the nvidia still in operation, I see the
> > > console. Unfortunatelly, I end up with a black screen after I run the
> > > following command to switch to the intel GPU:
> > > 
> > > echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
> > > 
> > > If I try to switch back to the nvidia card (using echo DIS > ...), the
> > > screen remains black. This state persists until reboot. I suspect [1] is
> > > the same bug, none of the hints there helped.
> > 
> > It is not that bug. This bug I believe is that no one has figured out
> > how to reprobe the eDP and initialise it after a vgaswitch.
> 
> Do we have any kind of hints into what direction I should dig ? I mean, I went 
> through the i915 source, went through David Airlies' patches [1] , but no 
> success so far.
> 
> (User-unfriendly howto below, I hope this might help someone)
> 
> The interesting part is that if I do the following, the intel card operates 
> correctly:
> 1) power down the mac
> 2) boot into OSX
> 3) install gfxcardstatus 2.2.1
> 4) select Discrete first ; then select Integrated card (a popup must be 
> displayed in both cases in the top right corner indicating the operation 
> succeeded)
> 5) reboot, start Linux
> 
> Now in Linux, I do have nouveau blacklisted and the nvidia blob is NOT installed 
> at all. I
> - modprobe nouveau
> - mount -t debugfs debug /sys/kernel/debug
> - echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
> 
> And I have 16W power consumption, therefore the intel card is in operation and 
> nvidia is probably off. The laptop is still a little hot in linux, but that's 
> OK.
> 
> Yet I'd prefer to avoid the above booting into macos and do all this in Linux. 
> If you could give me any pointers, that'd be really appreciated.

I think you should also be able to accomplish the same if you were to
reload the i915 module after doing the vgaswitch.

A starting point for patches would be for a notifier to run after
vgaswitch, and for i915 to hook into that notification and reprobe
panels (LVDS/eDP).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list