You are not logged in.

#1 2015-02-03 12:47:05

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

/sys/class/backlight works, xbacklight not

Hi,

on my laptop (Lenovo Z50-75), I can set the backlight brightness via /sys/class/backlight/radeon_bl0/brightness, but xbacklight says "No outputs have backlight property".

The hardware:
A dual-graphics setup with the AMD FX7500 CPU with respective GPU and AMD Radeon R7 M255.

Driver: open source radeon driver.

xrandr --props|grep -i backl

gives no output

How can I make X find and use the backlight setting?

Last edited by ConnyOnny (2015-02-04 09:49:51)

Offline

#2 2015-02-03 13:01:15

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: /sys/class/backlight works, xbacklight not

ConnyOnny wrote:

How can I make X find and use the backlight setting?

I don't think you can.

You could try using the proprietary driver instead:
https://aur.archlinux.org/packages/catalyst/

On my AMD laptop, the backlight keys work (with the non-proprietary driver) if xfce4-power-manager is running; I'm not at all sure why...

Offline

#3 2015-02-03 13:22:38

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

Head_on_a_Stick wrote:

I don't think you can.

You could try using the proprietary driver instead

I don't intend to give up so easily.

I get events with acpi_listen:

$ acpi_listen
video/brightnessup BRTUP 00000086 00000000
video/brightnessdown BRTDN 00000087 00000000

and I CAN set the backlight brightness via the /sys/class/backlight files. So there IS a solution to control my backlight, even with the keys, i.e. as described in this post: https://bbs.archlinux.org/viewtopic.php … 3#p1449243

My problem is, that some scripts I like use xbacklight for backlight control and I'd like to be able to use that.

My last resort solution would be programming an xbacklight replacement, which doesn't use the X infrastructure but directly sets the brightness as described above.

EDIT: But I would really prefer a clean solution, where X knows what's going on.

Last edited by ConnyOnny (2015-02-03 13:23:38)

Offline

#4 2015-02-03 13:35:56

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: /sys/class/backlight works, xbacklight not

My Intel laptop had no support for `xbacklight` until kernel 3.16 so I think it must be related to kernel support.

Have you tried the various kernel parameters?
https://wiki.archlinux.org/index.php/Ba … ne_options

Offline

#5 2015-02-03 14:28:34

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

Head_on_a_Stick wrote:

Have you tried the various kernel parameters?
https://wiki.archlinux.org/index.php/Ba … ne_options

I thought these didn't apply because I can set the backlight via /sys/class... and there is no /sys/class/backlight/acpi backlight dummy controller created.

However I now tested the kernel parameters and it changed nothing.

Offline

#6 2015-02-03 15:39:08

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

ConnyOnny wrote:

I CAN set the backlight brightness via the /sys/class/backlight files. So there IS a solution to control my backlight, even with the keys, i.e. as described in this post: https://bbs.archlinux.org/viewtopic.php … 3#p1449243

It's set up now like this and works. I am still not happy because xbacklight still doesn't work. Can I mark a thread as "somewhat solved"? big_smile

Offline

#7 2015-02-03 15:46:19

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,732
Website

Re: /sys/class/backlight works, xbacklight not

Not really, you wanted to use `xbacklight` tongue

Maybe a kernel upgrade will allow this option in the future -- if so you can mark it "[SOLVED]" then.

Offline

#8 2015-02-03 22:09:21

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

I'm sorry, but I really don't understand what the kernel has to do with it. I mean the kernel provides an interface to control the backlight (via /sys/class/backlight). Why does X backlight control not just use that? Why does X not use the available way to control the backlight? Furthermore, how does X normally control the backlight? Why does it bypass kernel infrastructure anyways? I'd really like to look at the X source code for backlight control, but I'm afraid of looking at the X source code. hmm

Offline

#9 2015-02-03 23:50:43

teateawhy
Member
From: GER
Registered: 2012-03-05
Posts: 1,138
Website

Re: /sys/class/backlight works, xbacklight not

This post might be superfluous, given that you have already read the wiki page about backlight. In the chance that you have not tried it yet:

wiki wrote:

All methods are exposed to the user through /sys/class/backlight and xrandr/xbacklight can choose one method to control brightness. It is still not very clear which one xbacklight prefers by default.
Note: See FS#27677 for xbacklight, if you get "No outputs have backlight property." There is a temporary fix if xrandr/xbacklight does not choose the right directory in /sys/class/backlight: You can specify the one you want in xorg.conf by setting the "Backlight" option of the Device section to the name of that directory (see https://bugs.debian.org/cgi-bin/bugrepo … bug=651741 at the bottom of the page for details).

So maybe try setting the directory '/sys/class/backlight/radeon_bl0/brightness' in xorg.conf ?

Offline

#10 2015-02-04 09:48:53

Raynman
Member
Registered: 2011-10-22
Posts: 1,539

Re: /sys/class/backlight works, xbacklight not

The wiki page is incorrect (and pretty messy). Last time I checked (the source), xbacklight only uses the RandR backlight property (two versions with different capitalization IIRC) and the radeon developers didn't want to support that (there's a bug report somewhere). And AFAIK the "Backlight" option that you can set in xorg.conf is a custom option invented for the intel driver (to control which device is exposed through the RandR interface), but it is of course possible that others decide to use it too.

Offline

#11 2015-02-04 09:57:53

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

I've now tried many different device sections. I kind of guessed the pci ids from this output.

$ lspci | grep ATI
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri [Radeon R6/R7 Graphics]
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Jet PRO [Radeon R5 M230] (rev ff)

This one worked (i.e. let me still start X)

Section "Device"
        Identifier "card0"
        Option "Backlight" "radeon_bl0"
        Driver "ati"
        BusID "PCI:0:1:0"
EndSection

However in the Xorg log it says:

[  4841.776] (WW) RADEON(G0): Option "Backlight" is not used
[  4841.951] (WW) RADEON(0): Option "Backlight" is not used

This makes sense under the assumption, that the "Backlight" option is an intel driver thing.

When I use BusID "PCI:1:0:0", X can't find any screens.

However I maybe found some other interesting thing:

]$ systemctl list-units | grep -i backl
● systemd-backlight@backlight:acpi_video0.service                                          loaded failed failed    Load/Save Screen Backlight Brightness of backlight:acpi_video0
● systemd-backlight@backlight:acpi_video1.service                                          loaded failed failed    Load/Save Screen Backlight Brightness of backlight:acpi_video1
  systemd-backlight@backlight:radeon_bl0.service                                           loaded active exited    Load/Save Screen Backlight Brightness of backlight:radeon_bl0
  system-systemd\x2dbacklight.slice                                                        loaded active active    system-systemd\x2dbacklight.slice

Offline

#12 2015-02-04 10:20:07

ConnyOnny
Member
Registered: 2015-02-03
Posts: 7

Re: /sys/class/backlight works, xbacklight not

Is it true, that the xf86-video-ati devs see xbacklight as a deprecated method for setting the backlight? How are DEs supposed to set it? Via /sys/class/backlight?

If this is the case, I'll just have to update my scripts to use the NewMethod™, whatever it is.

Offline

Board footer

Powered by FluxBB