La luminosità non funziona dopo l'installazione del driver NVIDIA


26

Di recente ho installato Ubuntu 11.10 sul mio Mac Book Pro 7,1. Ho installato il driver NVIDIA (285). I tasti di luminosità funzionano (F1 e F2) e ottengo la casella che mostra la luminosità ma non fa nulla. Posso modificare la luminosità nell'applicazione Impostazioni server NVIDIA X. Come posso far funzionare la luminosità senza disinstallare il driver? Grazie in anticipo.


La stessa cosa mi è successa su un MacBook Pro 5,5.
Cerin,

1
Solo un follow-up, ho provato tutte le soluzioni documentate e nulla ha mai funzionato, incluso l'utilizzo del driver Nvida più recente. Tuttavia, quando ho eliminato il driver Nvidia e utilizzato il driver Nouveau open source, l'oscuramento dello schermo ha iniziato immediatamente a funzionare.
Cerin,

@Cerin perché non scriverlo come una risposta includendo tutti i passaggi in modo che un utente inesperto possa seguirla? Mandami un commento quando lo hai fatto e se è una buona risposta, lo voterò e probabilmente aiuterà anche gli altri.
Elder Geek,

1
@ElderGeek, Purtroppo, Nouveau non supporta la sospensione / ripresa, rendendolo inutile per un laptop, il che è un peccato perché altrimenti era meglio del driver Nvidia. Ho eseguito l'aggiornamento a 14.04 e il driver Nvidia 340, e ora il dimmer dello schermo funziona.
Cerin

Risposte:


43

Sono stato in grado di far funzionare i miei tasti di luminosità sul mio Lenovo W530 su Ubuntu 12.04.

Oggigiorno X si configura automaticamente, quindi la creazione di un file xorg.conf potrebbe rendere il sistema non flessibile. Invece puoi aggiungere una sezione ad un file in /usr/share/X11/xorg.conf.d/ e X includerà quella sezione nella configurazione che genera automaticamente.

Quindi, per far funzionare i tasti di luminosità dello schermo con la scheda grafica Nvidia, creare un file nella directory xorg.conf.d, ad esempio:

sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf

Incolla quanto segue nel file:

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

Disconnettersi e riconnettersi o riavviare e ora i tasti di luminosità dovrebbero funzionare!

(Ho scritto questo blog qui )


Grazie, funziona per me su Ubuntu 14.04 su Lenovo W530 con driver nvidia ufficiale (scaricato dal sito nvidia).
Saeed Zarinfam,

Ho una macchina W530 con Linux mint 17.3, questa soluzione si applica direttamente (per me il logout e il log in funziona, non è necessario riavviare).
user22363

Ha funzionato perfettamente, questo dovrebbe essere contrassegnato come la risposta corretta
OKAN

1
Non ha funzionato per me su un macbook 5.1 con GeForce 9400M. Si avvia in una schermata nera dopo grub. Ho dovuto rimuovere un file usando un'immagine di vita da un'unità USB. Sono su una nuova installazione di Ubuntu Gnome 16.04.
mazza,

3
Come scoprire BoardName? Potrebbe sembrare stupido, ma questo potrebbe essere il motivo per cui non riesco a farlo funzionare.
davidbaumann,

6

Ho avuto un problema simile con il mio laptop, c'è un'opzione che devi aggiungere al tuo /etc/X11/xorg.conf

  1. Esegui comando:

    sudo nano /etc/X11/xorg.conf
    
  2. Trova la riga Sezione "Dispositivo" e aggiungi quanto segue

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    

Questo funziona anche con Ubuntu 12.04
shaneonabike il

Anche Xubuntu 12.04 funziona
Stasik il

Questo non funziona per me in 12.04.
Cerin,

Questo non funziona per me nel 18.04
Hany Alsamman,

1
18.04 non ha questo file ma la creazione di un nuovo file .conf come la risposta di Chris Pearce funziona pure.
rogerdpack,

4

È necessario abilitare il controllo della luminosità. Apri il terminale e digita, sudo gedit /etc/x11/xorg.conf quindi aggiungi Option "RegistryDwords" "EnableBrightnessControl=1"all'interno della sezione del dispositivo , incollalo in una nuova riga. Quindi riavviare il computer e tutto dovrebbe andare bene.


Non farlo su Ubuntu 18. Il percorso x11 dovrebbe X11 e questo dovrebbe essere all'interno della Sezione ma anche quello non funziona.
Shital Shah,

3

Grazie per aver fornito il fantastico script qgj. È triste che questo errore persista e sia necessaria la soluzione. Ho avuto lo stesso problema di James che ha ricevuto un errore a causa delle opzioni non più valide con le impostazioni nvidia per il mio tipo di display specifico. Per fortuna, è disponibile un'impostazione migliore per la luminosità della retroilluminazione. Ho modificato lo script bash per utilizzare invece questa impostazione.

#!/bin/bash

# This script was originally created by 'qgj' from askubuntu.  It has been modified
# to work using the BacklightBrighness setting available for some displays on the currrent nvidia driver
# It has also been modified to remove display specific configuration, instead applying the setting to all 
# active displays which support the BacklightBrightness setting.
# Tested only with nvidia-settings-319.12 and nvidia-drivers-331.20 on Linux Mint 17 Mate
#
# Requirements:
# - NVIDIA Drivers (e.g. nvidia-current in Ubuntu)
# - NVIDIA Settings (nvidia-settings in Ubuntu)
#
# This script can be used to change the brightness on systems with an NVIDIA graphics card
# that lack the support for changing the brightness (probably needing acpi backlight).
# It uses "nvidia-settings -a" to assign new gamma or brightness values to the display.
# 
# If this script fails, your display likely does not support the 'BacklightBrightness' option.
# In that event, execute 'nvidia-settings -n -q all' to see which options are available for the displays
#
# "nvidia-brightness.sh" may be run from the command line or can be assigned to the brightness keys on your Keyboard
# Type "nvidia-brightness.sh --help" for valid options.

if [ -z "${BASH}" ] ; then
    echo "please run this script with the BASH shell" 
    exit 1
fi

usage ()
{
cat << ENDMSG
Usage: 
   nvidia-brightness.sh [ options ]

Options:
   [ -bu ] or [ --brightness-up ]    increase brightness by 10
   [ -bu <no> ] or                   
   [ --brightness-up <no> ]          increase brightness by specified <no>

   [ -bd ] or [ --brightness-down ]  decrease brightness by 10
   [ -bd <no> ] or                   
   [ --brightness-down <no> ]        decrease brightness by specified <no>

   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     brightness will be set to 100.
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -bd       this will decrease gamma by 10
   nvidia-brightness -bu 15    this will increase brightness by 15
ENDMSG
}

case $1 in 
    -h|--help)
        usage
        exit 0
esac

if [ "$1" != "-i" -a "$1" != "--initialize" ] ; then
    if [[ ! -f ~/.nvidia-brightness.cfg ]]; then 
        echo 'You must run this script with the --initialize option once to create the settings file.'
        echo 'Type "nvidia-brightness.sh --help" for more information.';
        exit 1
    fi
fi

#### INITIALIZE ####
initialize_cfg ()
{
    BRIGHTNESS_TEMP=100
    echo "BRIGHTNESS=$BRIGHTNESS_TEMP" > ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    # Valid BacklightBrightness values are between 0 and 100
    # Example:  nvidia-settings -n -a BacklightBrightness=80
    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
    exit $?
}

#### LOAD CONFIGURATION ####
load_cfg ()
{
    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

#### BRIGHTNESS CHANGE ####
brightness_up ()
{
    source ~/.nvidia-brightness.cfg

    [[ -z $1 ]] && BRIGHTNESS_INC=10 || BRIGHTNESS_INC=$1
    BRIGHTNESSNEW=$(( $BRIGHTNESS + $BRIGHTNESS_INC ))
    [[ $BRIGHTNESSNEW -gt 100 ]] && BRIGHTNESSNEW=100

    sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

brightness_down ()
{
    source ~/.nvidia-brightness.cfg

    [[ -z $1 ]] && BRIGHTNESS_INC=10 || BRIGHTNESS_INC=$1
    BRIGHTNESSNEW=$(( $BRIGHTNESS - $BRIGHTNESS_INC ))
    [[ $BRIGHTNESSNEW -lt 0 ]] && BRIGHTNESSNEW=0

    sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

if [[ "$3" != "" ]]; then
    usage
    exit 1
fi

error_mixed_brightness ()
{
    echo "Error: [ --brightness-up ] and [ --brightness-down ] can't be used together."
}

if [[ "$2" != "" ]]; then
    [[ ! "$2" == ?(-)+([0-9]) ]] && usage && exit 1
fi

case $1 in
    -bu|--brightness-up) 
        [ "$2" == "-bd" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-down" ] && error_mixed_brightness && exit 1
        brightness_up $2
        ;;
    -bd|--brightness-down) 
        [ "$2" == "-bu" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-up" ] && error_mixed_brightness && exit 1
        brightness_down $2
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    -i|--initialize)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        initialize_cfg
        exit $?
        ;;
    -l|--load-config)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        load_cfg
        exit 0
        ;;
    *) 
        usage
        exit 1
