Screen brightness isn't taking effect on a Lenovo Z570

My Lenovo Z570 has two GPU's, nVidia and Intell. Brightness control has no effect what so ever over the screen brightness, and because I've had some major issues in the past when I was trying to fiddle with nVidia drivers and settings, and I wanna be cautious now. I haven't find similar questions referring 14.04 LTS with similar configuration as mine.

I've read that it could be fixed by adding/changing content in xorg.conf but when I run

sudo gedit /etc/X11/xorg.conf

the file comes out to be absolutely empty. What do I need to do, what do I need to add to it and not get my laptop screwed with a black screen again?


Solution 1:

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.

ls /sys/class/backlight/

If so, execute the following command:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

You may check first if that file exists, but touching it won't do any harm. Then edit the file:

sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf

Insert the following code:

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

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

Solution 2:

This worked for my Lenovo T530 with Nvidia/Intel...

Note. My BIOS graphics settings were changed from Nvidia Optimus to Discrete Graphics (this was so I can drive a 4K external monitor from the Display Port). Also no need to have the file /etc/X11/xorg.conf on your system. The following assumes you are running the Nvidia driver and have access to the NVIDIA X Server Settings app in Unity.

First, bring up the text editor and I'll show you how to add the right contents to this file for your graphics card.

gksu gedit /usr/share/X11/xorg.conf.d/20-nvidia.conf

If your file is empty as mine was then open up the app "NVIDIA X Server Settings" from Unity.

Then go to the "X Server Display Configuration" section.

At the bottom of the screen click the button "Save to X Configuration". We don't want to actually save anything here, but click on the "Show Preview" button.

Scroll through until you see Section "Device" and the following EndSection. Highlight and copy the entire section. Mine looked like this:

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   BoardName      "NVS 5400M"
EndSection

Paste this into the /usr/share/X11/xorg.conf.d/20-nvidia.conf file opened before.

Now paste the following line just before the EndSection

Option        "RegistryDwords" "EnableBrightnessControl=1"

It should look like this:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVS 5400M"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Now save and close /usr/share/X11/xorg.conf.d/20-nvidia.conf and reboot. My brightness control now works. Got the idea from this related post.

Solution 3:

Is it that the brightness control doesn't persist or is it that modifying it has no effect?

I have had issues where changing brightness control didn't persist across reboots. I have a Dell XPS L502X with an integrated Intel and a GeForce GT 540M graphics card. I use xbacklight to overcome the problem. Install the package with

sudo apt-get install xbacklight

and use the following command to set the brightness, say

xbacklight -set 20%

If you want to automate this, you can add this to "Startup Applications", so that every time your computer starts, the brightness would be set to 20%.