11

I recently upgraded from Ubuntu 13.10 to 14.04. Everything is fine, except the brightness of my laptop screen. When I change the brightness the screen simply does not respond. I figured this was a graphics driver issue, but having updated and reinstalled all nvidia drivers the problem persists. It's rather nasty, as the screen is now permanently set to the darkest setting, making it almost impossible to see anything.

I also tried the solution proposed here: Ubuntu 14.04 - brightness problem in HP hybrid laptop but this, sadly, didn't help either.

I have a HP Elitebook 8560w, with an nvidia Quadro 1000M and am running the latest nvidia-current drivers available in the apt-get repo's

For the record, I tried experimental nvidia drivers, which consequently crashed my entire OS. Therefore, I reinstalled 14.04 cleanly, yet this problem still persists

  • Same issue with clean 14.04 installation on HP ProBook 470 with AMD HD 8750M 2GB. Screen brightness always set to maximum. I use default Ubuntu drivers as AMDs are not available. – user2655700 Apr 30 '14 at 11:34
  • I've noticed some new behaviour. When I suspend Ubuntu and wake it up again, the brightness is considerable higher. I still can't adjust it, but it is workable (which is some progress at least) – danielvdende Jul 15 '14 at 07:17
  • I have this exact computer, and am experiencing this issue too, except my brightness is constantly at maximum. Did you ever find a solution? – Seth Sep 04 '14 at 02:22
  • @Seth No not yet. Though I think I have the max brightness thing too after I have suspended Ubuntu. Very frustrating for such a simple (yet essential) function to be so broken... – danielvdende Sep 04 '14 at 07:04
  • I should add that I no longer have this laptop (it died sadly), so I can't try any of the proposed workarounds or solutions. Perhaps @Seth or anyone else could try these and report if they work? I can't accept an answer until I know it works of course :) – danielvdende Feb 25 '15 at 16:25
  • @danielvdende Yes, I offered the bounty and I will be testing the answers later today! Thanks for the update. Glad that you got out of this brightness hell ;) – Seth Feb 25 '15 at 16:29
  • @danielvdende See my comment on this answer. It didn't fix it completely but it gave me some (limited) control, much better than just one setting! – Seth Feb 26 '15 at 02:36
  • @danielvdende hi, i have this laptop too. i can not install driver such as Hotkey and manage touchpad, can you install this drivers on ubuntu? – DolDurma Dec 10 '15 at 06:00
  • @Mahdi.Pishguy As I mentioned in one of the previous comments, I don't have this laptop any more, sorry :(. For what it's worth: I didn't have any trouble with the touchpad or hotkeys though... – danielvdende Dec 14 '15 at 08:22
  • I am also suffering from the same issue on Ubuntu 14.04LTS. HP EliteBook 8560w. – fazineroso Dec 28 '16 at 10:14

4 Answers4

3

It's probably a bug with drivers > 304 which has been around for a while:

According to these bug reports the only solution is to roll back to a driver version <= 304.

kos
  • 35,891
  • I'll try this out later although I am pretty sure I've tried it already. Feels like we've been waiting for ages :-( – Seth Feb 24 '15 at 00:08
  • Wow, I was sure I tried this but it works! Somewhat.. The whole slider only changes the brightness about 3 levels total and both ends make it go completely dark but it's MUCH better than only one setting. Thanks! – Seth Feb 26 '15 at 02:34
  • @Seth I'm glad that it worked, try to play with various version of the 304 to see if some works better than another. Unfortunately from what i've read chances this is going to be fixed soon are low, every bug report i read on this problem was classified as low/medium and/or attributed to a driver (nvidia) regression and almost always expired, but good luck! – kos Feb 26 '15 at 02:43
  • I tackled this problem in such way http://goo.gl/VH4PN5 . There is a file /sys/class/backlight/intel_backlight/brightness to which you can write the desired value of brightness . It worked for me – Tebe Jun 01 '15 at 14:58
2

Not a solution but rather a workaround.

There should be a file /sys/class/backlight/acpi_video0/brightness

In this file you have a particular decimal value which corresponds to brightness.

Now, when I use openbox desktop environment, my fn key doesn't work, which is why i use the following script to set it:

#!/bin/mksh
printf " \n Entering file to change brightness in 3 seconds\n remember - no new line after number.  ";
sleep 3;
sudo nano /sys/class/backlight/acpi_video0/brightness

Now, you may want to check the /sys/class/backlight folder just to make sure that you have acpi_video0 file there. It may be named differently for your system

