Re: Backlight control does not work on an Apple dual-GPU (intel/nvidia) system using nouveau

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sat, Feb 13, 2016 at 10:00:31PM +0100, Gaele Strootman wrote:
> [1.]
> Backlight control does not work on an Apple dual-GPU (intel/nvidia)
> system using nouveau.
> 
> [2.]
> This is a regression that first appeared in v4.1:
> The backlight control (keys F1 and F2) does not work on an Apple
> dual-GPU (MacBookPro11,3) system using nouveau.
> It does work while using the proprietary Nvidia driver.
> 
> 4eebd5a4e72697aac25a8a57d3f888a9d5f80370 is the first bad commit

This is a known issue, see https://bugzilla.kernel.org/show_bug.cgi?id=105051

Executive summary:

On dual GPU MacBook Pros, brightness is controlled by gmux.
It is changed by writing to gmux' I/O port range, 0x700 - 0x7FF.
gmux is located on the LPC bus, i.e. behind the southbridge.

For communication with gmux to work, the above-mentioned I/O port
range needs to be routed to bus 00, where the LPC bus bridge is
located. Incidentally the integrated GPU is also located on that
same bus, whereas the discrete GPU is on a different bus. (It is
directly connected to the PCI Root Complex in the CPU.)

IIUC the proprietary Nvidia driver locks gmux' I/O range to the
discrete GPU, causing it to be routed to the wrong bus. Bruno Prémont
sought to fix this with 86fd887b7fe3 ("vgaarb: Don't default
exclusively to first video device with mem+io") and 4eebd5a4e726
("apple-gmux: lock iGP IO to protect from vgaarb changes").

On MacBookPro11,3 and newer, the integrated GPU is invisible unless
a patch is used which causes Linux to masquerade as OS X to EFI
(see https://github.com/0xbb/gpu-switch#macbook-pro-113-notes).

Thus Bruno Prémont's patch doesn't work, it cannot lock I/O to the
integrated GPU as it's invisible.

@Bjorn Helgaas: Do you think this masquerade patch would be eligible
for inclusion in the kernel or is this not in your department?
https://www.marc.info/?l=grub-deavel&m=141586614924917&w=2

Thanks,

Lukas
--
To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux