Яркость не работает после установки драйвера NVIDIA
Я недавно установил Ubuntu 11.10 на свой Mac Book Pro 7,1. Я установил драйвер NVIDIA (285). Клавиши яркости работают (F1 и F2), и я получаю окно, показывающее яркость, но это ничего не делает. Я могу изменить яркость в приложении Настройки сервера NVIDIA X. Как заставить работать яркость без удаления драйвера? Заранее спасибо.
20 ответов
Мне удалось заставить мои клавиши яркости работать на моем 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
Выйдите из системы и снова войдите в систему или перезагрузите компьютер, и теперь ваши клавиши яркости должны работать!
(Я написал это здесь)
У меня была похожая проблема с моим ноутбуком, есть опция, которую нужно добавить в свой ноутбук. /etc/X11/xorg.conf
Команда запуска:
sudo nano /etc/X11/xorg.conf
Найдите строку Раздел "Устройство" и добавьте следующее
Option "RegistryDwords" "EnableBrightnessControl=1"
Вам необходимо включить контроль яркости. Откройте терминал и введите sudo gedit /etc/x11/xorg.conf
А потом добавить Option "RegistryDwords" "EnableBrightnessControl=1"
внутри раздела устройства вставьте его в новую строку. Затем перезагрузите компьютер, и все должно быть в порядке.
Спасибо за предоставленный отличный скрипт 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
Ваш пробег может варьироваться в зависимости от сценария, так как некоторые дисплеи / адаптеры поддерживают разные параметры Если у вас возникли проблемы с этим, пожалуйста, прочитайте помощь и комментарии в сценарии.
Надеюсь, это поможет кому-то!
У меня MacBook Pro 2009 года, я использую Ubuntu 19.10, и вот как я это исправил.
Выполните эту команду:
sudo nano /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass-ubuntu.conf
Затем я добавил следующую строку к предпоследней строке прямо над строкой "EndSection". Я оставил формат, как и остальную часть другой строки файла.
Option "RegistryDwords" "EnableBrightnessControl=1"
Затем просто перезагрузите устройство.
Мой файл выглядел так.
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
ModulePath "/usr/lib/nvidia-340/xorg"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
После долгих исследований и испытаний решений, представленных в Интернете, только это решение сработало для меня.
nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1
Редактировать/etc/default/grub
и измените на следующие строки:
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"
GRUB_CMDLINE_LINUX=""
Ответ был найден на форуме Nvidia .
Вот что у меня сработало на Ubuntu 18.04 (спасибо всем предыдущим ответам)
- Первый открытый
NVIDIA X Server Setting
- Перейти к
X Server Display Configuration
Раздел и нажмите кнопкуSave to X Configuration File
. Это создаст новый файл/etc/X11/xorg.conf
. - Затем откройте этот новый файл, используя
sudo nano /etc/X11/xorg.conf
- Найди
Device
Раздел будет выглядеть примерно так
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1650 Ti"
EndSection
- Добавить новый
Option
->Option "RegistryDwords" "EnableBrightnessControl=1"
. В итоге это будет выглядеть примерно так
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1650 Ti"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
Надеюсь, это поможет:D
К вашему сведению, только что проработал это на Lenovo W520, и добавил простую строку Option "RegistryDwords" "EnableBrightnessControl=1"
чтобы xorg.conf было достаточно - не нужно никакой другой болтовни, и все отлично работает с текущей версией NVidia (в частности, работает 346.35)
Скрипт яркости 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
Другие ответы - это хорошие шаги, но обратите внимание, что некоторые комбинации ядра 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 и также поддерживал затемнение.
Есть некоторые компьютеры, такие как мой 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
чтобы модуль загружался при загрузке компьютера.
Как найти драйвер NVIDIA, который работает с вашими функциональными кнопками яркости
Решено! Многие видеодрайверы NVIDIA для Linux имеют регрессии, нарушающие управление яркостью экрана в более поздних версиях драйверов , поэтому сначала следует установить последнюю версию драйвера NVIDIA, а затем, если управление яркостью экрана не работает автоматически после перезагрузки (без каких -либо других исправления на этой странице), а затем последовательно устанавливайте все более старые версии драйверов NVIDIA прямо от производителя, пока они не начнут работать с функциональными кнопками управления яркостью экрана .
Протестировано на ноутбуке Lenovo ThinkPad P15 Gen 2 со следующими характеристиками: графическая карта NVIDIA RTX A2000 4 ГБ GDDR6 и процессор Intel Core i9-11950H (8 ядер/16 потоков) в Ubuntu 22.04.
Во-первых, что не работает
Я пробовал почти каждый ответ на весь этот вопрос, включая изменение/etc/default/grub
файл,/usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf
файл, и/etc/X11/xorg.conf
файл, а также запись непосредственно в/sys/class/backlight/nvidia_0/brightness
файл черезecho 100 > /sys/class/backlight/nvidia_0/brightness
, например. Я попробовал эти настройки при загрузке как с видеосервером / оконным менеджером X11, так и с Wayland. Это не имело никакого значения. Ни одно из этих «исправлений» не помогло.
Я также пробовал другие исправления с других сайтов и форумов. Для моего ноутбука и графического драйвера NVIDIA 525.60.11 Linux ни одно из этих решений не сработало!
Опять же, я получил одинаковые результаты как с Wayland, так и с X.
Этот действительно полезный пост от @adrianer84 натолкнул меня на мысль попробовать все более и более старые версии драйверов, пока одна из них не заработает. Он сказал:
Я могу подтвердить, что
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"
на мобильных устройствах Ubuntu 22.04 и GeForce RTX 3600 с драйвером 470.XX.XX работает на Legion 7 (2021) (16ACHg6) для управления подсветкой, но не с 515.XX или 520.56.06 (с 520.56.06 там есть еще один регресс: подсветка полностью отключается после сна - так что дисплей в основном выключен.Поскольку вы не можете управлять им, вам приходится принудительно перезагружаться…).
Что работает, но что я не рекомендую вам делать
Ваш BIOS / UEFI, вероятно, поддерживает (должен) устанавливать графический режим между «Гибридной графикой» и «Дискретной графикой». NVIDIA говорит, что вы должны использовать режим «Дискретная графика», чтобы быть совместимым с их драйвером. Однако, если вы установите режим «Гибридная графика», ваши кнопки яркости снова заработают, потому что тогда ваша внутренняя графическая карта, встроенная в ЦП, справится с этим, но опять же ваш графический драйвер NVIDIA также будет глючить, и вы можете заметить проблемы, и NVIDIA говорит использовать «дискретный» режим.
Итак, загрузитесь в BIOS/UEFI и измените настройки на режим «Дискретная графика»:
Значение моего UEFI говорит мне (выделено мной):
- В режиме дискретной графики достигается более высокая графическая производительность.
- Режим гибридной графики работает как режим интегрированной графики для увеличения срока службы батареи, а дискретная графика включается по запросу.
Это говорит мне о том, что внутренняя интегрированная видеокарта, встроенная в чип ЦП, более эффективна, а карта NVIDIA является внешней картой «Дискретная графика».
Однако NVIDIA говорит использовать только «Дискретную графику» на вкладке «Дополнительная информация» своих ссылок для загрузки, например, здесь для 515.86.01, например: (выделено мной):
Некоторые конструкции, включающие поддерживаемые графические процессоры, могут быть несовместимы с драйвером NVIDIA Linux: в частности, конструкции для ноутбуков и настольных ПК «все в одном» с переключаемой ( гибридной ) графикой или графикой Optimus не будут работать, если средства отключения встроенной графики в аппаратном обеспечении недоступны. .
Установка чуть более старой версии драйвера (в моем случае 515.86.01 вместо 525.60.11) сработала!
Однако сработало то, что вместо этого был установлен драйвер https://www.nvidia.com/download/driverResults.aspx/194662/en-us/NVIDIA 515.86.01 , который был предыдущей версией в серии версий «500» в списке, как показано здесь со следующими параметрами поиска: https://www.nvidia.com/ Скачать/найти.aspx?lang=en-us:
Итак, решение состоит в том, чтобы следовать Варианту 2 в моих подробных инструкциях по установке графического драйвера NVIDIA здесь: Как установить правильный графический драйвер NVIDIA, чтобы предотвратить зависания .
Начните с установки последней версии драйвера NVIDIA для вашей видеокарты. Затем перезагрузитесь, войдите в систему и попробуйте функциональные клавиши яркости. Если они работают, все готово! Если это не так, перейдите на страницу «Расширенный поиск драйверов» NVIDIA и установите самый старый драйвер в списке в вашей серии версий драйверов, возможно, пропуская версии «бета» и «NFB» (что бы это ни значило), до тех пор, пока не появится работает.
Итак, чтобы подчеркнуть и продемонстрировать порядок, в котором я буду пробовать драйверы, если бы я делал это на основе списка драйверов на изображении чуть выше, я бы пробовал версии драйверов в этом порядке (вероятно, придерживаясь более поздние версии серии 500, если они все тоже не работали):
- 525.60.11 - у меня не работают кнопки яркости!
- [при желании пропустите 470.161.03, так как это более старая серия версий]
- 515.86.01 - кнопки яркости у меня работают !
- 510.108.03
- [при желании пропустите 525.53, так как это бета-версия]
- [при желании пропустите 520.56.06, так как это выпуск NFB — что бы это ни значило]
- 515,76
- [при желании пропустите 470.141.03, так как это более старая серия версий]
- 515.65.01
- и т. д.
Пожалуйста, сообщите в комментариях ваш ноутбук, видеокарту и какие версии драйверов работают или не работают, чтобы у вас была регулировка яркости с помощью функциональных кнопок.
Я не рекомендую просто использовать более старую версию для начала, так как очень легко и быстро (< 5 минут) установить новую версию драйвера, как только вы освоите ее, и мы хотим получить самую последнюю возможную версию драйвера, которая не работает. t иметь регрессии, чтобы получить последние функции и исправления ошибок.
Я лично использую 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 - папка, я помещаю эти файлы в нее.
У меня есть старый Macbook 6,1, на который я установил Ubuntu 18.04 и включил драйвер nvidia. Чтобы элементы управления яркостью снова заработали, как упоминается в различных предложениях в этой ветке, я добавил следующую строку:
Option "RegistryDwords" "EnableBrightnessControl=1"
В OutputClass
раздел следующего файла:
/usr/share/X11/xorg.conf.d/nvida-drm-outputclass-ubuntu.conf
После этого перезапустите x:
sudo systemctl restart display-manager
Как только я снова вошел в систему, регуляторы яркости работали как шарм.
Ни один из этих способов мне не помог. Я использую ноутбук Lenovo с Nvidia GeForce GTX 1650.
Я нашел способ заставить его работать, добавив
nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1
жрать.
Шаги:
Делать
sudo gedit /etc/default/grub
:Отредактируйте эту строку:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1"
Сохраните и выйдите из gedit
Обновите GRUB с помощью:
sudo update-grub
Запустить снова.
Я нашел это решение на ArchWiki. Я использую Дебиан 11.
Это старый пост, но он появлялся каждый раз, когда я искал эту же проблему. Я решил проблему, установив xbacklight, но я хотел сделать решение более интегрированным, прикрепив его к моему автозагрузке и горячим клавишам, чтобы я мог легко регулировать яркость в любое время.
Я использовал следующий сценарий, вызвал его из моего списка запускаемых приложений, а также вызвал "увеличение яркости" и "уменьшение яркости" с помощью горячих клавиш, настроенных в инструменте сочетания клавиш. (или прямо в командной строке). Просто поместите сценарий в разумное место и сделайте его исполняемым. Тогда вы можете начать его использовать. Он попытается установить xbacklight для вас, если он еще не установлен.
#!/bin/bash
#
# Run this script at startup to initialize the desired brightness
#
# Run it using hotkeys to easily increase/decrease the brightness.
#
# Usage: brightness up
# brightness down
# brightness
#
brightnessFile=`readlink -f ~/.config/brightness`
numeric='^[0-9]+$'
save=0
brightness=`cat $brightnessFile 2>/dev/null`
if [[ ! $brightness =~ $numeric ]]; then
brightness=85
fi
if [ "$1" == "up" ]; then
brightness=$(($brightness + 5))
save=1
fi
if [ "$1" == "down" ]; then
brightness=$(($brightness - 5))
save=1
fi
if [ $brightness -gt 100 ]; then
brightness=100
save=1
fi
if [ $brightness -lt 0 ]; then
brightness=0
save=1
fi
if [ "$save" == "1" ]; then
echo $brightness > $brightnessFile
fi
xbacklight -set $brightness >/dev/null 2>&1
if [ "$?" != "0" ]; then
# try to install xbacklight
export SUDO_ASKPASS=`which ssh-askpass`
sudo -A apt-get -y install xbacklight
xbacklight -set $brightness >/dev/null 2>&1
fi
if [ "$?" == "0" ]; then
echo "Brightness set to $brightness%"
else
echo "Can't adjust the brightness"
exit 1
fi
Я использую графическую карту NVIDIA и у меня такие же проблемы, как у вас.
Но я попробовал эту вещь, и она работает:
1. Установите драйвер NVIDIA с помощью команды:
sudo apt-add-repository ppa: ubuntu-x-swat / x-updates
sudo apt-get update
sudo apt-get установить nvidia-current
2. Затем перезагрузите
3. Готово.
Источник: http://noob-tech.blogspot.co.id/2015/04/Install-VGA-Driver-On-Ubuntu.html
У меня была такая же проблема в Ubuntu 16.10, после обновления с 16.04. В файле xorg.conf (/usr/share/doc/xserver-xorg-video-intel/) я изменил драйвер с "intel" на "nvidia".
У меня было несколько проблем с моим ноутбуком Lenovo IdeaPad S340 15IIL, например:
1. не удалось контролировать яркость, попробовали все возможные решения не работали 2. Wi-Fi не работает с чипом Intel AC9560,
3.Nvidia GeForce MX250 не интегрируется
4.hdaudioc0d2 не может связать ошибку кодека при загрузке
Решение
Используйте средство создания запуска диска. Лучше попробуйте переустановить ubuntu, создав новый загрузочный USB-накопитель с помощью другой служебной программы системы Ubuntu. Приложение для создания запуска диска, которое уже есть в каждой системе Ubuntu.
Возврат к ядру linux 4.4 устранил проблему на моем Macbook Pro Late 2013 15".