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.103.11.0-12.19-generic 3.11.3 -> предлагаемые обходные пути: использование драйверов nvidia 304

  • Ядро Ubuntu 13.103.11.0-15.25-generic 3.11.10 -> предлагаемые обходные пути: использование драйверов nvidia 304

  • Ядро Ubuntu 14.043.13.0-24.47-generic 3.13.9 -> предлагаемые обходные пути: нет

  • Ядро Ubuntu 14.043.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.

Другие вопросы по тегам