On 08/01/2013 04:12 PM, Borislav Petkov wrote:
On Thu, Aug 01, 2013 at 09:13:35AM +0800, Aaron Lu wrote:
Can you please run acpi_listen and then press the Fn-Fx key, see if the events are correctly sent out?
Like this?
# acpi_listen video/brightnessdown BRTDN 00000087 00000000 video/brightnessup BRTUP 00000086 00000000 video/brightnessdown BRTDN 00000087 00000000 video/brightnessup BRTUP 00000086 00000000 video/brightnessdown BRTDN 00000087 00000000 video/brightnessup BRTUP 00000086 00000000 video/brightnessdown BRTDN 00000087 00000000 video/brightnessup BRTUP 00000086 00000000 video/brightnessdown BRTDN 00000087 00000000 ^C
Yes, so the event is correctly sent out.
From the bug page: https://bugzilla.kernel.org/show_bug.cgi?id=51231#c80 I got the impression that both the acpi_video interface and the vendor interface thinkpad_screen are broken. So adding this cmdline here works suggests that either thinkpad_screen works or thinkpad vendor driver doesn't get loaded or doesn't create that interface for some reason.
Alternatively, if the intel_backlight interface works(highly possible), you can use xorg.conf to specify the that backlight interface for X.
Section "Device" Option "Backlight" "intel_backlight" Identifier "Card0" Driver "intel" BusID "PCI:0:2:0" EndSection
Yeah, that didn't work *but* manually writing to both:
/sys/class/backlight/acpi_video0/brightness
and
/sys/class/backlight/intel_backlight/brightness
works.
Err...we have the event sent out on hotkey press and the interface also works, but still, using hotkey to adjust brightness level is broken...
I just found an old acer laptop that has similar issue(or even worse: on X starts, an almost black screen is shown and hotkey adjust doesn't work), I'll look into this.
The ranges are different, though:
intel_backlight/actual_brightness:1000 intel_backlight/bl_power:0 intel_backlight/brightness:1000 intel_backlight/max_brightness:4437 intel_backlight/type:raw
acpi_video0/actual_brightness:41 acpi_video0/bl_power:0 acpi_video0/brightness:41 acpi_video0/max_brightness:100 acpi_video0/type:firmware
Yes, different interface has different brightness ranges and a value in one range may turn out to be the same actual brightness level of another value in another range.
I guess I need to write me a dirty script for now ... :-)
:-)
Thanks guys.
Thanks, Aaron