I have a Dell Vostro V131 notebook that comes with a Samsung display and Intel HD 3000 GPU. I think it started with Ubuntu 12.04, that whenever I reduce the brightness levels, in the next system reboot that setting is lost, and for some reason Ubuntu resets the display brightness levels to its maximum.
So I looked for a solution and thanks to a suggestion by a user in ‘Launchpad’ concerning this bug, I’ve found the solution. It seems that this method has worked for many users, so if you’re having the same issue (with 12.04 or older versions) then you can try it out as well.
What we’re going to do is simple. We’re going to add a command that’ll run automatically when your Ubuntu OS boots and it changes the brightness value of the system’s default configuration file. For that, please follow the below steps.
Step 1: First, change your brightness into the desired level and then open your Terminal and issue the below command.
This will print a number which represents the current brightness level. Take a note of this number as we’ll be needing it later.
Step 2: Then enter the below command and it will open a file in your text editor.
gksudo gedit /etc/rc.local
Step 3: Now simply copy and paste the below code into this configuration file but make sure it’s above the existing ‘exit 0’ line as shown below, otherwise it won’t work.
echo 12 > /sys/class/backlight/acpi_video0/brightness
Make sure to replace the number ’12’ with the one that you got in the ‘Step 1’. Then click on the ‘Save’ button and close the editor.
That’s it, now reboot your PC and you should see the brightness isn’t reset anymore! (hopefully).
If you get an error at ‘Step 1:’ …
If when you enter the first command in the ‘Step 1’ you get an error saying …
bash: /sys/class/backlight/acpi_video0/brightness: No such file or directory
That’s obviously because the ‘acpi_video0’ folder is not preset. The ‘acpi_video0’ folder holds the universal ‘acpi’ standard for accessing the GPU (VGA card) and the display for adjusting their basic settings. However, depending on your GPU model, this folder might simply not be there, instead, there should be another folder that goes by the manufacturer’s name of your GPU.
For example, as mentioned, I have an Intel HD 3000 graphics card and I actually have two folders called ‘acpi_video0’ and ‘intel_backlight’ and I can use the configuration file in any of these folders to change the brightness levels. But I use the file inside ‘intel_backlight’ folder for tweaking rather than the standard ‘acpi_video0’ folder and its content.
Anyhow, assuming that you don’t have the default folder then the easiest way to figure out what folder that you should be using is to enter the below command in your Terminal.
Then have a look at the output, and you should see a folder that starts with the name of the manufacture of your GPU. If you have a Nvidia card, then you might have something like ‘nvidia_backlight’, if you have an ATI/AMD Raedon card then it might have something like ‘raedon_bl’ etc.
Let’s assume that I don’t have the ‘acpi_video’ folder and the above one output the name ‘intel_backlight’, then all I gotta do is simply copy the name of that folder and replace it with ‘acpi_video0’ part in the commands in ‘Step 1’ and ‘Step 3’. That should do the trick.
What if that directory is empty?
Well, then you have a problem. There could be many reasons for that, one is, some of the proprietary drivers for GNU/Linux (some from Nvidia for example) don’t yet support changing brightness and when you install their proprietary driver manually, the existing folder will be deleted by it and, well you’re kinda stuck.
In that situation, the only fix would be to remove the proprietary driver and rollback to the open-source one (aka ‘nouveau’) :/. Good luck.