Bug 36257

Summary: backlight control not possible through xbacklight, xfce4-power-manager on Lenovo X120e (AMD E-350)
Product: xorg Reporter: gottfried.haider
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED NOTOURBUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: gottfried.haider, mirh
Version: 7.6 (2010.12)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.log
none
dmesg
none
lspci none

Description gottfried.haider 2011-04-15 03:26:28 UTC
Created attachment 45655 [details]
xorg.log

When I trying to set the display brightness through xbacklight, I get:
"No outputs have backlight property"

Similarly, the backlight plugin in xfce4-power-manager says:
"No device found"

I can, however, successfully set the brightness of the LCD panel directly via sysfs:

echo 1 >/sys/class/backlight/acpi_video0/brightness
echo 15 >/sys/class/backlight/acpi_video0/brightness


This is on an up to date xubuntu 11.04 Beta (xserver-xorg 7.6+4ubuntu3, xserver-xorg-video-ati 6.14.0-0ubuntu4, kernel 2.6.39-rc3) on a Lenovo ThinkPad X120e (Radeon HD 6310).
Comment 1 gottfried.haider 2011-04-15 03:26:48 UTC
Created attachment 45656 [details]
dmesg
Comment 2 gottfried.haider 2011-04-15 03:27:55 UTC
Created attachment 45658 [details]
lspci
Comment 3 Alex Deucher 2011-04-15 09:01:00 UTC
The radeon driver has never handled the backlight control.  It's handled by acpi.  xfce should use sysfs.
Comment 4 gottfried.haider 2011-04-15 10:17:54 UTC
Thanks for shining some light on this one.. I somehow assumed that the Xrandr way would be the modern way of doing it, but xfce4-power-manager does include code to manipulate the brightness through sysfs - it's just not compiled in (yet).
Comment 5 Alex Deucher 2011-04-15 10:59:55 UTC
The thing is radeon backlight control is oem specific.  Some use the on-GPU controller, others use a platform specific solution, so acpi is the best option since it covers all the bases.  Things like hybrid laptops get even more complicated (multiple GPUs sharing the same display hw). The kernel backlight interface seems like the right interface since it doesn't depend on X or randr 1.2 support so it covers just about everything (SoCs, non-randr 1.2 hw, systems without X, etc.).
Comment 6 mirh 2019-06-23 15:00:58 UTC
Of course it is very oem specific, and if somebody has the keys to the kingdom, it will have to be the kernel. 

But why can't amd have a "nice abstraction" on top of that like Intel does?
https://lists.freedesktop.org/archives/intel-gfx/2009-August/003795.html

It's not a total cakewalk, but they seem to have some good logic to handle all of those priorities
https://patchwork.kernel.org/patch/3656151/
https://github.com/freedesktop/xorg-xf86-video-intel/commit/268842a47f05508fc7e1c69cd21e8e66a000dcde#diff-2b43a8b27eea45c7840eff73877b4805R177
https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=b24e7581bd1e5a0215cb73ec87093ebf03c20278

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.