Update June 16, 2019
Last month, 2 years after problem was reported, OP discovered LightDM (Ubuntu Unity Desktop Manager) was source of problem. That said, in addition to the list below, there is another grub
parameter that can be tried:
video.use_native_backlight=1
See this answer for more.
Original Answer
The ultimate reference seems to be in Arch Linux which is a site I've turned to many times to fix difficult problems.
Kernel Parameters
Looking at your cat /proc/cmdline
there are no extra kernel parameters passed. The above link states:
Sometimes, ACPI does not work well due to different motherboard implementations and ACPI quirks. This includes some laptops with dual graphics (e.g. Nvidia/Radeon dedicated GPU with Intel/AMD integrated GPU). On Nvidia Optimus laptops, the kernel parameter nomodeset can interfere with the ability to adjust the backlight. Additionally, ACPI sometimes needs to register its own acpi_video0 backlight
even if one already exists (such as intel_backlight
), which can be done by adding one of the following kernel parameters:
acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native
If you find that changing the acpi_video0
backlight does not actually change the brightness, you may need to use acpi_backlight=none
.
Try each of the acpi_backlight=xxxx
options on your grub kernel paremeters line
When xbacklight
doesn't work
You've tried xbacklight
already and the link above addresses this:
On some systems, the brighness hotkeys on your keyboard correctly modify the values of the acpi interface in /sys/class/backlight/acpi_video0/actual_brightness
(As we tried in comments) but the brightness of the screen is not changed. Brigthness applets from desktop environments (ie Ubuntu brightness setting slider bar) may also show changes to no effect.
If you have tested the recommended kernel parameters and only xbacklight
works, then you may be facing an incompatibility between your BIOS and kernel driver.
In this case the only solution is to wait for a fix either from the BIOS or GPU driver manufacturer.
A workaround is to use the inotify
kernel api to trigger xbacklight
each time the value of /sys/class/backlight/acpi_video0/actual_brightness
changes.
First install inotify-tools. Then create a script around inotify that will be launched upon each boot or through autostart.
Below is script you need to create called: /usr/local/bin/xbacklightmon
#!/bin/sh
path=/sys/class/backlight/acpi_video0
luminance() {
read -r level < "$path"/actual_brightness
factor=$((100 / max))
printf '%d\n' "$((level * factor))"
}
read -r max < "$path"/max_brightness
xbacklight -set "$(luminance)"
inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
xbacklight -set "$(luminance)"
done
There is a lot more in the link above but these steps are a good place to start.
Dedicated Forums
For additional support there are dedicated Linux Graphics forums:
Following the instructions that I found on https://itsfoss.com/fix-brightness-ubuntu-1310/ combined with what I already knew, that I had an Intel card, I did
sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf
sudoedit /usr/share/X11/xorg.conf.d/20-intel.conf
In that file I put the following:
Section "Device"
Identifier "card0"
Driver "intel"
Option "Backlight" "intel_backlight"
BusID "PCI:0:2:0"
EndSection
And now I can use xbacklight, as mreq mentions:
I added the following to my ~/.config/i3/config
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10
The best part here is that I can actually turn my backlight all the way off, so if I wanted to use my computer as a dream journal like Adam Savage does, I totally could.
Best Answer
You can run:
1.0 is the default value.