O brilho não funciona após a instalação do driver NVIDIA


26

Eu instalei recentemente o Ubuntu 11.10 no meu Mac Book Pro 7,1. Eu instalei o driver NVIDIA (285). As teclas de brilho estão funcionando (F1 e F2) e recebo a caixa mostrando o brilho, mas não faz nada. Posso alterar o brilho no aplicativo NVIDIA X Server Settings. Como posso obter o brilho funcionando sem desinstalar o driver? Desde já, obrigado.


A mesma coisa aconteceu comigo em um MacBook Pro 5,5.
Cerin

1
Apenas um acompanhamento, tentei todas as soluções documentadas e nada funcionou, incluindo o uso do driver Nvida mais recente. No entanto, quando eu limpei o driver da Nvidia e usei o driver Nouveau de código aberto, o escurecimento da tela imediatamente começou a funcionar.
Cerin

@ Cerin, por que não escrever isso como resposta, incluindo todas as etapas para que um usuário iniciante possa segui-lo? Envie-me um comentário quando tiver feito isso e, se for uma boa resposta, eu votarei nele e provavelmente também ajudará outras pessoas.
Elder Geek

1
@ElderGeek, infelizmente, o Nouveau não suporta suspensão / currículo, tornando-o inútil para um laptop, o que é uma pena, porque, de outra forma, era melhor que o driver da Nvidia. Atualizei para 14.04 e o driver Nvidia 340 e agora o escurecimento da tela funciona.
Cerin

Respostas:


43

Consegui colocar minhas teclas de brilho funcionando no meu Lenovo W530 no Ubuntu 12.04.

Atualmente, o X se configura automaticamente, portanto, a criação de um arquivo xorg.conf pode tornar seu sistema inflexível. Em vez disso, você pode adicionar uma seção a um arquivo em /usr/share/X11/xorg.conf.d/ e o X incluirá essa seção na configuração que ele gera automaticamente.

Portanto, para que as teclas de brilho da tela funcionem com sua placa de vídeo Nvidia, crie um arquivo no diretório xorg.conf.d, por exemplo:

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

Cole o seguinte no arquivo:

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

Efetue logout e logon novamente, ou reinicie, e suas teclas de brilho devem funcionar agora!

(Eu escrevi isso aqui )


Obrigado, ele funciona para mim no Ubuntu 14.04 no Lenovo W530 com o driver oficial da nvidia (baixado do site da nvidia).
Saeed Zarinfam

Eu tenho uma máquina W530 com linux mint 17.3, esta solução se aplica diretamente (para mim, basta sair e fazer o login de obras, sem necessidade de reinicialização).
user22363

Funcionou perfeitamente, este deve ser marcado como a resposta correta
OKAN

1
Não funcionou para mim em um macbook 5.1 com GeForce 9400M. Inicializa em uma tela preta após o grub. Teve que remover para o arquivo usando uma imagem da vida de uma unidade USB. Estou em uma nova instalação do Ubuntu Gnome 16.04.
mace

3
Como descobrir o BoardName? Pode parecer estúpido, mas esse pode ser o motivo de eu não fazer isso funcionar.
davidbaumann 23/09

6

Eu tive um problema semelhante no meu laptop, há uma opção que você precisa adicionar ao seu /etc/X11/xorg.conf

  1. Comando de execução:

    sudo nano /etc/X11/xorg.conf
    
  2. Encontre a linha Seção "Dispositivo" e adicione o seguinte

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    

Isso também funciona com o Ubuntu 12.04
shaneonabike

Xubuntu 12.04 funciona tão bem
Stasik

Isso não funciona para mim no 12.04.
Cerin

Isso não funciona para mim em 18.04
Hany Alsamman

1
O 18.04 não possui esse arquivo, mas a criação de um novo arquivo .conf, como a resposta de Chris Pearce, também funciona.
rogerdpack

4

Você precisa ativar o Controle de brilho. Abra o terminal e digite sudo gedit /etc/x11/xorg.conf E, em seguida, adicione Option "RegistryDwords" "EnableBrightnessControl=1"dentro da seção do dispositivo , cole-o em uma nova linha. Em seguida, reinicie o computador e tudo ficará bem.


Não faça isso no Ubuntu 18. O caminho x11 deve ser X11 e deve estar dentro da Seção, mas mesmo isso não funciona.
Shital Shah

3

Obrigado por fornecer o ótimo script qgj. É triste que esse bug ainda persista e a solução alternativa seja necessária. Eu tive o mesmo problema que James ao receber um erro devido às opções não serem mais válidas com nvidia-settings para o meu tipo de exibição específico. Por sorte, existe uma configuração melhor disponível para o brilho da luz de fundo. Modifiquei o script bash para usar essa configuração.

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

Sua milhagem pode variar com esse script, pois alguns monitores / adaptadores suportam opções diferentes. Se você encontrar problemas com isso, leia a ajuda e os comentários no script.