I will link a relevant askubuntu question if you're interested in varioius workarounds for setting brightness

Update

I've wrote another script which uses zenity (graphical front end for scripts) and xrandr, with a desktop shortcut.

Tools you need

  • xrandr (should be installed by default, don't quote me on that) and knowing the name of your display
  • zenity (should be installed by default, don't quote me on that)
  • desktop shortcut backlight.desktop

Desktop shortcut

Create backlight.desktop file on your desktop and make it executable with sudo chmod a+x ~/Desktop/backlight.desktop. (Note, you may want to make it executable through rightclick -> properties and also allow running text files as executables in Nautilus-> Edit-> Properties-> Behavior).

[Desktop Entry]
Type=Application
Exec=/usr/bin/backlightscript
Terminal=false
Icon=/usr/share/icons/HighContrast/16x16/status/display-brightness.p
ng

Note, Icon portion is optional.

The script

Place this file in /usr/bin folder, call it backlightscript

#!/bin/sh
# Name: backlightscript
# Author: Serg Kolo
# Date: March 2 , 2015
# Description: Simple script to change screen brightness using xrandr

# uncomment this for debugging as needed
# set -x

NEWVAL=$( zenity --scale --min-value=0 --max-value=7 --text="Enter number between 0 and 7" ) && brightness=$(($NEWVAL+2))

if [ $(echo $?) = 0  ]
  then
    xrandr --output LVDS --brightness 0.$brightness

fi

Script explanation

I've found that optimal brightness is between 0.2 and 0.9. If you go bellow 0.2 or 1 screen gets either too dark or too bright. In this script, the user double-clicks on the backlight.desktop shortcut, which calls graphical pop-up with a scale, where user selects necessary brightness from 0 to 7. That value is incremented by 2 ( so max is 7+2=9 and min is 0+2=2 ) and stored in brightness variable. That variable then becomes the value after decimal point for xrandr --output LVDS --brightness 0.$brightness.

The if - then block is used to test whether the user actually selected something. Without it, xrandr will set brightness to 0, in which case you won't see anything on your screen, even tty1, and will have to either reboot or do Alt+SYSRQ+R+E+I+S+U+B

Note, that xrandr is a software solution, not hardware solution, i.e. you're not changing brightness of screen directly.

How it should look

enter image description here

Note on xrandr Run xrandr without any arguments to determine your primary connected display

My example

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

Sources

Sergiy Kolodyazhnyy
  • 105,154
  • 20
  • 279
  • 497
  • Nope, I've got the acpi_video0 folder. I tried changing the value in /sys/class/backlight/acpi_video0/brightness but nothing happened. – Seth Feb 25 '15 at 16:07
  • I've got another workaround for this. Will post soon – Sergiy Kolodyazhnyy Mar 02 '15 at 21:03
  • Posted. Please refer above – Sergiy Kolodyazhnyy Mar 02 '15 at 22:25
  • I highly doubt the problem is that the brightness is not being set properly as much as the driver can no longer set it itself. I'm curious as to why you think this will solve the problem (I actually semi-fixed it above). Have you been in a similar situation? I always assumed the problem was in the driver itself. – Seth Mar 03 '15 at 01:24
  • I'm trying to find workarounds – Sergiy Kolodyazhnyy Mar 03 '15 at 02:56
  • Most users don't want to crash their os while playing with graphics drivers, and my script is harmless enough for that – Sergiy Kolodyazhnyy Mar 03 '15 at 03:04
  • 1
    In my case the path to the brightness file was /sys/class/backlight/intel_backlight/brightness. So, first do a ls on /sys/class/backligh and cd to your corresponding folder. You will find a max_brightness wich I assume is the maximum value you can set on your brightness file. In my case my maximum value was 4648 and my current brightness value was 401. I set it to 1500 and it's perfect. – nikoskip Jan 19 '16 at 17:15
1

I got it to work on a Lenovo W510 with a Quadro FX 880M by creating /usr/share/X11/xorg.conf.d/20-nvidia.conf with the following contents:

Section "Device"
    Identifier    "Device0"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    BoardName     "Quadro FX 880M"
    Option        "RegistryDwords" "EnableBrightnessControl=1"
EndSection

After reboot my brightness controls work correctly.

trolley
  • 11
0

At last it is fixed with latest driver which was released by Nvidia with release date: 2017.5.4 and its version number: 375.66

Release notes including following explanation:

Fixed a bug that caused backlight brightness to not be controllable on some notebooks with DisplayPort internal panels.

regex
  • 457
  • 2
  • 6
  • 10