7

I have an otherwise fully-functioning install of Ubuntu 12.04 on my HPdv7t laptop.

When I press the 'brightness buttons' on the keyboard the associated images appear on my screen to say I am increasing/decreasing the screen brightness. When I go into "System Settings" I can move the 'brightness slider bar' up and down.

But none of that changes the fact that my screen is stuck on the highest brightness setting.

ANY clues on how to fix this would be greatly appreciated. This giant 17-inch monitor is blinding, and this is making it hard to code for any length of time.

5
  • Hopefully someone can give you a workaround here, but in the mean time, you should report this as a bug. Jun 21, 2012 at 4:03
  • What's your graphics card ? nVIDIA, Intel, AMD ? Jun 21, 2012 at 5:02
  • I have an NVIDIA(R) GeForce(R) GT graphics card. Jun 21, 2012 at 5:12
  • Did you install the proprietary drivers of NVIDIA (using additional drivers) or you're using the open-source nouvea module? Jun 21, 2012 at 5:53
  • @SeyedMohammad I was originally using the open-source drivers, but since I noticed this problem I have switched to using the proprietary drivers. Unfortunately, there has been no change at all. Good thought though! I was hoping it would work too! Jun 25, 2012 at 21:00

4 Answers 4

9

I own an Acer Aspire 5755g and I had the same problem with backlight of my screen. My PC has Nvidia GT540M. I read previous answers and found out that on my pc this advice works but I need to run some different command instead of

echo n > /sys/class/backlight/acpi_video0/brightness 

I have to change it to

echo 250 > /sys/class/backlight/intel_backlight/brightness

for example, where 250 is my desired backlight value.

I think it is because of hybrid graphics in notebooks like mine, so backlight is controlled through intel builtin controller.

In such case do cat /sys/class/backlight/intel_backlight/brightness and you'll see your current value of brightness. In my case it was 976. You can also look for a max_brightness file in the same directory to get an idea of the scale of values. You should be able to adjust the backlight by changing this number. Be aware that if you set it to 0 your backlight will be turned off and you won't be able to see what you're typing! If you try to set value more than maximum it just returns an error and nothing changes.

To set backlight value at startup you may be able to add a line like this

echo 250 > /sys/class/backlight/intel_backlight/brightness

to your /etc/rc.local file before the line saying exit 0.

If that does not work for you, you can try using sysfsutils instead. You may need to install the package:

sudo apt install sysfsutils

and then modify the file /etc/sysfs.conf to add a line like this:

class/backlight/intel_backlight/brightness = 250

Also we can enable hotkeys to change backlight manually in a comfortable way. I made my hotkeys scripts of scripts for Asus laptops placed in /etc/acpi directory. You need 2 scripts - one to increase brightness, another for decreasing, both placed in /etc/acpi directory. Also we need to set these scripts to trigger on hotkeys events, which can be done by changing files in the /etc/acpi/events directory. In my case their names and contents are:

/etc/acpi/events/asus-brightness-down
event=video DD03 00000087 00000000 
action=/etc/acpi/asus-brn-down.sh
/etc/acpi/events/asus-brightness-up
event=video DD03 00000086 00000000
action=/etc/acpi/asus-brn-up.sh

Where /etc/acpi/asus-brn-down.sh and asus-brn-up.sh are names of our scripts to decrease and increase brightness.

Contents of my /etc/acpi/asus-brn-down.sh:

#!/bin/sh
# this is for acer aspire 5755G :)
KEYS_DIR=/sys/class/backlight/intel_backlight

test -d $KEYS_DIR || exit 0

MIN=1
# i set MIN to 1 to almost turn off backlight, but you can set a better one value, 50 for examlple
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

VAL=$((VAL-25))

if [ "$VAL" -lt $MIN ]; then
VAL=$MIN
fi

echo $VAL > $KEYS_DIR/brightness

And contents of my /etc/acpi/asus-brn-up.sh:

#!/bin/sh
# this is for acer aspire 5755G :)
KEYS_DIR=/sys/class/backlight/intel_backlight
test -d $KEYS_DIR || exit 0
MIN=1
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)
# I decided to increase brightness by 25 per keypress but you can change it to 50 or even 1 if you like
    VAL=$((VAL+25))

if [ "$VAL" -gt $MAX ]; then
    VAL=$MAX
fi

echo $VAL > $KEYS_DIR/brightness

UPDATE: Same problem solved in Ubuntu 13.10 (additional solution found in this Ubuntu Forums post)

We need to create a file /usr/share/X11/xorg.conf.d/20-intel.conf with this content:

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

Then reboot. Thats all ;)

2
  • This actually worked for me. And thank God. Though I do feel like this is a woefully sad solution, and something that I imagine would be easy enough to script in the System Settings. I guess I just have such high hopes for Ubuntu. Thank YOU though. Great call. Jun 27, 2012 at 4:26
  • Is there any good way to script this, or add it to a launcher? I do this every time I boot up my computer now and I would prefer it I could run this command with a simple double click. The problem, of course, is that I need to be SU to execute the command. Aug 21, 2012 at 19:22
3

I had the same problem on a T61 with Nvidia Quadro NVS 140M graphics card.

Switching the drivers from "current version [recommended]" to "version 173" solved the problem.

3

If the command, echo 250 > /sys/class/backlight/intel_backlight/brightness, worked for you than the following two suggestions should also work.

Some solutions have been to re-install bash, sudo apt-get install --reinstall bash and others have been to modify grub, making the changes last through reboots, as outlined below:

  1. Edit GRUB's configuration file with sudo -H gedit /etc/default/grub
  2. Edit the parameters following GRUB_CMDLINE_LINUX between the double quotes to include acpi_backlight=vendor acpi_osi=linux video.brightness_switch_enabled=1, so it looks something like

    GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=linux video.brightness_switch_enabled=1" 
    
  3. Save and close the file
  4. Make the change effective by running sudo update-grub
  5. Restart your computer.

For more information, see https://bugzilla.redhat.com/show_bug.cgi?id=753012

2

This is a known problem (if I remember right) against most laptops, they either reset to 0 or to 10. Either way, you can fix this issue by doing sudo vim /etc/rc.local and placing the following in there:

# n should be changed to the number.
echo n > /sys/class/backlight/acpi_video0/brightness

If you need to find out what your favourite number is, then you should first adjust your screen and then do sudo cat /sys/class/backlight/acpi_video0/brightness and use that number. Note: You might have trouble doing cat and echo with sudo, if you do do sudo su and then do it.

1
  • This workaround isn't working for me with the same problem. I've filed a bug on the grounds that I understand all such bugs are considered hardware-specific so not well suited to subscribing to existing bugs on different hardware. Jun 22, 2012 at 20:25

You must log in to answer this question.

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