MacBook Pro 10,1 + i915

Marek Vasut marex at denx.de
Wed Jul 3 06:13:17 PDT 2013


Dear Chris Wilson,

> 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.

I tried this, but the i915 didn't detect any panels connected to outputs. I 
think the panel is somehow "disconnected" from the eDP, maybe it's the apple 
GMUX thing interfering.

> 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).

Ok, I think I understand it a little. I will try to fiddle with the kernel a bit 
and see where it gets me.

> -Chris

Thanks a lot!

Best regards,
Marek Vasut


More information about the dri-devel mailing list