Яркость не работает после установки драйвера NVIDIA

26

Я недавно установил Ubuntu 11.10 на свой Mac Book Pro 7,1. Я установил драйвер NVIDIA (285). Клавиши яркости работают (F1 и F2), и я получаю окно, показывающее яркость, но это ничего не делает. Я могу изменить яркость в приложении Настройки сервера NVIDIA X. Как заставить работать яркость без удаления драйвера? Заранее спасибо.

YFGD
источник
То же самое случилось со мной на MacBook Pro 5,5.
Cerin
1
Просто для продолжения, я попробовал все документированные решения, и ничего не получалось, включая использование самого последнего драйвера Nvida. Однако, когда я очистил драйвер Nvidia и использовал драйвер Nouveau с открытым исходным кодом, затемнение экрана сразу начало работать.
15:15
@Cerin, почему бы не написать это как ответ, включающий все шаги, чтобы новичок мог следовать за ним? Оставьте мне комментарий, когда вы это сделаете, и если это будет хороший ответ, я добавлю его, и это, вероятно, поможет другим.
Старейшина Гик
1
@ElderGeek, к сожалению, Nouveau не поддерживает приостановку / возобновление, что делает его бесполезным для ноутбука, что обидно, потому что в остальном он был лучше, чем драйвер Nvidia. Я обновил до 14.04 и драйвер Nvidia 340, и теперь работает затемнение экрана.
Cerin

Ответы:

43

Мне удалось заставить мои клавиши яркости работать на моем Lenovo W530 на Ubuntu 12.04.

В наши дни X автоматически настраивается, поэтому создание файла xorg.conf может сделать вашу систему негибкой. Вместо этого вы можете добавить раздел в файл в /usr/share/X11/xorg.conf.d/, и X включит этот раздел в конфигурацию, которую он автоматически сгенерирует.

Итак, чтобы заставить клавиши яркости экрана работать с вашей видеокартой Nvidia, создайте файл в каталоге xorg.conf.d, например:

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

Вставьте следующее в файл:

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

Выйдите из системы и снова войдите в систему или перезагрузите компьютер, и теперь ваши клавиши яркости должны работать!

(Я написал это здесь )

Крис Пирс
источник
Спасибо, у меня это работает на Ubuntu 14.04 на Lenovo W530 с официальным драйвером nvidia (скачано с сайта nvidia).
Саид Заринфам
У меня есть машина W530 с linux mint 17.3, это решение применяется напрямую (для меня просто выход из системы и вход в систему работает, перезагрузка не требуется).
user22363
Сработало отлично, это следует пометить как правильный ответ
ОКАН
1
У меня не работал MacBook 5.1 с GeForce 9400M. Загружается в черный экран после grub. Пришлось удалить в файл используя образ жизни с usb-накопителя. Я на новой установке Ubuntu Gnome 16.04.
булава
3
Как узнать BoardName? Возможно, это звучит глупо, но это может быть причиной того, что я не могу заставить его работать.
Давидбауман
6

У меня была похожая проблема с моим ноутбуком, есть опция, которую нужно добавить в свой ноутбук. /etc/X11/xorg.conf

  1. Команда Run:

    sudo nano /etc/X11/xorg.conf
    
  2. Найдите строку Раздел «Устройство» и добавьте следующее

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    
Майк
источник
Это также работает с Ubuntu 12.04
shaneonabike
Xubuntu 12.04 тоже работает
Стасик
Это не работает для меня в 12.04.
Cerin
Это не работает для меня в 18.04
Хани Алсамман
1
18.04 не имеет этого файла, но создание нового файла .conf, как ответ Криса Пирса, также работает.
rogerdpack
4

Вам необходимо включить контроль яркости. Откройте терминал и введите sudo gedit /etc/x11/xorg.conf А затем добавьте Option "RegistryDwords" "EnableBrightnessControl=1"в раздел устройства , вставьте его в новую строку. Затем перезагрузите компьютер, и все должно быть в порядке.

Гундарс Месснесс
источник
Не делайте этого в Ubuntu 18. Путь x11 должен быть X11, и это должно быть внутри Раздела, но даже это не работает.
Шиталь Шах
3

Спасибо за предоставленный отличный скрипт qgj. Печально, что эта ошибка все еще сохраняется, и обходной путь необходим. У меня была та же проблема, что и у Джеймса, получающего ошибку из-за того, что параметры больше не действительны с настройками nvidia для моего конкретного типа отображения К счастью, есть лучшая настройка яркости подсветки. Я изменил скрипт bash, чтобы использовать этот параметр.

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

Ваш пробег может варьироваться в зависимости от сценария, так как некоторые дисплеи / адаптеры поддерживают разные параметры. Если у вас возникли проблемы с этим, пожалуйста, прочитайте помощь и комментарии в сценарии.

Надеюсь, это поможет кому-то!

xhalarin
источник
1

Есть некоторые компьютеры, такие как мой Lenovo W520, которые не подключены к Option "RegistryDwords" "EnableBrightnessControl=1"линии. Если вы один из тех, кому не повезло, вы можете попробовать nvidiablдрайвер (ссылка здесь ).