esac

Il tuo chilometraggio può variare con questo script in quanto alcuni display / adattatori supportano diverse opzioni. In caso di problemi, leggere la guida e i commenti nello script.

Spero che aiuti qualcuno!


1

Ci sono alcuni computer, come il mio Lenovo W520, che non funzionano con la Option "RegistryDwords" "EnableBrightnessControl=1"linea. Se sei uno di quelli sfortunati, puoi provare il nvidiabldriver (link qui ).

Il nvidiabldriver fornisce un modo corretto per modificare la luminosità dello schermo. Su alcuni laptop, l' Option "RegistryDwords" "EnableBrightnessControl=1"hacking farà emettere un rumore acuto al controller della retroilluminazione o alla GPU.

Basta scaricare e installare l'ultimo file Deb da qui: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

e corri:

echo "nvidiabl" | sudo tee -a /etc/modules

per garantire che il modulo verrà caricato all'avvio del computer.


1

Sto usando personalmente Vaio VPCCW21FX (Nvidia Graphic) e Ubuntu Studio 11.10 .. Ho provato molte soluzioni e niente poteva risolvere il mio problema con la luminosità dell'LCD! Alla fine ho scritto questi due file perl per impostare manualmente le funzioni di luminosità / contrasto e gamma all'interno del file di configurazione del driver Nvidia.

Questo sarà utile solo se sei in grado di cambiare la luminosità nelle Impostazioni del server Nvidia X.

Passaggio 1: creare questo file e denominarlo "Brightness-Up.pl" (è possibile utilizzare qualsiasi strumento di modifica del testo come: gedit, nano, vi, ecc. Copia e incolla)

    ### Code by forgottenrip@yahoo.com ###
    my $find1 = "0/RedBrightness=";my $find2 = "0/RedGamma=";
open FILE, "<Nvidia-Settings.cfg";
my @lines = <FILE>;
for (@lines) {
    if ($_ =~ /$find1/) { chomp $_;$value= substr($_,16,5); }
    if ($_ =~ /$find2/) { chomp $_;$value2= substr($_,11,5);}     
}
my @Lines;
if ( $value > 0.0) { $value = $value - 0.30 };  
if ( $value2 > 1.1) { $value2 = $value2 - 0.08 };  
$last_value = $value + 0.30;
$Lines[0] ="0/RedBrightness=".$last_value;
$Lines[1] ="0/GreenBrightness=".$last_value;;
$Lines[2] ="0/BlueBrightness=".$last_value;;
$last_value = $value + 0.30;
$Lines[3] ="0/RedContrast=".$last_value;;
$Lines[4] ="0/GreenContrast=".$last_value;;
$Lines[5] ="0/BlueContrast=".$last_value;;
$last_value = $value2 + 0.08;
$Lines[6] ="0/RedGamma=".$last_value;;
$Lines[7] ="0/GreenGamma=".$last_value;;
$Lines[8] ="0/BlueGamma=".$last_value;;

$filename = "Nvidia-Settings.cfg";
open fh2,'>',$filename or die ("can't open '$filename': $! \n");
foreach ( @Lines )
{ chomp;print "$_\n";print fh2 "$_\n"; };
close fh2; 
`nvidia-settings -l --config=Nvidia-Settings.cfg`;

Passaggio 2: quindi crea un altro file, chiamalo "Brightness-Down.pl" e compila con questo codice:

    ### Code by forgottenrip@yahoo.com ###
    my $find1 = "0/RedBrightness=";my $find2 = "0/RedGamma=";
