Найти в Дзене
mdex-nn.ru

Как я боролся с регулировкой яркости экрана в Linux

Проблема регулировки яркости экрана в Linux знакома, пожалуй, каждому кто ставил «пингвина» на ноутбук или моноблок. Причём сама установка, как правило, происходит безболезненно, а вот после перезагрузки уже возможны варианты.

Как заставить нормально работать подсветку экрана в Linux покажу на примере дистрибутива Deepin и моноблока Lenovo AIO 330-20AST. Нет особой разницы в том, какой дистрибутив Linux установлен, главное уловить суть проблемы, а решения везде похожи.

Итак, после первой перезагрузки свежеустановленного Deepin Linux вдруг резко снизился уровень яркости экрана, причём ползунок регулировки выставлен на максимальные 100%. Из особенностей моноблока Lenovo AIO 330-20AST можно отметить отсутствие физических клавиш регулировки яркости на клавиатуре (обычно комбинация [Fn]+[клавиша увеличения/уменьшения яркости]). Предполагается, что всё должно работать программно из операционной системы.

Регулировать яркость экрана получалось от уровня "совсем ничего не видно" до "видно с трудом". Понятно, что это какой-то косяк в настройках, осталось его найти.

Уровень яркости подсветки экрана в Linux контролируется с помощью ACPI (Advanced Configuration and Power Interface — усовершенствованный интерфейс конфигурации и управления питанием) модуля ядра для видео или графическим драйвером.

Сам интерфейс управления подсветкой доступен через папку sysfs в /sys/class/backlight. Посмотрим что там находится:

# ls /sys/class/backlight/
acpi_video0

Имя папки зависит от модели видеокарты и их может быть несколько, если она у вас не одна. Так, для видеокарт от Intel она называется intel_backlight, у AMD может встретиться название radeon0. Зачастую, Linux пишет изменения настроек яркости не в тот каталог, например в acpi_video0, когда реально используется intel_backlight. Заглянем внутрь:

# ls /sys/class/backlight/acpi_video0/
actual_brightness brightness max_brightness subsystem/ uevent
bl_power device/ power/ type

Значение максимальной яркости содержится в файле max_brightness. Рекомендую сперва заглянуть в данный файл, чтобы определить какое значение следует выставить для работы (обычно оно равняется 15, но в моём случае было 100, от того и максимальная яркость моноблока после перезагрузки составляла лишь 15% от реальной).

# cat /sys/class/backlight/acpi_video0/max_brightness
100

Файл brightness содержит текущее значение яркости (у меня там стояло число 15). До этого уровня Deepin Linux и предлагал мне регулировки из графической оболочки. Текущее значение в данном файле не может быть выше максимальной яркости, установленной в max_brightness. Моя борьба с подсветкой экрана на Lenovo AIO 330-20AST заключалась в изменении всего одного параметра:

sudo tee /sys/class/backlight/acpi_video0/brightness <<< 100

Как я уже упоминал чуть ранее, не редко из-за специфических особенностей конкретного ноутбука или моноблока ACPI не работает должным образом или Linux не правильно определяет чем же нужно управлять. В таком случае следует менять в grub параметр ядра acpi_backlight при загрузке.

Как всегда в Linux возможны различные варианты и дать какой-то универсальный совет сложно — каждый случай уникален по своему. Обычно советуют добавить добавить acpi_backlight=vendor в grub, но это не всегда помагает. Возможны так же значения «video», «native» или «none». После того, как найдёте нужный, можно править загрузчик GRUB на постоянку.

sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"

В заключение приведу ссылку на неплохой мануал о Backlight https://wiki.archlinux.org/index.php/Backlight_%28Русский%29

Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

ЕСЛИ СЧИТАЕТЕ СТАТЬЮ ПОЛЕЗНОЙ,
НЕ ЛЕНИТЕСЬ СТАВИТЬ ЛАЙКИ И ДЕЛИТЬСЯ С ДРУЗЬЯМИ.
https://mdex-nn.ru/page/regulirovka-podsvetki-v-linux.html