What is the proper way to address the problem of backlight with two video cards?

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

 



On my laptop Thinkpad T520, I have the following problem: when I suspend it
and then resume back, the backlight brightness always gets reset to the
maximum value, independently of the value I had before suspending it.

I tracked this issue down to the following:

Thinkpad T520 has two video cards: Intel i915 and Nvidia GF119M.

Attributes (as in struct acpi_video_device_attrib) for Intel are: 0x80010400
(LCD, bios_can_detect: 1)

Attributes for Nvidia are: 0x110. So, there's no device_id_scheme bit, and
thus acpi_video_bus_get_one_device() falls back to the legacy ID detection,
and sets it as LCD.

The main problem is that executing _BCM on either of those two cards affects
the laptop's LCD panel in the same way. They appear to the kernel as two
separate cards (and they are indeed).

When I adjust the brightness, only that of Intel card is recorded. But during
the resume, acpi_video_resume() calls acpi_video_device_lcd_set_level() for
both cards, and Nvidia happens to be the second one, so its brightness "wins".

Fwiw, I do not use proprietary nvidia drivers.

At this point I'm unsure of what's the right way to solve that. Since Nvidia
Optimus allows two cards to work simultaneously (for different applications),
it does not make sense to check which card is "active", since both of them can
be active. But, is there some way to check that two video adapters control the
same physical LCD panel? So far I failed to find one: these acpi_video_device-s
don't share anything, e.g. each of them has its own struct
acpi_video_device_brightness and struct backlight_device.

If anyone has some idea, please share.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux