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)?


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:


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"

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.

  • 3
    What if there is already a folder on that path? How do I undo such a replacing ln -s if it breaks brightness (by now it's at least controllable from keyboard)? I've tried creating xorg.conf, added both intel_backlight and the long absolute path to the folder. But it didn't work. So should I: 1. Try ln -s cuz it's harmless 2. Try some other driver name (btw how do I know it otherwise part of the path?), or 3. Use not the path but the name of the folder (it would be same to Driver field so that's why I'm asking)?
    – mekkanizer
    Apr 27 '16 at 1:01
  • 14
    In my computer if I open the file /sys/class/backlight/intel_backlight/brightness, I will see an integer value inside it. Just changed the value and saved, my screen immediatelly got the correct brightness. But if I try to use the ln command proposed, I dont have exactly the same folder, and if I try to do this with my intel_backlight folder, I get the error: ln: failed to create symbolic link '/sys/class/backlight/brightness': Operation not permitted Oct 22 '16 at 15:25
  • 1
    @user9589 This sounds like a permission issue. You did execute the ln command as root, didn't you? And I think you were supposed to link the folder, not the brightness file inside that folder. Anyway, the solution didn't work for me, but I already had a /sys/class/backlight folder.
    – Nobody
    Nov 6 '16 at 14:08
  • 5
    One reason for "operation not permitted" may be that the file name contains characters that should be escaped. That was the case for me. May 6 '17 at 16:03
  • 2
    @YanKingYin How did you do that exactly?
    – Mephisto
    Jan 27 '18 at 7:02

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"

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

Reference: Backlight - ArchWiki

  • 6
    This answer is the most straightforward for intel_backlight users. Oct 1 '18 at 20:57
  • 1
    logout and login didn't work for me, i had to reboot May 17 '20 at 11:17
  • Had to reboot too. This made xbacklight work but broke my brightness function keys in the process. For some reason xfce needed me to toggle a switch after that change: wiki.archlinux.org/index.php/…
    – gallais
    Jul 1 '20 at 16:03
  • For some reason, this totally breaks hardware acceleration on a secondary monitor, had to revert Dec 14 '20 at 8:55

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"

Section "Monitor"
    Identifier      "Monitor0"

Section "Screen"
    Identifier      "Screen0"
    Monitor         "Monitor0"
    Device          "Device0"
  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.
  • 1
    For step 5 I keep getting ln: failed to create symbolic link '/sys/class/brightness': Operation not permitted May 18 at 9:02

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:

val=$(cat /sys/class/backlight/intel_backlight/brightness)
if [ "$1" = "+" ] ; then
  val=`expr $val + 5`
  val=`expr $val - 5`
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.

  • does it harm, or have any side effects to run sudo chmod a+rwx /sys/class/backlight/intel_backlight/brightness and use your script with 'tee' instead of 'sudo tee'
    – mbkfa93
    Sep 19 '20 at 23:32

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.