Проблемы с яркостью подсветки NVIDIA

8

проблема

Unity показывает управление, пока я нажимаю Fn + Увеличение / Уменьшение яркости, но ничего не происходит. В консоли яркость не работает, пока работает X-сервер.

Проверенные решения

Я пробовал ВСЕ ВОЗМОЖНЫЕ решения этой проблемы в Google, и ничего не работает:

  1. написать acpi_backlight в grub
  2. переустановите драйверы с помощью apt purge nvidia *
  3. напишите «EnableBrightnessControl = 1» в xorg.conf
  4. установить nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. «xbacklight -set X» не работает
  6. изменение / sys / класс / подсветка / яркость
  7. обновить ядро ​​linux с 4.8 до 4.10 и 4.12
  8. заменить EDID из старой матрицы (это ломает все)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0, а затем изменить подсветку с помощью клавиш Fn +.
  10. xrandr - выход DP-0 - яркость 0,5 --- плохое решение

Моя система и ситуация

Я использовал в своем ноутбуке матрицу дисплея N173HHE-G32, и все было в порядке. Но сегодня я заменил его на B173HAN01.2, и эта проблема началась. В Windows 10 я решил эту проблему путем переустановки драйверов на nvidia-376 с официального сайта MSI.

Итак, я вижу следующую последовательность: при запуске ноутбука яркость максимальная, затем она минимальная (и работает), пока на консоли отображается текст «initramfs ...». И после запуска X-сервера яркость снова максимальная (не работает). Когда X-сервер останавливается, яркость снова работает!

MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix

uname -a 
4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)

Однако!