open FILE, "<Nvidia-Settings.cfg";
my @lines = <FILE>;
for (@lines) {
    if ($_ =~ /$find1/) {chomp $_;$value= substr($_,16,5);}
    if ($_ =~ /$find2/) {chomp $_;$value2= substr($_,11,5);}     
}
my @Lines;
if ( $value < -0.80) { $value = $value + 0.30 };  
if ( $value2 < 0.8) { $value2 = $value2 + 0.08 };  
$last_value = $value - 0.30;
$Lines[0] ="0/RedBrightness=".$last_value;
$Lines[1] ="0/GreenBrightness=".$last_value;;
$Lines[2] ="0/BlueBrightness=".$last_value;;
$last_value = $value - 0.30;
$Lines[3] ="0/RedContrast=".$last_value;;
$Lines[4] ="0/GreenContrast=".$last_value;;
$Lines[5] ="0/BlueContrast=".$last_value;;
$last_value = $value2 - 0.08;
$Lines[6] ="0/RedGamma=".$last_value;;
$Lines[7] ="0/GreenGamma=".$last_value;;
$Lines[8] ="0/BlueGamma=".$last_value;;

$filename = "Nvidia-Settings.cfg";
open fh2,'>',$filename or die ("can't open '$filename': $! \n");
foreach ( @Lines )
{ chomp;print "$_\n";print fh2 "$_\n"; };
close fh2; 
`nvidia-settings -l --config=Nvidia-Settings.cfg`;

Passaggio 3: Devi creare un altro file che contenga le Impostazioni Nvidia. Denominalo "Nvidia-Settings.cfg" è importante che tu scriva il nome esattamente lo stesso. riempire con:

0/RedBrightness=0.1
0/GreenBrightness=0.1
0/BlueBrightness=0.1
0/RedContrast=0.1
0/GreenContrast=0.1
0/BlueContrast=0.1
0/RedGamma=1.14
0/GreenGamma=1.14
0/BlueGamma=1.14

Questo è tutto! ora posiziona questi file in una cartella unica .. devi associare i tuoi tasti funzione a questi due file perl. puoi usare i comandi Compiz> per farlo. Esegui sotto il comando per installare compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

o anche tu puoi eseguire separatamente con questi due comandi nella shell (terminale):

user$ perl Brightness/Brightness-Up.pl
user$ perl Brightness/Brightness-Down.pl

dove Brightness è la cartella in cui ho inserito quei file.


1

Script bash di luminosità NVIDIA

Lo script perl sopra non ha funzionato per me, quindi ho scritto il mio script come script bash (dal momento che non conosco perl). È diventato un po 'lungo ma crea il file delle impostazioni da solo e può essere utilizzato con le opzioni della riga di comando per regolare la luminosità o la gamma o entrambi contemporaneamente. Lo uso con gli interruttori --brightness-up e --brightness-down per i tasti di luminosità sulla mia tastiera. Facile da assegnare in XFCE4 e sicuramente anche in KDE / GNOME.

nvidia-brightness.sh:

#!/bin/sh

# Tested only with nvidia-settings-319.12 and nvidia-drivers-319.17 on Funtoo Linux running XFCE 4.10
#
# Requirements:
# - NVIDIA Drivers (e.g. nvidia-current in Ubuntu)
# - NVIDIA Settings (nvidia-settings in Ubuntu)
# - xrandr (used by default to determine the correct display name)
#
# This script can be used to change the brightness on systems with an NVIDIA graphics card
# that lack the support for changing the brightness (probably needing acpi backlight).
# It uses "nvidia-settings -a" to assign new gamma or brightness values to the display.
#
# "nvidia-brightness.sh" may be run from the command line or can be assigned to the brightness keys on your Keyboard
# e.g. in XFCE4.
#
# Type "nvidia-brightness.sh --help" for valid options.

usage ()
{
cat << ENDMSG
Usage: 
   nvidia-brightness.sh [ options ]
Options:
   [ -gu ] or [ --gamma-up ]         increase gamma by 0.1
   [ -gd ] or [ --gamma-down ]       decrease gamma by 0.1
   [ -bu ] or [ --brightness-up ]    increase brightness by 0.1
   [ -bd ] or [ --brightness-down ]  decrease brightness by 0.1
   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     gamma will be set to 1.0 and brightness to 0.0
                                     (NVIDIA Standard).
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -gd       this will decrease gamma by 0.1
   nvidia-brightness -bu -gd   this will increase brightness by 0.1 and decrease gamma by 0.1
ENDMSG
}

case $1 in 
    -h|--help)
        usage
        exit 0
esac

