LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (http://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Installing a Brightness Driver ( nvidiabl ) (http://www.linuxquestions.org/questions/linux-newbie-8/installing-a-brightness-driver-nvidiabl-4175436835/)

Quaditz 11-12-2012 03:52 PM

Installing a Brightness Driver ( nvidiabl )
 
Hello,

i installed the nvidiabl Driver from

https://github.com/guillaumezin/nvidiabl

because i cant control the display brightness on my notebook (its always at 100%).

So i opened the

nvidiabl-dkms_0.80_all.deb

file with Ubuntu Software Center and installed the package. After it was successfully installed, i tried to reduce the Brightness level with FN keys, but it doesnt work.

So i read, that i must add the line "nvidiabl" to /etc/modules.

I did this by typing sedo nano -w /etc/modules

I successfully added the line and rebooted. But i am still not able to change the screen Brightness, what do i have to do?

My Notebook is a Acer Aspire TimelineX 5830TG

Hope you can help :)

Greetings,

Quaditz

spazticclown 11-15-2012 12:24 PM

I just did this last night in Fedora 17x64 on a Lenovo T420 with nVidia drivers installed.

check your xorg.conf and add this line:
Code:

Option "RegistryDwords" "EnableBrightnessControl=1"
I found this on fedora forums http://forums.fedoraforum.org/showthread.php?t=279973


xorg.conf can be found in /etc/X11/
I recommend making a backup of the xorg.conf and add the above line between
Then restart the xserver or restart the system.

I do not have the computer from last night available at the time to print exactly where it goes but I remember it goes between the tags in xorg.conf.

Hope this helps.

alpo85 11-30-2012 12:33 AM

I had the same problem on an HP laptop, and it was burning my retinas. I've tried the xorg.conf solution and a host of others, to no avail. I have an AMD/ATI card, but I might be able to help:

A couple options are to download and install Redshift (http://jonls.dk/redshift/).
Using the following command might work:
Code:

redshift -l 0:0 -t 5800:5800 -r -b *brightness-value*&
See redshift's man page for argument descriptions, but *brightness-value* is a decimal between 0 and 1.

Anyways, because I adjust screen brightness every time I get on my computer, I wrote a Python script.

Just make sure you check and install the dependencies (see below), save the script to a file, chmod +x, and off you go.

Happy programming.

Code:

#!/usr/local/bin/python3
'''
Controls screen brightness on notebooks with switchable graphics cards
(i.e. AMD/Intel) when proprietary drivers and notebook toggle switches
are inoperative.  Though Redshift was originally designed to automatically
change screen temperature based on lat/long and time of day, its ability 
to alter screen brightness is exploited in this script.

Edit #! above (Python path), as required for your system.

Package Dependencies:

redshift - http://jonls.dk/redshift/
psutil - http://pypi.python.org/pypi/psutil
python - http://www.python.org/download/releases/
python-devel - install python from source gives you python-devel, or
              you can download a distro-specific package.

Written in Python 3.3
'''
import psutil
import os

def GetRedshiftPID():  #Get Process ID (PID) for redshift
    for proc in psutil.process_iter():
        if proc.name == "redshift":
            return proc.pid  #Returns redshift PID as integer
    return 0                #Returns 0 if redshift is not running

RedshiftPID = GetRedshiftPID()

def StartRedshift():
    brightness=input("Enter desired screen brightness (0-10): ")
    brightness=brightness.rstrip()  #Strips whitespace characters
    try:
        brightness=float(brightness)  #Attempts to convert user input to a float
        if brightness not in range(0,11):
            print("Enter an integer between 1 and 10.")
            StartRedshift()  #Retry if user input is not an integer between 1 and 10
        else:
            if RedshiftPID != 0:  #If redshift is running, kill it
                os.system("kill " + str(RedshiftPID))
            if GetRedshiftPID() > 0:  #If redshift is running after first kill attempt, abort.
                print("Unable to kill Redshift. Exiting...")
                quit()
            brightness=brightness/10  #Convert brightness to float for use in redshift call
            os.system("redshift -l 0:0 -t 5800:5800 -r -b " + str(brightness) + "&")  #redshift to runs in background
            print("Script Complete.  Exiting...")
    except:
        print("Enter an integer between 1 and 10.")  #If exception is caught in conversion, retry
        StartRedshift()

StartRedshift()  #Begins program


markush 11-30-2012 01:16 AM

If all this does not work you should take a look at /sys/class/backlight/acpi_video0/

there are files "actual_brightness", "max_brightness", "brightness"
Code:

cat /sys/class/backlight/acpi_video0/actual_brightness
cat /sys/class/backlight/acpi_video0/max_brightness

you can set another value for the brightness with (as root)
Code:

echo "4" > /sys/class/backlight/acpi_video0/brightness
where you have to use a useful value instead of 4, something between max_brighness and 0

Markus

alpo85 11-30-2012 08:22 AM

@Markush

Quote:

...you should take a look at /sys/class/backlight/acpi_video0/
I've tried those, too - also to no avail.

Interesting question, though: If none of the known solutions are working on my system, how on God's green earth does Redshift work? Which values is Redshift altering?


All times are GMT -5. The time now is 03:31 PM.