34

This morning I found that I cannot change the brightness of my Dell XPs 13 laptop's display anymore. I tried the following to change the brightness

  • Use keyboard brightness keys
  • Run the commands shown below
  • Boot with kernel option acpi_backlight=vendor. This resulted in a dell_something folder being present in the /sys/class/backlight folder. Changing the brightness file in that folder does not help.
  • Add 'intel_backlight' to xorg.conf
  • Set "load legacy option ROM" BIOS option to enabled and "secure boot" to disabled
  • Boot with kernel option i915.disable-pch_pwm=0
  • Boot from a fresh Ubuntu 12.04 USB stick installation. I can still not control the brightness. This is strange as the laptop came preinstalled with 12.04. Maybe this a hardware problem?
  • Install latest intel video driver

Any ideas why this broke suddendly? I've upgraded from 12.04 to 14.04 in April and till yesterday the brightness keys were working fine.

Thanks!

echo 100 > /sys/class/backlight/intel_backlight/brightness
echo 100 > /sys/class/backlight/acpi_video0/brightness
2
  • I used some help from this blog: itsfoss.com/fix-brightness-ubuntu-1310 It worked on a dell. Not able to run it on an acer.Hope it works for you Jun 4, 2014 at 10:58
  • Thanks for your help. I found that article myself but I figured that solve the problem. The changes in the xorg.conf just make the brightness buttons work by echoing the appropriate value in thebrightness file. My problem, however, is that even when I manually changethe value the brightness does not changed.
    – Lespaul86
    Jun 4, 2014 at 13:09

20 Answers 20

32

I got a fix for my dell 5521 laptop, working for Ubuntu 14.04 but will work for kernels v3.13+.

  1. Open /etc/default/grub

    sudo nano /etc/default/grub
    
  2. to change the line

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    to

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=1"
    
  3. then save and exit and

  4. run

    sudo update-grub
    
  5. then reboot

The explanation is that ACPI adds its own back light control even if one is already present which is intel_backlight, adding this line forces CPI to use the Intel back light.

6
  • 3
    I can conform, that this fix my problem in up-to-date Ubuntu 14.04.1 TLS version.
    – Jupeter
    Feb 6, 2015 at 19:21
  • Perfect. worked under ubuntu 16.04 (Dell XPS 13).
    – Nasreddine
    Mar 24, 2016 at 8:01
  • It worked on ubuntu 16.10, too. Thanks!
    – Searene
    Dec 8, 2016 at 23:15
  • Didn't work for me on Ubuntu 16.10. Mar 26, 2017 at 19:32
  • This did the trick on first reboot, but not anymore. The line you suggested is still present on /etc/default/grub. Any idea? Dec 5, 2019 at 20:40
11

For me, solution listed on bug report #1249219.

Basically it works creating the /usr/share/X11/xorg.conf.d/20-intel.conf file with the following lines:

Section "Device"
        Identifier "card0"
        Driver "intel"
        Option "Backlight" "intel_backlight"
        BusID "PCI:0:2:0"
EndSection
3
4

I created a simply script:

touch /usr/bin/brightness

The contents as follows:

#!/bin/bash
echo $1 | sudo tee /sys/class/backlight/intel_backlight/brightness

This allows you to then run the following from the command line:

brightness 100
brightness 4000

The values depend on your max brightness values which you can get by running:

cat /sys/class/backlight/intel_backlight/max_brightness 

Don't forget to make the script executable:

chmod +x /usr/bin/brightness

I opted not to change the permissions of the brightness file and keep the sudo part for security reasons.

3

I have read A LOT of articles

Here is what I did, as I've been struggling with this for a long time...

Creating and modifying /usr/share/X11/xorg.conf.d/20-intel.conf file with the following lines...

Section "Device"
   Identifier "card0"
   Driver "intel"
   Option "Backlight" "intel_backlight"
   BusID "PCI:0:2:0"
EndSection

...didn't work at all

I was using xbacklight option for some time, but it didn't satisfy me, as I knew it must be possible with Linux native way.

I've tried many GRUB options without effect, so I was googling again and again, coming back to solve this issue.