Но когда я использую 378 NVIDIA-это РАБОТАЕТ ! К сожалению, у 378 есть критические ошибки после режима приостановки в интерфейсе Unity: (((

Пожалуйста, помогите, мои глаза в крови (это очень ярко для них), и я не знаю, что делать ...

Обновлено! Через два года я понял, что проблема внутри lightdm (или X-сервера). Когда я прекращаю это все в порядке ...

Макс Ткаченко
источник
Возможно, лучший курс - это драйвер 378 и исправление ошибок приостановки / возобновления. Какие ошибки?
WinEunuuchs2Unix
Ошибки с интерфейсом Unity - некоторые артефакты вокруг границ окон и меню. Есть описание - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Макс Ткаченко
Я думаю, что кто-то сказал месяц или два назад, это было исправлено в версии 381 или что-то подобное Я думаю, что это был askubuntu.com/users/15811/rinzwind, кто сказал это, но askubuntu.com/users/167850/pilot6 Я полагаю, что другой эксперт.
WinEunuuchs2Unix
1
Исправлена ​​ошибка с приостановкой, но подсветка не работает :( Я пробовал 381 .. и многие другие версии ..
Макс Ткаченко
Можете ли вы обновить свой вопрос с выводом:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Ответы:

8

Обновление 16 июня 2019 г.

В прошлом месяце, через 2 года после сообщения о проблеме, OP обнаружил, что источником проблемы является LightDM (Ubuntu Unity Desktop Manager). Тем не менее, в дополнение к списку ниже, есть еще один grubпараметр, который можно попробовать:

video.use_native_backlight=1

Смотрите этот ответ для более.


Оригинальный ответ

Похоже, что окончательная ссылка на Arch Linux - это сайт, к которому я обращался много раз, чтобы решить сложные проблемы.

Параметры ядра

Глядя на ваш, cat /proc/cmdlineне передаются дополнительные параметры ядра. Приведенная выше ссылка гласит:

Иногда ACPI не работает должным образом из-за различных реализаций материнской платы и особенностей ACPI. Это включает в себя некоторые ноутбуки с двойной графикой (например, выделенный графический процессор Nvidia / Radeon с интегрированным графическим процессором Intel / AMD). На ноутбуках Nvidia Optimus параметр nomodeset в ядре может мешать регулировке подсветки. Кроме того, ACPI иногда необходимо зарегистрировать свой собственный, acpi_video0 backlightдаже если он уже существует (например, intel_backlight), что можно сделать, добавив один из следующих параметров ядра:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Если вы обнаружите, что изменение acpi_video0подсветки на самом деле не меняет яркость, возможно, вам придется использовать acpi_backlight=none.

Попробуйте каждый из acpi_backlight=xxxxпараметров в строке параметров ядра grub.

Когда xbacklightне работает

Вы уже пробовали, xbacklightи ссылка выше адресует это:

В некоторых системах горячие клавиши яркости на вашей клавиатуре корректно изменяют значения интерфейса acpi /sys/class/backlight/acpi_video0/actual_brightness( как мы пытались в комментариях ), но яркость экрана не изменяется. Апплеты Brigthness из среды рабочего стола (например, ползунок настройки яркости Ubuntu ) также могут показывать изменения без эффекта.

Если вы проверили рекомендуемые параметры ядра и только xbacklightработали, то вы можете столкнуться с несовместимостью между вашим BIOS и драйвером ядра.

В этом случае единственное решение - дождаться исправления от производителя BIOS или драйвера GPU.

Обходной путь - использовать inotifyAPI ядра, чтобы xbacklightкаждый раз вызывать значение /sys/class/backlight/acpi_video0/actual_brightnessизменений.

Сначала установите inotify-tools. Затем создайте скрипт вокруг inotify, который будет запускаться при каждой загрузке или через автозапуск.

Ниже приведен скрипт, который нужно создать, который называется: /usr/local/bin/xbacklightmon

#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((100 / max))
    printf '%d\n' "$((level * factor))"
}

read -r max < "$path"/max_brightness

xbacklight -set "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xbacklight -set "$(luminance)"
done

В приведенной выше ссылке есть еще много всего, но с этих шагов можно начать.


Выделенные форумы

Для дополнительной поддержки существуют специальные форумы по Linux Graphics:

WinEunuuchs2Unix
источник
Спасибо за такой большой ответ! 1) Попробуйте каждый из параметров acpi_backlight = xxxx в строке параметров ядра grub - да, я много раз пробовал безрезультатно.
Макс Ткаченко
К сожалению, xbacklight тоже не работает :(
Макс Ткаченко
Я думаю, что это ошибка водителей .. и мне нужен кто-то из команды разработчиков nvidia :)
Макс Ткаченко
Если я правильно помню, команда nVidia, которая обычно работала над драйвером linux, только что переключилась, и в ближайшие дни поддержка linux может быть не такой.
Бен-Набий Деруш
@ ben-NabiyDerush Я помню, в прошлом году Nvidia запустила форум, специально предназначенный для выяснения проблем, с которыми сталкиваются пользователи, и работы с ними для их решения. Я считаю, что Linux был их центром. Сегодня я снова искал форум, но не смог его найти. Я нашел два других форума поддержки и обновил ответ с ними.
WinEunuuchs2Unix
2

Привет, я извиняюсь, если это что-то, что умные люди уже исключили, так как я далеко не знаком с командной строкой, но после переустановки я столкнулся с этой проблемой, и все вышеупомянутые решения не работали для меня (MSI pe706QE nvidia 960m ).

Я редактировал /etc/default/grub:

gksudo 'insert editor of choice not in quotes' /etc/default/grub

и заметил, что nomodesetон все еще находится внизу файла (я не помню, чтобы он постоянно добавлялся) и удалил его.

сохраните файл и запустите:

sudo update-grub 

все снова работает с горячими клавишами

сокровище
источник
2

У меня ноутбук Sony VPCEH, у меня была такая же проблема. Я попробовал это решение, которое сработало для меня:  http://ubuntuforums.org/showthread.php?t=2221452#6 Вкратце: с правами root создайте файл /usr/share/X11/xorg.conf.d/20- nvidia.conf со следующим содержанием

Раздел "Идентификатор устройства", Device0 "Драйвер", nvidia "VendorName", корпорация NVIDIA, "BoardName", GeForce 410M, опция "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Выйдите и снова войдите, чтобы проверить. И он мягко добавляет: «Если что-то пойдет не так, просто удалите этот файл и перезагрузитесь, чтобы восстановить систему». Но мне не нужно это дополнение. После выхода и входа управление яркостью снова заработало. Я надеюсь, что это поможет вам тоже ...

или этот после работает с Ubuntu 16.04 под моим ноутбуком Sony VPCEJ2C5E, но с nvidia 378.13 я не использую в настоящее время драйверы 390.25.

Мне удалось заставить мои клавиши яркости работать на моем 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 Вставьте следующее в файл:

Раздел "Идентификатор устройства", Device0 "Драйвер", nvidia "VendorName", корпорация NVIDIA "BoardName" Quadro K1000M "Опция" RegistryDwords "" EnableBrightnessControl = 1 "EndSection

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

введите описание изображения здесь

Ubuntu1304XFCE
источник
2

По просьбе wineunuuchs2unix я публикую здесь ответ на аналогичный вопрос .

Пытаться acpi_osi=

При обновлении до Bionic несколько дней назад я столкнулся с подобной проблемой (у меня NVIDIA GeForce GTX 1060 Mobile, но для меня /sys/class/backlightон отображается как пустой).

Работая с процедурой отладки подсветки , я нашел обходной путь через параметры ядра:

  • В nvidia-driver-396разделе «Программное обеспечение и обновления» → «Дополнительные драйверы» убедитесь, что выбран (или какой метапакет является текущим; 396 - самый поздний на момент написания) выбран.
  • Отредактируйте /etc/default/grub, запустив команду sudo nano /etc/default/grub(возможно, заменив nanoна ваш любимый редактор).
  • Найдите строку, которая устанавливает GRUB_CMDLINE_LINUX_DEFAULTи добавьте acpi_osi=в конце внутри кавычек. В большинстве систем это приведет к чтению строки GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Сохраните и выйдите из редактора.
  • Запустите команду sudo update-grubи перезагрузитесь.

(Если эти шаги не работают, восстановите настройки, повторив процесс, но удалив его acpi_osi=при редактировании конфигурации GRUB.)

Другой обходной путь, если это вариант для вас, это переключиться на основное ядро . В частности, я не вижу проблемы в основной версии ядра 4.17.

(Ошибка сообщается здесь .)

гость
источник
1
к сожалению это не помогает :(
Макс Ткаченко
1

клонируйте этот репозиторий и вставьте скрипт backlight.shв /bin. затем сделайте его исполняемым и после этого откройте корневой терминал и выполните следующую команду.

sudo backlight.sh "brightness-level-number",

клонировать хранилище,

git clone https://github.com/el-beth/backlight.sh.git

endrias
источник
Спасибо! К сожалению, он использует "echo $ 1> / sys / class / backlight / 0 / bright;" и это то же самое, что я написал ниже "6. Смена / sys / class / backlight / яркости"
Макс Ткаченко
это не /sys/class/backlight/0/brightnessправильный путь/sys/class/backlight/acpi_video0/brightness
endrias
или некоторый другой подобный путь для систем со специализированным графическим оборудованием.
Endrias
В любом случае это не работает :(
Макс Ткаченко
1

Вы можете установить пакет команды xbacklight в терминал:

sudo apt-get install --reinstall xbacklight

После установки вы можете использовать команду xbacklight следующим образом:

xbacklight -inc 20 # увеличить подсветку на 20%

xbacklight -dec 30 # уменьшение на 30%

xbacklight -set 80 # установлен на 80% от максимального значения

xbacklight -get # получить текущий уровень

Команда xbacklight должна работать таким образом.

dschinn1001
источник
1
Извините, но xbacklight в списке проверенных решений .. Не работает :(
Макс Ткаченко,
1

одна программа для решения всей этой проблемы !!!

у меня GTX 1060 6Gb рабочий стол Ubuntu 16.04

Не нужно ничего делать, просто установите контроллер яркости с помощью ppa:

https://launchpad.net/~apandada1/+archive/ubuntu/brightness-controller/

решил проблему для меня (см. скриншоты), однако она конфликтует с красным смещением, поэтому вам нужно удалить красное смещение

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

Go MasterZero
источник
1
Спасибо за ваш ответ. Но я думаю, что это неправильно, текст взят с сайта: «Это программный диммер». Это не контроль мощности задней подсветки, это всего лишь программное решение с кривыми RGB :( Я попробую это чуть позже.
Макс Ткаченко
попробуйте, это действительно работает :)
Go MasterZero
Я проверил это. Как я уже сказал, это программное решение, оно не экономит батарею, а ухудшает цвет изображения. xrandr --output DP-0 - яркость $ VALUE --- сделать то же самое.
Макс Ткаченко
спасибо за ваш отзыв, хотя графический интерфейс по-прежнему приятно иметь
Go MasterZero
1

Я, наконец, исправил это, и ни одно из онлайн-решений, которые перечислил оригинальный постер, не сработало для меня Что решило проблему, было в / etc / default / grub и в строке: GRUB_CMDLINE_LINUX_DEFAULT

Добавление:

"Acpi_osi ="

Но также не используйте «nomodeset» на нем. Ppl первоначально добавил nomodeset для решения проблемы рендеринга программного обеспечения, но это фактически заставляет Linux не распознавать драйверы Nvidia.

Наконец, убедитесь, что вы зашли в диспетчер драйверов Linux Start Menu и обновили драйверы Nvidia до 430 или новее.

Стивен Вонг
источник