Espero que ajude alguém!


1

Existem alguns computadores, como o meu Lenovo W520, que não combinam Option "RegistryDwords" "EnableBrightnessControl=1". Se você é um daqueles azarados, pode tentar o nvidiabldriver (link aqui ).

O nvidiabldriver fornece uma maneira adequada de alterar o brilho da tela. Em alguns laptops, o Option "RegistryDwords" "EnableBrightnessControl=1"hack fará com que o controlador de luz de fundo ou sua GPU emita um ruído agudo.

Basta baixar e instalar o arquivo Deb mais recente aqui: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

e corra:

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

para garantir que o módulo seja carregado quando o computador inicializar.


1

Pessoalmente, estou usando o Vaio VPCCW21FX (Nvidia Graphic) e o Ubuntu Studio 11.10. Tentei muitas soluções e nada poderia resolver meu problema com o brilho do LCD! Finalmente, escrevi esses dois arquivos perl para definir manualmente as funções brilho / contraste e gama dentro do arquivo de configuração do driver da Nvidia.

Isso será útil apenas se você conseguir alterar o brilho nas Configurações do servidor Nvidia X

Etapa 1: crie esse arquivo e chame-o de "Brightness-Up.pl" (você pode usar qualquer ferramenta de edição de texto como: gedit, nano, vi, etc. copie e cole)

    ### 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`;

Etapa 2: crie outro arquivo, nomeie-o "Brightness-Down.pl" e preencha com este código:

    ### 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`;

Etapa 3: você precisa criar outro arquivo que contenha Configurações da Nvidia. Nomeie-o como "Nvidia-Settings.cfg". É importante que você escreva o nome exatamente da mesma forma. preencher com:

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

É isso aí! Agora, coloque esses arquivos em uma pasta exclusiva. É necessário vincular suas teclas de função a esses dois arquivos perl. Você pode usar os comandos Compiz> para fazer isso. Execute o comando abaixo para instalar o compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

ou você pode executar separadamente com estes dois comandos no shell (terminal):

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

onde Brightness é pasta, eu coloquei esses arquivos nela.


1

Script de brilho da NVIDIA

O script perl acima não funcionou para mim, então escrevi meu próprio script como um script bash (já que não conheço o perl). Ele ficou um pouco longo, mas cria o arquivo de configurações por si só e pode ser usado com opções de linha de comando para ajustar o brilho, gama ou ambos ao mesmo tempo. Eu o uso com os interruptores --brightness up e --brightness down para as teclas de brilho do meu teclado. Fácil de atribuir no XFCE4 e certamente também no 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:

Salve o arquivo em algum lugar do seu PATH, por exemplo

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

Não esqueça de

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

Antes de poder usá-lo, você deve digitar

nvidia-brightness.sh -i

Isso criará o arquivo de configurações e também pode ser usado para redefinir o brilho a qualquer momento.

Tipo

nvidia-settings.sh --help

para mais opções:

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

Parece exatamente o que estou procurando, mas recebo um erro: ERRO: Erro ao analisar a atribuição '/ Gamma =' (nenhum valor de atributo especificado).
James

1

As outras respostas são boas etapas para tentar, mas observe que algumas combinações do Kernel do Ubuntu / Linux e o driver da Nvidia simplesmente não funcionam. Eu usei o 12.04 por anos e, mesmo tendo tentado todas as respostas acima, não consegui nenhum dos drivers da Nvidia compatíveis com o escurecimento da tela no meu Macbook Pro 5,5.

Quando finalmente atualizei para a versão 14.04, tentei o driver Nouveau, que suportava o escurecimento da tela, e geralmente era mais rápido e confiável e a Nvidia. Infelizmente, ele não suporta suspensão / currículo, tornando-o inútil em um laptop. Voltei para a Nvidia, mas vários drivers causaram uma falha no X / lightdm, impedindo-me de fazer login. Finalmente, descobri que o driver da Nvidia 340 estava estável com o meu Macbook Pro 5,5 e Ubuntu 14.04 e também suportava o escurecimento.


1

Para sua informação, apenas trabalhei nisso em um Lenovo W520 e a adição da linha simples Option "RegistryDwords" "EnableBrightnessControl = 1"

para o xorg.conf foi suficiente - não há necessidade de nenhuma outra bogosidade, e tudo funciona bem com uma versão atual do NVidia (especificamente, executando 346.35)



0

Eu tive o mesmo problema no Ubuntu 16.10, após a atualização do 16.04. No arquivo xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /), mudei o driver de "intel" para "nvidia".


2
Obrigado por tentar ajudar! Você se importaria em descrever um pouco o processo?
earthmeLon

0

Voltando ao linux kernel 4.4, o problema foi corrigido no meu Macbook Pro Final de 2013 15 ".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.