Re: apple_gmux: switcheroo not working on a 2013 MBP

From: Andreas Heider
Date: Mon Jan 06 2014 - 16:45:02 EST

Hi Ram,

Am 06.01.2014 um 22:09 schrieb Ramkumar Ramachandra <artagnon@xxxxxxxxx>:

> Hi Andreas,
> Andreas Heider wrote:
>> that means that something is still using the GPU, try DIGD or alternatively
>> shutting down your X-server before switching.
> When I try DIGD, I get:
> vga_switcheroo: setting delayed switch to client 0
> Then, when I shut down X, I get a blank screen.

That sounds like it works, maybe try it with an external monitor attached.
> When I try IGN after shutting down X, I get the same message:
> vga_switcheroo: client 1 refused switch

Well, then something else is still using the GPU (or the audio device? But I think in that case the client id would be 101 or so).

>> I think there are still some EDID issues because
>> never got merged, so even after shutting
>> down X you might get a black screen, but it should hopefully work with
>> external displays.
> The series is really old! Why is gmux in such a shabby state today,
> and more importantly: how do I get started hacking on it?
> Thanks.
> Ram

Well it is in this state for to the usual reasons.

But it’s great that you want to work on it! The gmux driver itself should already work fine, the reason for the black screen is that the i915 driver doesn’t handle the switch and after the switch still thinks it doesn’t have any monitors connected to it.

So a good way forward would be to first port the old patch series to the current kernel. The mode setting code in i915 has changed quite a bit, so this might take some effort. The original patch series did work on my MBP 6,2 about one and a half years ago so it should already be enough to get your hardware working.

Then, to really fix it, address the issues noted by Matthew and try to get the patches finally accepted.

I’m not familiar with the new mode setting code in i915 (or rather with i915 at all) so I can’t help you that much, but I’d be happy to test anything you come up with.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at