nvidiablДрайвер обеспечивает надлежащий способ изменить яркость экрана. На некоторых ноутбуках Option "RegistryDwords" "EnableBrightnessControl=1"взлом заставит контроллер подсветки или ваш графический процессор издавать высокие тональные шумы.

Просто скачайте и установите последнюю версию Deb-файла отсюда: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

и запустить:

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

чтобы модуль загружался при загрузке компьютера.

Эндрю Ганнерсон
источник
1

Я лично использую Vaio VPCCW21FX (Nvidia Graphic) и Ubuntu Studio 11.10 .. Я пробовал много решений, и ничто не могло решить мою проблему с яркостью ЖК-дисплея! Наконец написал эти два perl-файла, чтобы вручную установить функции яркости / контраста и гаммы в файле конфигурации драйвера Nvidia.

Это будет полезно, только если вы сможете изменить яркость в настройках Nvidia X Server.

Шаг 1: создайте этот файл и назовите его «Brightness-Up.pl» (вы можете использовать любой инструмент для редактирования текста, например: gedit, nano, vi и т. Д. Копировать и вставлять)

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

Шаг 2: затем создайте другой файл, назовите его «Brightness-Down.pl» и заполните этим кодом:

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

Шаг 3: Вам нужно создать другой файл, который содержит настройки Nvidia. Назовите его «Nvidia-Settings.cfg». Важно, чтобы вы ввели имя точно таким же. наполнить:

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

Это оно! Теперь поместите эти файлы в уникальную папку. Вы должны привязать свои функциональные клавиши к этим двум файлам perl. Для этого вы можете использовать команды Compiz> . Запустите приведенную ниже команду, чтобы установить compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

или даже вы можете работать отдельно с этими двумя командами в оболочке (терминал):

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

где Brightness - папка, я помещаю эти файлы в нее.

Амир Реза Адиб
источник
1

Скрипт яркости NVIDIA

Вышеприведенный скрипт на perl не работал для меня, поэтому я написал свой собственный скрипт как bash (так как я не знаю perl). Он получился немного длинным, но он сам создает файл настроек и может быть использован с параметрами командной строки для регулировки яркости или гаммы или того и другого одновременно. Я использую его с переключателями --brightness-up и --brightness-down для клавиш яркости на моей клавиатуре. Легко назначить в XFCE4 и, конечно, также в 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

Использование:

Сохраните файл где-нибудь в вашем PATH, например

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

Не забудь

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

Прежде чем вы сможете использовать его, вы должны ввести

nvidia-brightness.sh -i

Это создаст файл настроек и может также использоваться для сброса яркости в любое время.

Тип

nvidia-settings.sh --help

для больше вариантов:

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
мин
источник
Это выглядит именно то, что я ищу, но я получаю сообщение об ошибке: ОШИБКА: Ошибка разбора присваивания '/ Gamma =' (значение атрибута не указано).
Джеймс
1

Другие ответы - это хорошие шаги, но обратите внимание, что некоторые комбинации ядра Ubuntu / Linux и драйвера Nvidia просто не будут работать. Я использовал 12.04 в течение многих лет, и хотя я попробовал все вышеприведенные ответы, я не смог заставить ни один из драйверов Nvidia поддерживать затемнение экрана на моем Macbook Pro 5,5.

Когда я наконец обновился до 14.04, я попробовал драйвер Nouveau, который поддерживал затемнение экрана, и в целом был быстрее и надежнее, чем Nvidia. К сожалению, он не поддерживает приостановку / возобновление, что делает его бесполезным на ноутбуке. Я переключился обратно на Nvidia, но несколько драйверов вызвали сбой X / lightdm, что не позволило мне даже войти в систему. Я наконец-то обнаружил, что драйвер Nvidia 340 был стабильным с моими Macbook Pro 5,5 и Ubuntu 14.04 и также поддерживал затемнение.

Cerin
источник
1

К вашему сведению, только что проработал это на Lenovo W520, и добавил простую строку Option «RegistryDwords» «EnableBrightnessControl = 1»

чтобы xorg.conf было достаточно - не нужно никакой другой болтовни, и все отлично работает с текущей версией NVidia (в частности, под управлением 346.35)

Тим Доусон
источник
0

Я использую графическую карту NVIDIA и у меня такие же проблемы, как у вас.
Но я попробовал эту вещь, и она работает:

1. Установите драйвер NVIDIA с помощью команды:
sudo apt-add-repository ppa: ubuntu-x-swat / x-updates
sudo apt-get update
sudo apt-get install nvidia-current
2. Затем , перезагрузка
3. Готово.

Источник: http://noob-tech.blogspot.co.id/2015/04/Install-VGA-Driver-On-Ubuntu.html

Ленивый кот
источник
0

У меня была такая же проблема в Ubuntu 16.10, после обновления с 16.04. В файле xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /) я изменил драйвер с «intel» на «nvidia».

Шанкар Сивараджан
источник
2
Спасибо за попытку помочь! Не могли бы вы немного описать процесс?
earthmeLon
0

Возвращение к ядру linux 4.4 исправило проблему на моем Macbook Pro Late 2013 15 ".

Лука Ди Лиелло
источник