47

I installed xbacklight, hoping that it would be able to control my brightness. When trying to change brightness, I was told "No outputs have backlight property". After looking around, I found that this has to do with my computer not having a /sys/class/backlight folder. I know that this is the problem but don't know exactly how to fix it.

Not sure if its needed or not but here some system info from inxi:

System:   Kernel: 3.16.0-57-generic x86_64 (64 bit, gcc: 4.8.2) 
          Desktop: LXDE (Openbox 3.5.2) Distro: Ubuntu 14.04 trusty
Machine:  HP EliteBook 8460p
CPU:      Dual core Intel Core i5-2520M CPU
Graphics: Advanced Micro Devices [AMD/ATI] Seymour [Radeon HD 6400M/7400M Series] 

Does this have to do with drivers (perhaps Intel/AMD graphics drivers)?

tshepang
  • 2,007

7 Answers7

50

Check your /sys/class/backlight folder. If you can see an intel_backlight folder there and still you are getting the above error then creating a /etc/X11/xorg.conf file with the below configuration should work for you. It worked for me.

Section "Device"
    Identifier  "Intel Graphics" 
    Driver      "intel"
    Option      "Backlight"  "intel_backlight"
EndSection

Also, remember to logout and login again for the changes to take effect.

Reference: Backlight - ArchWiki

Kulfy
  • 18,154
vik-y
  • 609
  • 5
  • 4
33

That is completely normal. To find the directory for your backlight settings, do this:

sudo find /sys/ -type f -iname '*brightness*'

The output should give you something like this:

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight/brightness

Now, all you have to do is link it to /sys/class/backlight. To do that:

sudo ln -s /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/intel_backlight  /sys/class/backlight

If you still get the error, then do this:

Create the file xorg.conf:

sudo nano /etc/X11/xorg.conf

And add these lines:

Section "Device"
Identifier  "Card0"
Driver      "intel"
Option      "Backlight"  "NAME OF THE FOLDER"
EndSection

Then, to save the file do: Ctrl + X then Y then Enter.

Also, for the Driver part check for your configuration, i.e., acpi_video0 or intel_backlight.

Raphael
  • 8,135
8

Every step required for xbacklight control

Follow these steps:

  1. $ sudo nano /etc/default/grub and replace the corresponding line with GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
  2. $ sudo update-grub
  3. No joking, make sure that the appropriate drivers are actually installed: $ sudo apt install xbacklight xorg xserver-xorg-video-intel
  4. Issuing $ find /sys -type f -name brightness should yield something like /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness
  5. $ cd /sys/class This directory should contain a soft link called brightness to the brightness device discovered in the previous step. Should it be missing, create it: $ sudo ln -s /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness /sys/class/brightness
  6. $ sudo nano /etc/X11/xorg.conf should read:
Section "Device"
    Identifier      "Device0"
    Driver          "intel"
    Option          "Backlight"      "intel_backlight"
EndSection

Section "Monitor" Identifier "Monitor0" EndSection

Section "Screen" Identifier "Screen0" Monitor "Monitor0" Device "Device0" EndSection

  1. The assignment of the physical XF86MonBrightnessDown and XF86MonBrightnessUp keys is explained here for Xubuntu LTS or XFCE users.
  2. Finally, reboot for these changes to take effect.
Serge Stroobandt
  • 5,719
  • 1
  • 54
  • 59
6

I woudn't recommend that way as it starts the old bad maintained Intel driver instead of the modesetting driver.

I created a script instead of using xbacklight:

#!/bin/sh
val=$(cat /sys/class/backlight/intel_backlight/brightness)
if [ "$1" = "+" ] ; then
  val=`expr $val + 5`
else
  val=`expr $val - 5`
fi
echo $val | sudo tee /sys/class/backlight/intel_backlight/brightness

and added tee to sudoers. That works without side effects caused by the Intel driver.

Arno
  • 485
1

If you want to control external monitor, then a way using xbacklight does not work.

You can use xrandr instead of using it.

E.g.:

xrandr --output HDMI1 --brightness 0.5

(You can get monitor name like 'HDMI1' by xrandr --listmonitors.)

ref:archlinux bbs.

koijigen
  • 11
  • 2
0

I am an Arch Linux user and I encoutered same problem. I can't link driver to /sys/class/backlight because /sys/class/backlight existed as a directory and I can't replace it.

After some research I found Yuri D'Elia / acpilight ยท GitLab. I installed acpilight with pacman and problem solved.

Now I can change brightness of screen with xbacklight +5.

Kulfy
  • 18,154
0

For me, modifying the kernel parameter acpi_backlight to native worked:

cat /boot/loader/entries/arch.conf
  • options root=UUID=... acpi_backlight=vendor rw
  • options root=UUID=... acpi_backlight=native rw