El brillo no funciona después de instalar el controlador NVIDIA

26

Recientemente instalé Ubuntu 11.10 en mi Mac Book Pro 7,1. Instalé el controlador NVIDIA (285). Las teclas de brillo están funcionando (F1 y F2) y obtengo el cuadro que muestra el brillo pero no hace nada. Puedo cambiar el brillo en la aplicación NVIDIA X Server Settings. ¿Cómo puedo hacer que el brillo funcione sin desinstalar el controlador? Gracias por adelantado.

YFGD
fuente
Lo mismo me sucedió en un MacBook Pro 5,5.
Cerin
1
Solo un seguimiento, probé todas las soluciones documentadas, y nada funcionó, incluido el uso del controlador Nvida más reciente. Sin embargo, cuando purgué el controlador Nvidia y usé el controlador Nouveau de código abierto, la atenuación de la pantalla comenzó a funcionar de inmediato.
Cerin
@Cerin, ¿por qué no escribir eso como una respuesta que incluye todos los pasos para que un usuario novato pueda seguirlo? Envíame un comentario cuando lo hayas hecho y, si es una buena respuesta, lo votaré y probablemente también ayudará a otros.
Élder Geek
1
@ElderGeek, desafortunadamente, Nouveau no admite suspender / reanudar, lo que lo hace inútil para una computadora portátil, lo cual es una pena porque de lo contrario era mejor que el controlador Nvidia. Actualicé a 14.04 y el controlador Nvidia 340, y ahora funciona la atenuación de pantalla.
Cerin

Respuestas:

43

Pude hacer que mis teclas de brillo funcionaran en mi Lenovo W530 en Ubuntu 12.04.

En estos días, X se configura automáticamente, por lo que crear un archivo xorg.conf puede hacer que su sistema sea inflexible. En su lugar, puede agregar una sección a un archivo en /usr/share/X11/xorg.conf.d/ y X incluirá esa sección en la configuración que genera automáticamente.

Entonces, para que las teclas de brillo de la pantalla funcionen con su tarjeta gráfica Nvidia, cree un archivo en el directorio xorg.conf.d, por ejemplo:

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

Pegue lo siguiente en el archivo:

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

¡Cierre sesión y vuelva a iniciar sesión, o reinicie, y sus teclas de brillo ahora deberían funcionar!

(Blogueé esto aquí )

Chris Pearce
fuente
Gracias, funciona para mí en Ubuntu 14.04 en Lenovo W530 con el controlador oficial de nvidia (descargado del sitio de nvidia).
Saeed Zarinfam
Tengo una máquina W530 con linux mint 17.3, esta solución se aplica directamente (para mí simplemente cerrar sesión e iniciar sesión funciona, no es necesario reiniciar).
user22363
Funcionó perfectamente, esto debería marcarse como la respuesta correcta
OKAN
1
No funcionó para mí en un macbook 5.1 con GeForce 9400M. Botas en una pantalla negra después de la comida. Tuve que eliminar el archivo usando una imagen de vida de una unidad USB. Estoy en una nueva instalación de Ubuntu Gnome 16.04.
maza
3
¿Cómo averiguar BoardName? Puede sonar estúpido, pero esta podría ser la razón por la que no lo hago funcionar.
davidbaumann
6

Tuve un problema similar con mi computadora portátil, hay una opción que debe agregar a su /etc/X11/xorg.conf

  1. Ejecutar comando:

    sudo nano /etc/X11/xorg.conf
    
  2. Busque la sección de línea "Dispositivo" y agregue lo siguiente

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    
Micro
fuente
Esto también funciona con Ubuntu 12.04
shaneonabike
Xubuntu 12.04 también funciona
Stasik
Esto no funciona para mí en 12.04.
Cerin
Esto no funciona para mí en 18.04
Hany Alsamman
1
18.04 no tiene este archivo, pero crear un nuevo archivo .conf como la respuesta de Chris Pearce también funciona.
rogerdpack
4

Debe habilitar el Control de brillo. Abra el terminal y escriba sudo gedit /etc/x11/xorg.conf Y luego agregue Option "RegistryDwords" "EnableBrightnessControl=1"dentro de la sección del dispositivo , péguelo en una nueva línea. Luego reinicie su computadora y todo debería estar bien.

Gundars Mēness
fuente
No hagas esto en Ubuntu 18. La ruta x11 debería ser X11 y debería estar dentro de la Sección, pero incluso eso no funciona.
Shital Shah
3

Gracias por proporcionar el gran script qgj. Es triste que este error aún persista y se necesite una solución alternativa. Tuve el mismo problema que James obteniendo un error debido a que las opciones ya no son válidas con la configuración de nvidia para mi tipo de pantalla específico. Por suerte, hay una mejor configuración disponible para el brillo de la luz de fondo. He modificado el script bash para usar esta configuración en su lugar.

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

Su kilometraje puede variar con este script, ya que algunas pantallas / adaptadores admiten diferentes opciones. Si encuentra problemas con él, lea la ayuda y los comentarios en el guión.

Espero que ayude a alguien!

xhalarin
fuente
1

Hay algunas computadoras, como mi Lenovo W520, que no funcionan con la Option "RegistryDwords" "EnableBrightnessControl=1"línea. Si eres uno de esos desafortunados, puedes probar el nvidiablcontrolador (enlace aquí ).

El nvidiablcontrolador proporciona una forma adecuada de cambiar el brillo de la pantalla. En algunas computadoras portátiles, el Option "RegistryDwords" "EnableBrightnessControl=1"pirateo hará que el controlador de luz de fondo o su GPU emitan un ruido agudo.

Simplemente descargue e instale el último archivo Deb desde aquí: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

y correr:

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

para asegurarse de que el módulo se cargará cuando la computadora arranque.

Andrew Gunnerson
fuente
1

Personalmente estoy usando Vaio VPCCW21FX (Nvidia Graphic) y Ubuntu Studio 11.10 .. ¡Probé muchas soluciones y nada pudo resolver mi problema con el brillo de la pantalla LCD! Finalmente escribí estos dos archivos perl para configurar manualmente las funciones de brillo / contraste y gamma dentro del archivo de configuración del controlador Nvidia.

Esto será útil solo si puede cambiar el brillo dentro de la Configuración del servidor Nvidia X

Paso 1: cree este archivo y asígnele el nombre "Brightness-Up.pl" (puede usar cualquier herramienta de edición de texto como: gedit, nano, vi, etc. copiar y pegar)

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

Paso 2: luego cree otro archivo, asígnele el nombre "Brightness-Down.pl" y complete con este código:

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

Paso 3: debe crear otro archivo que contenga la Configuración de Nvidia ... asígnele el nombre "Nvidia-Settings.cfg", es importante que escriba el nombre exactamente igual. llenar 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

¡Eso es! ahora coloque estos archivos en una carpeta única ... debe vincular sus teclas de función a estos dos archivos perl. puede usar los comandos Compiz> para hacerlo. Ejecute el siguiente comando para instalar compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

o incluso puede ejecutar por separado con estos dos comandos en shell (terminal):

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

donde Brightness es la carpeta puse esos archivos en ella.

Amir Reza Adib
fuente
1

Script de bash de brillo de NVIDIA

El script perl anterior no funcionó para mí, así que escribí mi propio script como bash script (ya que no sé perl). Se hizo un poco largo, pero crea el archivo de configuración por sí mismo y se puede usar con opciones de línea de comando para ajustar el brillo o la gamma o ambos al mismo tiempo. Lo uso con los interruptores --brillo de brillo y aumento de brillo para las teclas de brillo de mi teclado. Fácil de asignar en XFCE4 y seguramente también en 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:

Guarde el archivo en algún lugar en su RUTA

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

No te olvides de

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

Antes de poder usarlo, debe escribir

nvidia-brightness.sh -i

Esto creará el archivo de configuración y también se puede usar para restablecer el brillo en cualquier momento.

Tipo

nvidia-settings.sh --help

para más opciones:

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
revs qgj
fuente
Esto se ve exactamente lo que estoy buscando, pero aparece un error: ERROR: Error al analizar la asignación '/ Gamma =' (No se especificó ningún valor de atributo).
James
1

Las otras respuestas son buenos pasos para probar, pero tenga en cuenta que algunas combinaciones de Ubuntu / Linux Kernel y el controlador Nvidia simplemente no funcionarán. Utilicé 12.04 durante años, y aunque probé todas las respuestas anteriores, no pude conseguir que ninguno de los controladores de Nvidia admitiera la atenuación de pantalla en mi Macbook Pro 5,5.

Cuando finalmente actualicé a 14.04, probé el controlador Nouveau, que admitía la atenuación de la pantalla, y en general era más rápido y más confiable y Nvidia. Desafortunadamente, no admite suspender / reanudar, lo que lo hace inútil en una computadora portátil. Volví a Nvidia, pero varios controladores causaron que X / lightdm se bloqueara, evitando que incluso inicie sesión. Finalmente descubrí que el controlador Nvidia 340 era estable con mi Macbook Pro 5,5 y Ubuntu 14.04 y también admitía la atenuación.

Cerin
fuente
1

Para su información, acabo de resolver esto en un Lenovo W520, y la adición de la opción de línea simple "RegistryDwords" "EnableBrightnessControl = 1"

para xorg.conf fue suficiente, no es necesario para ninguno de los otros bogosity, y todo funciona bien con una versión actual de NVidia (específicamente, ejecutando 346.35)

Tim Dawson
fuente
0

Tuve el mismo problema en Ubuntu 16.10, después de actualizar desde 16.04. En el archivo xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /), cambié el controlador de "intel" a "nvidia".

Shankar Sivarajan
fuente
2
¡Gracias por intentar ayudar! ¿Te importaría describir un poco el proceso?
earthmeLon
0

Volviendo a Linux kernel 4.4 solucionó el problema en mi Macbook Pro finales de 2013 15 ".

Luca Di Liello
fuente