Today I came to the solution, which is following:

  1. You need to kill your display manager, to create new Xorg.conf file (because it runs X server):
    • Press Ctrl+Alt+F1 (Dont panic, while your Window system is runing, you can go back with Ctrl+Alt+F7)
    • typesudo service lightdm stop and press Enter(e.g. gdm, kdm, xdm)
  2. Create new Xorg configuration file
    • type X -configure and press Enter
    • type mv xorg.conf.new /etc/X11/xorg.conf and press Enter
  3. Start X Server (you can do it all without GUI via command line, but I was more comfortable with this aproach):
    • typesudo service lightdm start and press Enter(e.g. gdm, kdm, xdm)
  4. Modify Xorg.conf file
    • navigate to /etc/X11/xorg.conf and open Xorg.conf (in my case latest was xorg.conf.05312015) via leafpad (e.g. gedit, pluma)
    • search for Section "Device" and then for Driver (on my PC it said Driver "intel" by default, but it could be something else, so change it to intel)
    • add line Option "Backlight" "intel_backlight" after Driver "intel" (it doesn't really matter where, as long as it stays in Device Section)
    • save
  5. Modify GRUB

    • sudo gedit /etc/default/grub (e.g. leafpad, pluma...)
    • set to GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=" (acpi_osi= did it for me, other options didn't work...)
    • in terminal type sudo update-grub and press Enter
    • or use GRUB customizer:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer

Grub customizer

  • press Save in upper left corner, which will update GRUB for you

    1. Restart and profit

Funny thing is, that code is exactly the same as in /usr/share/X11/xorg.conf.d/20-intel.conf, but that way it worked as expected!

1
  • Works for me! In a Samsung ATIV Smart PC Pro XE700T1C
    – jics
    Oct 1, 2018 at 1:24
3

This worked for Acer 5830TG in Ubuntu 16.04 LTS

  1. First make sure your system uses Intel Graphics card

    $ ls /sys/class/backlight
    intel_backlight
    

    At least intel_backlight should be mentioned

  2. Now download and install Intel graphics driver and follow instructions.

  3. On the grub configuration file /etc/default/grub modify the following line:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    to

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  4. Then update grub

    sudo update-grub
    
  5. Create and open the file /usr/share/X11/xorg.conf.d/20-intel.conf:

    gksudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf
    
  6. Add the following text:

    Section "Device"
            Driver      "intel"
            Option      "Backlight"  "intel_backlight"
            Identifier "card0"
    EndSection
    
  7. Save and reboot.

1
  • adding of ` acpi_backlight=vendor` was enough (+restart). Ubuntu 18.04. Samsung R510
    – it3xl
    Apr 13, 2019 at 21:11
3
  1. Open Terminal, run gksudo gedit /etc/rc.local

  2. It will ask for password. Type your password.

  3. Then, the text editor will pop up with rc.local file opened. It contains some stuff and in the end exit 0.

  4. Before that exit 0 line, add below commands to reduce brightness in Ubuntu:

    echo x > /sys/class/backlight/intel_backlight/brightness
    echo y | tee /sys/class/backlight/acpi_video?*/brightness # (optional) > /dev/null
    

    where 0 ≤ x ≤ 4882 and 0 ≤ y ≤ 10.

  5. That's it. Save and restart your machine.

2
  • 1
    how/where did you find the maximum value?
    – erjoalgo
    Mar 19, 2016 at 2:25
  • You can get maximum value for your monitor's brightness with cat /sys/class/backlight/intel_backlight/max_brightness
    – Linux Geek
    Apr 12, 2021 at 16:35
2

I used this solution, it's very simple and easy:

  • Install xbacklight
  • Open Startup Applications
  • Add a new startup item, (give it a name and in the command line type: xbacklight -set 50)

50 gave me the level of brightness I needed but you may need to experiment with the values for your particular system.

3
  • I find it easier to just use xbacklight -set 50 in the terminal. May 29, 2015 at 3:43
  • Doesn't work for me on mac dual boot ubuntu 14.04.3
    – mau
    Aug 17, 2015 at 0:23
  • This doesn't resolve the issue of xbacklight not being able to find the displays. Dec 28, 2017 at 0:54
2

I had the same issue on my Samsung laptop with my Ubuntu 14.04 and kernel 3.19.

For me the solution was setting the line in the configuration file /etc/default/grub as following:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=0"

and then updating settings:

sudo grub-update

If t will not help you can try to turn off Legacy (CMS) boot option in BIOS.


Before I was trying:

  • Setting /usr/share/X11/xorg.conf.d/80-backlight.conf file
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video.use_native_backlight=1"
1
  • For me, adding video.use_native_backlight=1 to /etc/default/grub is working. But I need to control brightness by xrandr, there is no slider visible in display settings anyway.
    – jirkamat
    Mar 6, 2021 at 17:41
1

It works for ubuntu 14.04 for me. Minimum brightness setting:

echo 0 | sudo tee /sys/class/backlight/acpi_video0/brightness 

Maximum:

echo 7 | sudo tee /sys/class/backlight/acpi_video0/brightness
1

I found solution after years of searching and it's works very well.

Just added in /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT string acpi_backlight=video.

Lenovo Ideapad Z500: Intel HD4000, GeForce 740m

1
  • This one worked for me. Mine is an Intel and nVidia combo on an HP Envy laptop. There is no onscreen meter displayed by the OS as the brightness changes with this solution, and the brightness changes veeeeeerrrrry gradually for me. I had to hold the button down for many seconds to cycle from fully dark to fully lit.
    – DWoldrich
    Dec 10, 2019 at 6:05
1

I had the same problem on my Lenovo Ideapad Z500.

I found this trick that worked on my Ubuntu 16.04:

In the GRUB configuration file /etc/default/grub modify the following line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

by adding this string: acpi_backlight=vendor. In my case I removed acpi-osi=linux and replaced, so, in the end it was:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

Update grub by running:

sudo update-grub

Then create an xorg configuration file like this:

sudo touch /usr/share/X11/xorg.conf.d/80-backlight.conf

and copy in it this text:

Section "Device"
     Identifier  "Intel Graphics"
     Driver      "intel"
     Option      "AccelMethod"     "sna"
     Option      "Backlight"       "ideapad" 
     BusID       "PCI:0:2:0"
EndSection

Save the file, and reboot.


Also you can try to use Fn brightness keys outside of Ubuntu (before it starts or in the BIOS settings). It could work.

1
1

For MANJARO 18 users:

I have a LENOVO with hybrid GPU, but I'm using just the NVIDIA card. Brightness buttons didn't work. The edition sugester elsewhere with a 10-nvidia-brightness.conf file didn't work. After reading a lot of, this solution, from Ubuntu users, worked for me.

Open a terminal and type:

ls /sys/class/backlight

For me, it pointed to intel_backlight. I don't know how this works for the acpi_backlight. I createad the file

sudo <text_editor> /usr/share/X11/xorg.conf.d/20-intel.conf

Put your favourite text editor in <text_editor>, mine is xed.

Then write inside:

Section "Device"
        Identifier "card0"
        Driver "intel"
        Option "Backlight" "intel_backlight"
        BusID "PCI:0:2:0"
EndSection

The correct PCI should be that from the output of lspci | grep VGA (mine is 00:02.0). Save the file, then sudo pkill X (or reboot) and that's all.

1

I have an answer that worked for me on Ubuntu 16.04, 18.04 and 20.04.

I believe this answer applies only if the following two statements apply to your system. Please don't waste your time if these statements aren't true:

  1. ls /sys/class/backlight/ returns acpi_video0 and exactly one other, such as intel_backlight

  2. echo 450 | sudo tee /sys/class/backlight/intel_backlight/brightness makes your brightness about half, and echo 900 | sudo tee /sys/class/backlight/intel_backlight/brightness makes full brightness.

    (Here you should be replacing intel_backlight with whatever you found in step 1 and replacing 450 and 900 according to your device's maximum brightness setting, which is found by the command cat /sys/class/backlight/intel_backlight/max_brightness or your equivalent.)

In this case your problem is likely to be because the system has added the acpi_video0 module incorrectly, and the brightness keys use this instead of intel_backlight (or your equivalent).

To solve this, you need to add the boot option
acpi_backlight=none which will remove the directory acpi_video0 from /sys/class/backlight/. The brightness keys now apply their logic to the only directory in /sys/class/backlight/ which is what we want.

I gleaned this knowledge from this helpful page https://wiki.archlinux.org/index.php/backlight which states that "If you find that changing the acpi_video0 backlight does not actually change the brightness, you may need to use acpi_backlight=none."

1
  • Actually the following have made my screen black until I've got an idea that my laptop is going to sleep all the time echo 900 | sudo tee /sys/class/backlight/intel_backlight/brightness. A hard restart was a remedy.
    – it3xl
    Apr 13, 2019 at 21:17
1

Ubuntu 22.04 brightness-hotkey-fix: Intel Corporation Skylake GT2 [ HD Graphics 520 ] (rev 07)

  1. sudoedit /etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=video"

  2. save and update grub: sudo update-grub

  3. sudoedit /usr/share/X11/xorg.conf.d/20-intel.conf

    Section "Device"

    Driver "intel"

    Option "Backlight" "intel_backlight"

    Identifier "card0"

    EndSection

  4. save and reboot

0

clone the following script and run it from a root terminal after pasting the script in /bin

git clone https://github.com/el-beth/backlight.sh.git

1
  • 6
    Can you edit this to expand it with an explanation of what you mean by "pasting the script in /bin"? Do you mean to copy it to that directory? Can you add instructions for the steps besides running git clone? Nov 17, 2017 at 14:40
0

This worked for my eeepc seashell series:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"

This is from http://ubuntuforums.org/showthread.php?t=1412922, and they got it from http://wiki.debian.org/DebianEeePC/Model/1005pe.

0
0

Xubuntu 16.04 (Samsung N150 - Intel GMA3150):

Fixed brightness control issue by creating /usr/share/X11/xorg.conf.d/20-intel.conf with the following text:

Section "Device"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        Identifier "card0"
EndSection

Thanks to: ArchLinux - Samsung_N150_Backlight and Daria

0

So I've just solved this problem in my Dell XPS 15 7590 (Ubuntu 18.04) with OLED screen after setting up dual boot with it.

The screen can dim (for example power-saving dimming) so it's definitely capable, and using brightness buttons operates the visual slider, so those are definitely recognised. But it was at full intensity and nothing I tried would control it.

I tried lots of other fixes I've seen here including: grub editing with acpi_backlight=vendor, installing brightness controllers, echoing values into backlight files, even tinkering with intel vs nvidia drivers in case that was the issue etc. No joy.

I came across this info on setting up my model (XPS 15 7590, OLED screen) with Arch Linux where the brightness was an issue there, and tried following that method: https://wiki.archlinux.org/index.php/Dell_XPS_15_7590#Backlight There was a script based on that (https://github.com/lurwas/oled-brightness-ubuntu) which looked helpful but didn't work for me.

Until I realised that in the ArchLinux page it mentions

Please note: If you are using the xf86-video-intel driver, you will need to replace 'eDP-1' in the script above with 'eDP1'

Sure enough, my system seemed to be looking for instructions relating to 'eDP1' and everything else was telling it to change 'eDP-1'. The dash made all the difference.

I set up that script as a start-up program, checking I had 'bc' and 'inotify-tools' installed as mentioned in the Arch Linux instructions (though note that page refers to 'itnotify-tool', and ubuntu required the 's' on the end to find/install it!) and made sure it had run permissions, and BOOM - "let there be LESS light!".

The script is run at start-up, and my backlight keys now actively change the screen brightness.

Hope this might be helpful, in case you have a similar underlying problem. I'm not sure if this fix is possibly just for an OLED-specific issue, so your milage may vary.

0

Installing GPU drivers fixed brightness control for me.

$ sudo apt install nvidia-detect
$ nvidia-detect
Detected NVIDIA GPUs:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:25b8] (rev a1)

Checking card:  NVIDIA Corporation Device 25b8 (rev a1)
Your card is supported by the default drivers.
Your card is also supported by the Tesla 460 drivers series.
It is recommended to install the
    nvidia-driver
package.

$ sudo apt install nvidia-tesla-460-driver
$ sudo reboot

Hardware: Dell Precision 7560 laptop, NVIDIA RTX A2000 / GA107GLM.

The packages require non-free to be enabled in sources.list.

I tried the options that yqbk mentioned, grub settings and xorg config, but none of these worked. I also couldn't read the correct brightness value from /sys/class/backlight/acpi_video0/{actual_,}brightness. After driver installation, the directory is gone and /sys/class/backlight/nvidia_0/ appeared in its place; now setting echo 10 > brightness works as expected.

0

It's technically NOT possible to adjust the default brightness of a standard terminal in Linux, but if it were possible to modify the /sys/backlight/*/brightness file, you could change the brightness.

The /sys filesystem will complain of input/output errors if you attempt to write to files in the /sys directory. The system also may revert to other additional and unintentional settings if a user attempts to continue to write to files in the /sys directory and in my case and actually made my screen darker (without the option of allowing me to write or modify the aforemention brightness file in the /sys directory).

Bottom-line: If you're looking to do about anything graphical or sound related on your computing device, look elsewhere beyond the purveyors of electronic diarrhea and the developers of open source operating systems such as Linux. Linux just "isn't there" in terms of a decent desktop multimedia experience. Everyone knows that, including Linus. However, if you're looking for a decent server experience, Linux may be for you.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .