La luminosité ne fonctionne pas après l'installation du pilote NVIDIA

26

J'ai récemment installé Ubuntu 11.10 sur mon Mac Book Pro 7,1. J'ai installé le pilote NVIDIA (285). Les touches de luminosité fonctionnent (F1 et F2) et je reçois la boîte affichant la luminosité mais cela ne fait rien. Je peux modifier la luminosité dans l'application Paramètres du serveur NVIDIA X. Comment faire fonctionner la luminosité sans désinstaller le pilote? Merci d'avance.

YFGD
la source
La même chose m'est arrivée sur un MacBook Pro 5,5.
Cerin
1
Juste un suivi, j'ai essayé toutes les solutions documentées, et rien n'a jamais fonctionné, y compris en utilisant le pilote Nvida le plus récent. Cependant, lorsque j'ai purgé le pilote Nvidia et utilisé le pilote Open source Nouveau, la gradation d'écran a immédiatement commencé à fonctionner.
Cerin
@Cerin pourquoi ne pas écrire cela comme une réponse comprenant toutes les étapes afin qu'un utilisateur novice puisse le suivre? Envoyez-moi un commentaire lorsque vous l'avez fait et si c'est une bonne réponse, je vais le voter, et cela aidera probablement aussi les autres.
Elder Geek
1
@ElderGeek, Malheureusement, Nouveau ne prend pas en charge la suspension / reprise, ce qui le rend inutile pour un ordinateur portable, ce qui est dommage car il était autrement meilleur que le pilote Nvidia. J'ai mis à niveau vers 14.04 et le pilote Nvidia 340, et maintenant la gradation d'écran fonctionne.
Cerin

Réponses:

43

J'ai pu faire fonctionner mes touches de luminosité sur mon Lenovo W530 sur Ubuntu 12.04.

De nos jours, X se configure automatiquement, donc la création d'un fichier xorg.conf peut rendre votre système inflexible. Au lieu de cela, vous pouvez ajouter une section à un fichier dans /usr/share/X11/xorg.conf.d/ et X inclura cette section dans la configuration qu'il génère automatiquement.

Donc, pour que les touches de luminosité de l'écran fonctionnent avec votre carte graphique Nvidia, créez un fichier dans le répertoire xorg.conf.d, par exemple:

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

Collez ce qui suit dans le fichier:

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

Déconnectez-vous et reconnectez-vous ou redémarrez, et vos touches de luminosité devraient maintenant fonctionner!

