Nvidia brightness control fix

If you, like me, got an Nvidia graphics card in your laptop you may have problems with brightness control with recent Nvidia (proprietary) drivers .
First time I came over this is more than a year ago, back then I lost brightness control after upgrading from Nvidia 304.x to anything newer.
Since the working 304.x driver was available then, in my Ubuntu 13.04 (and later 13.10) I never sat down figuring it out.

I recently switched back to Fedora, and they’ve got the same problem.
In Fedora I was also unable to control brightness with the 304 driver as well, I suspect recent versions of the 304.[something above 100] also brake, or there is some combination of Linux kernel version, Nvidia driver version and mabye something else .

There are loads of posts regarding brightness control that brakes, and as far as I can see there are more than one type of problem, f.example I see a lot of fixes that seem to be related to Nvidia Optimus but those solutions doesn’t work for my Quadro 1000m .

Here’s what fixed it for me.

Download nvidiabl from https://github.com/guillaumezin/nvidiabl

$ unzip nvidiabl-master
$ cd nvidiabl-master
$ sudo yum install dkms
$ cd install/tarball/
$ sudo dkms ldtarball --archive=nvidiabl-0.87-source-only.dkms.tar.gz build install
$ sudo echo nvidiabl > /etc/modules-load.d/nvidiabl.conf

That last line will ensure the nvidiabl module is loaded upon booting Fedora .

Now you got a module that you can use a script to echo brightness values into some file in /sys, but you can take this a step further:

(open /etc/default/grub in your favorite editor and append to the GRUB_CMDLINE_LINUX line)
GRUB_CMDLINE_LINUX="[...] acpi_backlight=vendor [...]
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

the acpi_backlight=vendor tells Linux to skip using acpi for brightness and that put nvidiabl in ‘charge’ as the only brightness control module under /sys/class/backlight/ , and in my Fedora 20 running Gnome 3 that magically made brightness control work as it’s supposed to again .

Note that I’ve also got this /etc/X11/xorg.conf

# RPM Fusion - nvidia-xorg.conf
Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
        Option "RegistryDwords" "EnableBrightnessControl=1"
        Option          "NoLogo"

In my setup with the current nvidiabl module it kind of brakes after suspend / resume, some suspend / resume script fail to set /sys/class/backlight/nvidia_backlight/actual_brightnessto archlinux.org where I found out about acpi_backlight=vendor .

And I’ll paste some of the links I’ve been at regarding this problem, but there are numerous others that I don’t recall at the moment:


12 comments on “Nvidia brightness control fix

  1. Karl Stoney May 20, 2014 10:59 pm

    You legend, worked perfectly for my Nvidia Quadro 2000M.

    • Joar Jegleim May 21, 2014 6:48 pm

      That’s great.
      Thnx for commenting ๐Ÿ™‚

    • Peter Roos May 28, 2014 9:41 pm

      I have just posted a solution in the same forum topic.

      • Joar Jegleim June 3, 2014 3:18 pm

        oh, and thnx for that ‘save brightness value’ change, that was my next move.
        I’ll copy your fix ๐Ÿ™‚

  2. Matt May 14, 2015 2:35 pm

    This problem has caused me greif for the longest time, and out of the countless forum posts and bug reports I’ve read regarding it, this was the first one that worked.

    Thank you so much — I can finally update to the latest version of the kernel (not being able to update backlight brightness was the one thing holding me back on an ancient kernel/nvidia driver version combo)

    • Matt May 14, 2015 2:37 pm

      Also, this worked with my setup:
      Fedora 20
      3.19.5-100.fc20.x86_64 kernel

      • Joar Jegleim May 25, 2015 9:50 am

        Glad things worked out for you !
        Thnx for your feedback and info.

  3. Thankful italian November 25, 2016 8:58 pm

    You’re my savior!
    I recently started trying out Linux and this damn brightness control bug was killing my eyes.

    Worked on a Samsung RV511 laptop (GeForce 315M) with Ubuntu 16.10.

  4. whoisem May 25, 2020 12:50 pm

    Wow. This worked for me at Fedora 32 with NVIDIA drivers on my Macbook Pro Mid 2010. I was freaking out as I didn’t have any files in /sys/class/backlight which was being accessed by all the other solutions.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.