Ubuntu 14.04 Проблемы с яркостью с nvidia Quadro
Я недавно обновился с Ubuntu 13.10 до 14.04. Все хорошо, кроме яркости экрана моего ноутбука. При изменении яркости экран просто не реагирует. Я решил, что это проблема с графическим драйвером, но после обновления и переустановки всех драйверов nvidia проблема сохраняется. Это довольно неприятно, так как экран теперь постоянно настроен на самые темные настройки, что делает практически невозможным что-либо видеть.
Я также попробовал решение, предложенное здесь: Ubuntu 14.04 - проблема яркости в гибридном ноутбуке HP, но это, к сожалению, тоже не помогло.
У меня HP Elitebook 8560w с nvidia Quadro 1000M, и я использую последние версии драйверов nvidia, доступные в репозитории apt-get
Для справки, я попробовал экспериментальные драйверы nvidia, которые в результате разбили всю мою ОС. Поэтому я переустановил 14.04 чисто, но эта проблема все еще сохраняется
4 ответа
Вероятно, это ошибка с драйверами> 304, которая существует уже некоторое время:
Ядро Ubuntu 13.10
3.11.0-12.19-generic 3.11.3
-> предлагаемые обходные пути: использование драйверов nvidia 304Ядро Ubuntu 13.10
3.11.0-15.25-generic 3.11.10
-> предлагаемые обходные пути: использование драйверов nvidia 304Ядро Ubuntu 14.04
3.13.0-24.47-generic 3.13.9
-> предлагаемые обходные пути: нетЯдро Ubuntu 14.04
3.13.0-32.57-generic 3.13.11.4
-> предлагаемые обходные пути: нет
Согласно этим сообщениям об ошибках, единственным решением является откат к версии драйвера <= 304.
Не решение, а скорее обходной путь.
Там должен быть файл/sys/class/backlight/acpi_video0/brightness
В этом файле у вас есть конкретное десятичное значение, которое соответствует яркости.
Теперь, когда я использую среду рабочего стола openbox, мой ключ fn не работает, поэтому я использую следующий скрипт для его установки:
#!/bin/mksh
printf " \n Entering file to change brightness in 3 seconds\n remember - no new line after number. ";
sleep 3;
sudo nano /sys/class/backlight/acpi_video0/brightness
Теперь вы можете проверить /sys/class/backlight
Папка, чтобы убедиться, что у вас есть файл acpi_video0. Может быть по-разному назван для вашей системы
Я свяжу соответствующий вопрос Askubuntu, если вы заинтересованы в различных решениях для настройки яркости
Обновить
Я написал другой скрипт, который использует zenity (графический интерфейс для скриптов) и xrandr, с ярлыком на рабочем столе.
Инструменты, которые вам нужны
- xrandr (должен быть установлен по умолчанию, не указывайте меня на этом) и зная название вашего дисплея
- zenity (должен быть установлен по умолчанию, не указывайте меня на этом)
- ярлык на рабочем столе backlight.desktop
Ярлык рабочего стола
Создайте backlight.desktop
файл на рабочем столе и сделать его исполняемым с sudo chmod a+x ~/Desktop/backlight.desktop
, (Обратите внимание, что вы можете сделать его исполняемым с помощью правого клика -> свойства, а также разрешить запуск текстовых файлов в качестве исполняемых файлов в Nautilus-> Edit-> Properties-> Behavior).
[Desktop Entry]
Type=Application
Exec=/usr/bin/backlightscript
Terminal=false
Icon=/usr/share/icons/HighContrast/16x16/status/display-brightness.p
ng
Обратите внимание, часть значков не является обязательной.
Сценарий
Поместите этот файл в /usr/bin
папка, назовите это backlightscript
#!/bin/sh
# Name: backlightscript
# Author: Serg Kolo
# Date: March 2 , 2015
# Description: Simple script to change screen brightness using xrandr
# uncomment this for debugging as needed
# set -x
NEWVAL=$( zenity --scale --min-value=0 --max-value=7 --text="Enter number between 0 and 7" ) && brightness=$(($NEWVAL+2))
if [ $(echo $?) = 0 ]
then
xrandr --output LVDS --brightness 0.$brightness
fi
Сценарий объяснения
Я обнаружил, что оптимальная яркость составляет от 0,2 до 0,9. Если вы идете ниже 0,2 или 1 экран становится слишком темным или слишком ярким. В этом сценарии пользователь дважды щелкает по ярлыку backlight.desktop, который вызывает графическое всплывающее окно со шкалой, где пользователь выбирает необходимую яркость от 0 до 7. Это значение увеличивается на 2 (поэтому max составляет 7+2=9, а min равно 0+2=2) и сохраняется в переменной яркости. Затем эта переменная становится значением после десятичной точки для xrandr --output LVDS --brightness 0.$brightness
,
Блок if - then используется для проверки, действительно ли пользователь что-то выбрал. Без этого xrandr установит яркость на 0, в этом случае вы ничего не увидите на экране, даже tty1, и вам придется либо перезагрузиться, либо выполнить Alt+SYSRQ+R+E+I+S+U+B
Обратите внимание, что xrandr - это программное, а не аппаратное решение, то есть вы не меняете яркость экрана напрямую.
Как это должно выглядеть
Примечание по xrandr Запустите xrandr без аргументов, чтобы определить ваш основной подключенный дисплей
Мой пример
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1280x720 59.9
1152x768 59.8
1024x768 59.9
800x600 59.9
848x480 59.7
720x480 59.7
640x480 59.4
источники
Я заставил его работать на Lenovo W510 с Quadro FX 880M, создав /usr/share/X11/xorg.conf.d/20-nvidia.conf
со следующим содержанием:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 880M"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
После перезагрузки мои регуляторы яркости работают правильно.
Наконец, это исправлено в последнем драйвере, выпущенном Nvidia с датой выпуска: 2017.5.4 и номером версии: 375.66.
Примечания к выпуску, включая следующее объяснение:
Исправлена ошибка, из-за которой яркость подсветки не контролировалась на некоторых ноутбуках с внутренними панелями DisplayPort.