if [ "$1" != "-i" -a "$1" != "--initialize" ]; then
    if [ ! -f ~/.nvidia-brightness.cfg ]; then 
        echo 'You must run this script with the --initialize option once to create the settings file.'
        echo 'Type "nvidia-brightness.sh --help" for more information.';
        exit 1
    fi
fi

#### INITIALIZE ####
initialize_cfg ()
{
CONNECTED="[`xrandr | grep " connected" | awk '{ print $1 }'`]"
#CONNECTED="`cat ~/.nvidia-settings-rc  | grep RedBrightness | grep -o "\[.*]"`"
#CONNECTED="[DVI-I-1]"
#CONNECTED="[dpy:2]"
#CONNECTED="0"

if [ -f ~/.nvidia-settings-rc ]; then 
    if [ "`grep RedGamma ~/.nvidia-settings-rc`" != "" ]; then
        if [ "`grep RedBrightness ~/.nvidia-settings-rc`" != "" ]; then
            GAMMA_TEMP=`grep RedGamma= ~/.nvidia-settings-rc | sed s/^.*=//`
            BRIGHTNESS_TEMP=`grep RedBrightness= ~/.nvidia-settings-rc | sed s/^.*=//`
            NVIDIA_SETTINGS_OK=1
        fi
    fi
fi


[ "$NVIDIA_SETTINGS_OK" != "1" ] && \
GAMMA_TEMP=1.000000 \
BRIGHTNESS_TEMP=0.000000

echo "\
CONNECTED_DISPLAY=$CONNECTED
GAMMA=$GAMMA_TEMP
BRIGHTNESS=$BRIGHTNESS_TEMP" > ~/.nvidia-brightness.cfg

source ~/.nvidia-brightness.cfg

GAMMACOMMA=`echo $GAMMA | sed s/"\."/"\,"/`
BRIGHTNESSCOMMA=`echo $BRIGHTNESS | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null
}

#### LOAD CONFIGURATION ####
load_cfg ()
{
source ~/.nvidia-brightness.cfg

GAMMACOMMA=`echo $GAMMA | sed s/"\."/"\,"/`
BRIGHTNESSCOMMA=`echo $BRIGHTNESS | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null
}

#### GAMMA CHANGE ####
gamma_up ()
{
source ~/.nvidia-brightness.cfg

GAMMANEW=`echo $GAMMA | awk '{printf "%f", $GAMMA + 0.100000}'`

GAMMACOMMA=`echo $GAMMANEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA  1>/dev/null 

sed -i  s/.*GAMMA=.*/GAMMA=$GAMMANEW/g ~/.nvidia-brightness.cfg
}

gamma_down ()
{
source ~/.nvidia-brightness.cfg

GAMMANEW=`echo $GAMMA | awk '{printf "%f", $GAMMA - 0.100000}'`

GAMMACOMMA=`echo $GAMMANEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA  1>/dev/null

sed -i  s/.*GAMMA=.*/GAMMA=$GAMMANEW/g ~/.nvidia-brightness.cfg
}

#### BRIGHTNESS CHANGE ####
brightness_up ()
{
source ~/.nvidia-brightness.cfg

BRIGHTNESSNEW=`echo $BRIGHTNESS | awk '{printf "%f", $BRIGHTNESS + 0.100000}'`

BRIGHTNESSCOMMA=`echo $BRIGHTNESSNEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null

sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg
}

brightness_down ()
{
source ~/.nvidia-brightness.cfg

BRIGHTNESSNEW=`echo $BRIGHTNESS | awk '{printf "%f", $BRIGHTNESS - 0.100000}'`

BRIGHTNESSCOMMA=`echo $BRIGHTNESSNEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null

sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg
}

if [ "$3" != "" ]; then
    usage
    exit 1
fi

error_mixed_gamma ()
{
    echo "Error: [ --gamma-up ] and [ --gamma-down ] can't be used together."
}

error_mixed_brightness ()
{
    echo "Error: [ --brightness-up ] and [ --brightness-down ] can't be used together."
}


if [ "$2" != "" ]; then
    [ "$2" != "-bu" -a "$2" != "--brightness-up" -a "$2" != "-bd" -a "$2" != "--brightness-down" \
    -a "$2" != "-gu" -a "$2" != "--gamma-up" -a "$2" != "-gd" -a "$2" != "--gamma-down" ] && usage && exit 1
fi

