nullplan wrote:
Well, I can tell you that my laptop does implement _BCL and _BCM, and they appear to work at least at a glance.
Consider yourself lucky
Tried 3 laptops and ACPI brightness control works only on 1 out of the 3 under Linux.
I got the only supported one half working before looking at its AML code. _BCM works for some levels, but _BCL always return a fake list of 102 items, values from 0 to 100, many of which don't do anything when given to _BCM.
Can't figure out why, I dumped the tables and found out that the logic inside _BCL is similar to
Code:
if (win8 or later)
return fake list of 102 items levels
else
return real list of supported levels
What's special about Win8? I searched the internet and learned that Windows stopped using ACPI brightness control from Win 8 onwards, which was 10 years ago. Maybe it isn't a surprise that only 1 out of 3 laptops still support an interface that "nobody" is using now.
Thus, the current situation is :
1. You lie to FW, claiming that you are Windows, for AML to work well
2. FW also lie to Windows (fake or real), claiming that it supports 100 levels in its _BCL return value, knowing that Windows doesn't use _BCM
Maybe ACPI brightness control isn't exactly another VBE 3.0 PM interface yet, but it seems to be quickly on its way to become one.
On the other hand, the power button events work much better on laptops that don't support _BCM, do both work on yours?
Octacone wrote:
xeyes wrote:
thus a device specific GPU driver is needed for brightness control in most cases once ACPI is enabled?
Hmm... while writing a Intel HD Graphics driver I've seen a lot of paragraphs about brightness control. It seems straight forward and I think you don't even need ACPI.
Thanks! Good to hear that it might not be too difficult to do this from the GPU side.
Probably not a good idea to start writing graphics driver because a timer interrupt was lost though, so maybe later.