Bug 67031

Summary: Lenovo L530: the brightness is updated only for certain values multiple of 5 (max = 100)
Product: ACPI Reporter: Sébastien Wilmet (sebastien.wilmet)
Component: Power-VideoAssignee: Aaron Lu (aaron.lu)
Status: CLOSED DUPLICATE    
Severity: normal CC: aaron.lu, lenb
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.11.10 Subsystem:
Regression: No Bisected commit-id:
Attachments: Output of acpidump
Output of dmidecode

Description Sébastien Wilmet 2013-12-15 21:55:24 UTC
With my Lenovo L530, the brightness doesn't work well. When I press Fn + F8 or F9 to modify the screen brightness, xfce4-power-manager (or another component) modifies /sys/class/backlight/acpi_video0/brightness, but the brightness changes only for certain values multiple of 5.

# pwd
/sys/class/backlight/acpi_video0
# cat max_brightness 
100
# cat brightness
100
# echo 89 > brightness
It doesn't work. If the brightness is at 100 and I press Fn + F8, the value is 89, and the screen brightness doesn't change.
# echo 80
Now it works. Most multiples of 5 work, but not all. For example 95 doesn't work.

I use Debian testing (up-to-date), with Linux version 3.11.10, and Xfce 4.10.

I think it is a regression in the kernel.
Comment 1 Aaron Lu 2013-12-17 07:33:25 UTC
With Linus' kernel tree v3.13-rcX, please test adding video.use_native_backlight=1 to kernel cmdline and report back, thanks.
Comment 2 Aaron Lu 2013-12-19 06:47:51 UTC
ping
Comment 3 Sébastien Wilmet 2013-12-19 19:22:48 UTC
I've rebooted with an old kernel, the 3.2.46, and the screen brightness is updated correctly, on each press on Fn + F8 or F9. The difference: max_brightness == 15.

Now I'll reboot on the 3.13-rc4.
Comment 4 Sébastien Wilmet 2013-12-19 19:32:19 UTC
On Linux 3.13-rc4 without video.use_native_backlight=1, the bug occurs.
With video.use_native_backlight=1, it works.

# cat /sys/class/backlight/intel_backlight/max_brightness 
4437

We can see in this directory that the brightness value is updated when pressing Fn + F8 or F9.

(the /sys/class/backlight/acpi_video0/ directory doesn't exist)
Comment 5 Aaron Lu 2013-12-20 00:57:00 UTC

*** This bug has been marked as a duplicate of bug 51231 ***
Comment 6 Sébastien Wilmet 2013-12-20 05:39:12 UTC
Note that video.use_native_backlight=1 is required, it doesn't work out-of-the-box. Is it possible to fix that?
Comment 7 Aaron Lu 2013-12-20 06:25:47 UTC
Yes, there is a patch to change the default value of use_native_backlight to 1:
http://marc.info/?l=linux-acpi&m=138620904732143&w=2
Once that is applied, you do not need anything extra.

For now, you can also use a xorg.conf file to tell X driver that the intel_backlight interface should be used instead of acpi_video0:
$ cat /etc/Xorg/Xorg.conf
Section "Device"
        Option     "Backlight"	"intel_backlight"
	Identifier  "Card0"
	Driver      "intel"
	BusID       "PCI:0:2:0"
EndSection
Comment 8 Sébastien Wilmet 2013-12-20 13:30:07 UTC
Okay, thank you for the information.
Comment 9 Aaron Lu 2014-02-17 05:12:34 UTC
Please attach the output of acpidump and dmidecode:
# acpidump > acpidump.txt
# dmidecode > dmi.txt
Comment 10 Sébastien Wilmet 2014-02-17 15:38:49 UTC
Created attachment 126431 [details]
Output of acpidump
Comment 11 Sébastien Wilmet 2014-02-17 15:39:18 UTC
Created attachment 126441 [details]
Output of dmidecode