пятница, 23 января 2015 г.

Подсветка экрана в Linux

Есть очень распространённый класс проблем, возникающих на ноутбуках с Linux. А именно различные нюансы с подсветкой экрана. При этом принято ругать плохое качество поддержки железа в Linux, что далеко не всегда соответствует действительности. Выглядеть со стороны пользователя это может по-разному. У кого-то не работает подсветка вообще. У других — с крайне большими задержками яркость всё же меняется. На моём Dell Precision M4800 была именно вторая проблема. Проявлялась забавно, кстати. Яркость увеличивалась, но с лагом в 2-3 секунды. Если же яркость надо было уменьшить, лаг возрастал до 10-15 секунд. Обычно, народ на форумах лечит данную проблему прописыванием в параметры ядра опции acpi_backlight=vendor.
У меня, например, всё отлично заработало после внесения данного параметра в настройки ядра. Но после прописывания и успешного тестирования, мне стало интересно с чем это связано.

Выяснилось любопытное в итоге. На очень многих современных нотбуках используется два типа управления яркостью. Стандартным является управление через ACPI. Вторым — т.н. vendor-specific. И вот с такими аппаратами возникает проблема. Если не прописать принудительное отключение управление яркостью через ACPI, то при посылке запроса на изменение яркости, подсистемы очень долго могут думать кому выполнять данную команду. Убрав конкурента в лице ACPI, мы получаем корректную работу подсветки. В моём случае, получается, что я указал использовать DELL specific метод управления яркостью. Аналогичное, кстати, наблюдаю на ноутбуках компании Samsung. Причём там ситуация ещё хуже порой.

Комментариев нет:

Отправить комментарий