case $1 in
    -gu|--gamma-up) 
        [ "$2" == "-gd" ] && error_mixed_gamma && exit 1
        [ "$2" == "--gamma-down" ] && error_mixed_gamma && exit 1
        gamma_up
        ;;
    -gd|--gamma-down) 
        [ "$2" == "-gu" ] && error_mixed_gamma && exit 1
        [ "$2" == "--gamma-up" ] && error_mixed_gamma && exit 1
        gamma_down
        ;;
    -bu|--brightness-up) 
        [ "$2" == "-bd" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-down" ] && error_mixed_brightness && exit 1
        brightness_up
        ;;
    -bd|--brightness-down) 
        [ "$2" == "-bu" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-up" ] && error_mixed_brightness && exit 1
        brightness_down
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    -i|--initialize)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        initialize_cfg
        exit 0
        ;;
    -l|--load-config)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        load_cfg
        exit 0
        ;;
    *) 
        usage
        exit 1
esac

case $2 in
    -gu|--gamma-up) 
        gamma_up
        ;;
    -gd|--gamma-down) 
        gamma_down
        ;;
    -bu|--brightness-up) 
        brightness_up
        ;;
    -bd|--brightness-down) 
        brightness_down
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    "")
        ;;
    *) 
        usage
        exit 1
esac

Uso:

Salvare il file da qualche parte nel PERCORSO, ad es

/usr/local/bin/nvidia-brightness.sh

Non dimenticare di

chmod +x /usr/local/bin/nvidia-brightness.sh

Prima di poterlo utilizzare devi digitare

nvidia-brightness.sh -i

Ciò creerà il file delle impostazioni e può anche essere utilizzato per ripristinare la luminosità in qualsiasi momento.

genere

nvidia-settings.sh --help

per più opzioni:

Usage: 
   nvidia-brightness.sh [ options ]
Options:
   [ -gu ] or [ --gamma-up ]         increase gamma by 0.1
   [ -gd ] or [ --gamma-down ]       decrease gamma by 0.1
   [ -bu ] or [ --brightness-up ]    increase brightness by 0.1
   [ -bd ] or [ --brightness-down ]  decrease brightness by 0.1
   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     gamma will be set to 1.0 and brightness to 0.0
                                     (NVIDIA Standard).
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -gd       this will decrease gamma by 0.1
   nvidia-brightness -bu -gd   this will increase brightness by 0.1 and decrease gamma by 0.1

Questo sembra esattamente quello che sto cercando, ma viene visualizzato un errore: ERRORE: Errore durante l'analisi dell'assegnazione '/ Gamma =' (Nessun valore di attributo specificato).
James,

1

Le altre risposte sono buoni passaggi da provare, ma nota che alcune combinazioni di Ubuntu / Linux Kernel e il driver Nvidia non funzioneranno. Ho usato 12.04 per anni, e anche se ho provato tutte le risposte di cui sopra, non sono riuscito a ottenere nessuno dei driver Nvidia per supportare l'oscuramento dello schermo sul mio Macbook Pro 5,5.

Quando ho finalmente eseguito l'aggiornamento a 14.04, ho provato il driver Nouveau, che supportava l'oscuramento dello schermo, ed era generalmente più veloce e più affidabile e Nvidia. Sfortunatamente, non supporta la sospensione / ripresa, rendendolo inutile su un laptop. Sono tornato a Nvidia, ma diversi driver hanno causato l'arresto anomalo di X / lightdm, impedendomi persino di accedere. Ho finalmente scoperto che il driver Nvidia 340 era stabile con il mio Macbook Pro 5,5 e Ubuntu 14.04 e supportava anche il dimming.


1

Cordiali saluti, ho appena lavorato a questo su un Lenovo W520 e l'aggiunta dell'opzione di linea semplice "RegistryDwords" "EnableBrightnessControl = 1"

a xorg.conf è bastato - non c'è bisogno di nessuna altra bogosity e tutto funziona bene con una versione corrente di NVidia (in particolare, con 346.35)



0

Ho avuto lo stesso problema in Ubuntu 16.10, dopo l'aggiornamento dalla 16.04. Nel file xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /), ho cambiato il driver da "intel" a "nvidia".


2
Grazie per aver cercato di aiutare! Ti dispiacerebbe descrivere un po 'il processo?
earthmeLon

0

Tornando al kernel 4.4 di Linux, il problema è stato risolto sul mio Macbook Pro Late 2013 15 ".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.