(J'ai blogué ceci ici )

Chris Pearce
la source
Merci, cela fonctionne pour moi sur Ubuntu 14.04 sur Lenovo W530 avec le pilote officiel nvidia (téléchargé depuis le site nvidia).
Saeed Zarinfam
J'ai une machine W530 avec Linux Mint 17.3, cette solution s'applique directement (pour moi, la déconnexion et la connexion fonctionnent, aucun redémarrage n'est nécessaire).
user22363
Fonctionné parfaitement, cela devrait être marqué comme la bonne réponse
OKAN
1
N'a pas fonctionné pour moi sur un macbook 5.1 avec GeForce 9400M. Bottes dans un écran noir après grub. J'ai dû supprimer un fichier en utilisant une image de la vie à partir d'un lecteur USB. Im sur une nouvelle installation d'Ubuntu Gnome 16.04.
masse
3
Comment trouver BoardName? Cela peut sembler stupide, mais cela pourrait être la raison pour laquelle je ne le fais pas fonctionner.
davidbaumann
6

J'ai eu un problème similaire avec mon ordinateur portable, il y a une option que vous devez ajouter à votre /etc/X11/xorg.conf

  1. Exécuter la commande:

    sudo nano /etc/X11/xorg.conf
    
  2. Recherchez la ligne Section "Appareil" et ajoutez ce qui suit

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    
Mike
la source
Cela fonctionne également avec Ubuntu 12.04
shaneonabike
Xubuntu 12.04 fonctionne également
Stasik
Cela ne fonctionne pas pour moi en 12.04.
Cerin
Cela ne fonctionne pas pour moi en 18.04
Hany Alsamman
1
18.04 n'a pas ce fichier mais la création d'un nouveau fichier .conf comme la réponse de Chris Pearce fonctionne aussi.
rogerdpack
4

Vous devez activer le contrôle de la luminosité. Ouvrez le terminal et tapez sudo gedit /etc/x11/xorg.conf Et puis ajoutez Option "RegistryDwords" "EnableBrightnessControl=1"à l'intérieur de la section de l' appareil , collez-le dans une nouvelle ligne. Redémarrez ensuite votre ordinateur et tout devrait bien se passer.

Gundars Mēness
la source
Ne faites pas cela sur Ubuntu 18. Le chemin x11 devrait X11 et cela devrait être à l'intérieur de Section mais même cela ne fonctionne pas.
Shital Shah
3

Merci d'avoir fourni le grand script qgj. Il est triste que ce bogue persiste et que la solution de contournement soit nécessaire. J'ai eu le même problème que James obtenant une erreur car les options n'étaient plus valides avec les paramètres nvidia pour mon type d'affichage spécifique. Par chance, il existe un meilleur réglage pour la luminosité du rétroéclairage. J'ai modifié le script bash pour utiliser ce paramètre à la place.

#!/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

Votre kilométrage peut varier avec ce script car certains écrans / adaptateurs prennent en charge différentes options. Si vous rencontrez des problèmes, veuillez lire l'aide et les commentaires du script.

J'espère que cela aide quelqu'un!

xhalarin
la source
1

Certains ordinateurs, comme mon Lenovo W520, ne sont pas compatibles avec la Option "RegistryDwords" "EnableBrightnessControl=1"ligne. Si vous faites partie de ces malchanceux, vous pouvez essayer le nvidiablpilote (lien ici ).

Le nvidiablpilote fournit un moyen approprié de modifier la luminosité de l'écran. Sur certains ordinateurs portables, le Option "RegistryDwords" "EnableBrightnessControl=1"piratage provoquera l'émission d'un bruit aigu par le contrôleur de rétroéclairage ou votre GPU.

Téléchargez et installez simplement le dernier fichier Deb à partir d'ici: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

et courir:

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

pour vous assurer que le module sera chargé au démarrage de l'ordinateur.

Andrew Gunnerson
la source
1

Im personnellement en utilisant Vaio VPCCW21FX (Nvidia Graphic) et Ubuntu Studio 11.10 .. J'ai essayé de nombreuses solutions et rien ne pouvait résoudre mon problème de luminosité LCD! Enfin écrit ces deux fichiers Perl pour définir manuellement les fonctions luminosité / contraste et gamma dans le fichier de configuration du pilote Nvidia.

Cela ne sera utile que si vous pouvez modifier la luminosité dans les paramètres du serveur Nvidia X

Étape 1: créez ce fichier et nommez-le "Brightness-Up.pl" (vous pouvez utiliser n'importe quel outil d'édition de texte comme: gedit, nano, vi, etc. copier-coller)

    ### Code by [email protected] ###
    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`;

Étape 2: puis créez un autre fichier, nommez-le "Brightness-Down.pl" et remplissez avec ce code:

    ### Code by [email protected] ###
    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`;

Étape 3: Vous devez créer un autre fichier qui contient les paramètres Nvidia .. nommez-le "Nvidia-Settings.cfg", il est important que vous écriviez exactement le même nom. remplir avec:

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

C'est ça! placez maintenant ces fichiers dans un dossier unique .. vous devez lier vos touches de fonction à ces deux fichiers perl. vous pouvez utiliser les commandes Compiz> pour le faire. Exécutez la commande ci-dessous pour installer le compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

ou même vous pouvez exécuter séparément avec ces deux commandes dans le shell (terminal):

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

où Brightness est le dossier, je mets ces fichiers dedans.

Amir Reza Adib
la source
1

Script bash de luminosité NVIDIA

Le script perl ci-dessus n'a pas fonctionné pour moi, j'ai donc écrit mon propre script en tant que script bash (car je ne connais pas perl). Il est devenu un peu long, mais il crée le fichier de paramètres lui-même et peut être utilisé avec des options de ligne de commande pour régler la luminosité ou le gamma ou les deux en même temps. Je l'utilise avec les commutateurs --brightness-up et --brightness-down pour les touches de luminosité de mon clavier. Facile à assigner dans XFCE4 et sûrement aussi dans 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

Usage:

Enregistrez le fichier quelque part dans votre CHEMIN par exemple

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

N'oubliez pas

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

Avant de pouvoir l'utiliser, vous devez taper

nvidia-brightness.sh -i

Cela créera le fichier de paramètres et peut également être utilisé pour réinitialiser la luminosité à tout moment.

Type

nvidia-settings.sh --help

pour plus d'options:

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
qgj
la source
Cela ressemble exactement à ce que je recherche, mais j'obtiens une erreur: ERREUR: erreur d'analyse de l'affectation '/ Gamma =' (Aucune valeur d'attribut spécifiée).
James
1

Les autres réponses sont de bonnes étapes à essayer, mais notez que certaines combinaisons de noyau Ubuntu / Linux et le pilote Nvidia ne fonctionneront tout simplement pas. J'ai utilisé 12.04 pendant des années et même si j'ai essayé toutes les réponses ci-dessus, je n'ai pu obtenir aucun des pilotes Nvidia pour prendre en charge la gradation d'écran sur mon Macbook Pro 5,5.

Quand j'ai finalement mis à niveau vers 14.04, j'ai essayé le pilote Nouveau, qui supportait la gradation d'écran, et était généralement plus rapide et plus fiable et Nvidia. Malheureusement, il ne prend pas en charge la suspension / reprise, ce qui le rend inutile sur un ordinateur portable. Je suis revenu à Nvidia, mais plusieurs pilotes ont provoqué le plantage de X / lightdm, m'empêchant même de me connecter. J'ai finalement trouvé que le pilote Nvidia 340 était stable avec mon Macbook Pro 5,5 et Ubuntu 14.04 et supportait également la gradation.

Cerin
la source
1

Pour info, vient de travailler à travers cela sur un Lenovo W520, et l'ajout de la ligne simple Option "RegistryDwords" "EnableBrightnessControl = 1"

à xorg.conf était suffisant - pas besoin de l'autre bogosité, et tout fonctionne bien avec une version actuelle de NVidia (en particulier, exécutant 346.35)

Tim Dawson
la source
0

J'utilise une carte graphique NVIDIA et j'ai des problèmes comme vous.
Mais j'ai essayé cette chose et ça marche:

1. Installez le pilote NVIDIA avec la commande:
sudo apt-add-repository ppa: ubuntu-x-swat / x-updates
sudo apt-get update
sudo apt-get install nvidia-current
2. Ensuite , redémarrez
3. Terminé.

Source: http://noob-tech.blogspot.co.id/2015/04/Install-VGA-Driver-On-Ubuntu.html

Chat paresseux
la source
0

J'ai eu le même problème dans Ubuntu 16.10, après la mise à niveau de 16.04. Dans le fichier xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /), j'ai changé le pilote de "intel" en "nvidia".

Shankar Sivarajan
la source
2
Merci d'avoir essayé d'aider! Pourriez-vous décrire un peu le processus?
earthmeLon
0

Revenir au noyau Linux 4.4 a résolu le problème sur mon Macbook Pro fin 2013 15 ".

Luca Di Liello
la source