Did you try this?
$ sudo apt-get install read-edid
$ sudo get-edid | parse-edid
If so, what is the output of the last command? Does it give an error message?
sean@sean-P55-USB3:~$ sudo get-edid | parse-edid
parse-edid: parse-edid version 2.0.0
get-edid: get-edid version 2.0.0
Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function supported
Call successful
VBE version 300
VBE string at 0x11100 "NVIDIA"
VBE/DDC service about to be called
Report DDC capabilities
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function supported
Call successful
Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination does not support DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer
Reading next EDID block
VBE/DDC service about to be called
Read EDID
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call failed
The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
parse-edid: IO error reading EDID
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:
Best Answer
For those of you having this problem with an Intel card, look at this fix:
You can see whether you use an Intel card with the following command. If you see "intel_backlight", you probably have an Intel card.
If so, execute the following command:
You may check first if that file exists, but touching it won't do any harm. Then edit the file:
Insert the following code:
Save the file, log out, log back in. This worked for me on Ubuntu 14.04, and it should work on 13.10 as well.
Credits to It's FOSS