Bug 75085

Summary: Backlight does not increase to maximum on Lenovo Yoga 2 Pro
Product: xorg Reporter: nico-freedesktop.org
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED NOTOURBUG QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.0.log none

Description nico-freedesktop.org 2014-02-17 10:28:23 UTC
On the Lenovo Yoga 2 Pro, increasing the brightness to 100% using xbacklight, does not increase it to the maximum (duh!).

How to reproduce:

# Find out maximal brightness
% cat /sys/class/backlight/intel_backlight/max_brightness 
937


# Go to non 100%
% xbacklight -set 50
% cat /sys/class/backlight/intel_backlight/brightness 
381


# Go to 100%
% xbacklight -set 100
% cat /sys/class/backlight/intel_backlight/brightness 
765

# Increasing the brightness via sysfs actually increases the brightness even more
% echo 937 > /sys/class/backlight/intel_backlight/brightness


Software/Hardware:

[11:26] artist:~% pacman -Q | grep -i -e xorg-server  -e intel 
intel-dri 10.0.3-1
xf86-video-intel 2.99.910-1
xorg-server 1.15.0-5
xorg-server-common 1.15.0-5
xorg-server-devel 1.15.0-5
xorg-server-xnest 1.15.0-5
[11:26] artist:~% 

[11:26] artist:~% uname -a
Linux artist 3.12.9-2-ARCH #1 SMP PREEMPT Fri Jan 31 10:22:54 CET 2014 x86_64 GNU/Linux


[11:21] artist:~% lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)

[11:27] artist:~% lspci -n | grep 00:02.0
00:02.0 0300: 8086:0a16 (rev 09)
[11:27] artist:~% 

CPU: Intel(R) Core(TM) i7-4500U
Comment 1 Chris Wilson 2014-02-17 16:47:41 UTC
Check Xorg.0.log, it is probably using the acpi backlight interface instead. How that maps to the raw value is defined by your firmware (and in some extreme cases, the raw interface does not control the backlight at all).
Comment 2 nico-freedesktop.org 2014-02-17 17:54:20 UTC
Created attachment 94220 [details]
xorg.0.log
Comment 3 nico-freedesktop.org 2014-02-17 17:55:20 UTC
It seems you are right:

[    18.869] (--) intel(0): found backlight control interface acpi_video0 (type 'firmware')


Though I am wondering what it referes to by "firmware".

So are we talking more about a kernel or xorg bug here?
Comment 4 Chris Wilson 2014-02-17 18:25:05 UTC
Neither, just a misfeature in your ACPI firmware. The prevailing opinion is that the ACPI for all machines released in the last couple of years have a buggy backlight controller, and the kernel is striving to identify those broken interfaces and disable them.
Comment 5 Chris Wilson 2014-02-20 09:32:03 UTC
A couple of temporary solutions:

Option "Backlight" "intel_backlight" (in xorg.conf)

video.use_native_backlight=1 (on kernel commandline - not certain about this one)

At any rate, that the ACPI firmware fails to set the maximum brightness is an issue in Lenovo's implementation.
Comment 6 Jani Nikula 2014-02-24 12:57:24 UTC
(In reply to comment #5)
> At any rate, that the ACPI firmware fails to set the maximum brightness is
> an issue in Lenovo's implementation.

It's debatable whether ACPI firmware is wrong in limiting the brightness (both the maximum and the minimum non-off brightness), or our native backlight interface is wrong in *not* limiting the brightness according to the ACPI opregion.

Some backlights might not like having 100% duty cycle, they might exhibit non-linear increase in power consumption, might have an impact on the longevity of the backlight, etc.
Comment 7 Daniel Vetter 2014-03-03 10:08:40 UTC
To move this forward you need to file a new bug report on bugzilla.kernel.org against the acpi video/backlight driver.
Comment 8 nico-freedesktop.org 2014-03-19 17:55:38 UTC
Created bug report at kernel.org; Reference: 

https://bugzilla.kernel.org/show_bug.cgi?id=72491

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.