LINUX.ORG.RU

Как регулируется яркость экрана в ноутбуках?

 , , , ,


0

1

Я имею ввиду именно яркость экрана, т.е. яркость экранной подсветки, а не картинки на нем.

Вопрос возник вот в связи с чем - я раньше полагал, что при нажатии кнопок яркости она регулируется либо аппаратно, но моя Ubuntu показывает значок регулировки, во время регулировки и уровень яркости, значит это не так, либо через ddc/ci, но ddccontol не видит дисплея моего бука, да и выпилили его вроде отовсюда давно, а значит и это предположение не верно.

Как же это происходит? И нельзя ли аналогичным способом регулировать яркость внешнего монитора? Очень уж неудобно делать это джойстиком.

UPD: https://wiki.archlinux.org/title/Backlight_(Русский) вот так это работает. Но ответа что делать с внешним моником там нет (((

★★★★★

Последнее исправление: Suntechnic (всего исправлений: 2)

В иксы приходят нажатия кнопок XF86XK_MonBrightnessDown/XF86XK_MonBrightnessUp (не знаю точно как, возможно это програмные фейки от acpi-демона, можно ещё acpi_listen запустить - возможно туда тоже приходят). Их (события) ловит DE и меняет число в /sys/class/backlight/{hw_name}/brightness, руководствуясь также числом из /sys/class/backlight/{hw_name}/max_brightness. {hw_name} зависит от ноутбучной видеокарты, как я понял (видел radeon_bl0 и intel_backlight). Внешний монитор - нельзя так.

firkax ★★★★★
()

Да внешний моник вообще говоря не обязан иметь такую регулировку. Но ddccontrol делает то что надо

cobold ★★★★★
()
Ответ на: комментарий от cobold

Никогда у меня не работал этот ddccontrol даже на мониках которые имели эту поддержку явно. А текущий вообще не имеет ее похоже (((

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от burato

Не очень понял, что ты хотел этим сказать, но кнопка с кодом «XF86XK_MonBrightnessDown» никуда, кроме иксов, прийти не может. Просто потому, что константы XK_* это иксовые константы. В других местах могут быть другие коды кнопок, но я написал про то, которое знаю. Разумеется, поймать нажатие кнопки на клавиатуре можно и без иксов, в них нет никакой магии, которая недоступна остальным, но, повторюсь, я знаю как это делается в иксах, про них и написал.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Где-то этот бэклайт работает, где-то не вдруг, но при этом работает через утилиту зеленого блоба :)

slackwarrior ★★★★★
()

В ноутбуках регулируется через ACPI, например в asus куча функций в DSDT таблицах, какие-то из них отвечают на яркость. Для asus есть ядерный драйвер asus_wmi который перехватывает комбинации функциональных клавиш и выполняет вызов той или иной ACPI функции. А вот в функции будет AML байткод который обратиться к какому-нибудь I2C контроллеру и запишет нужные последовательности байт в правильное место, после чего яркость меняется.

В общем со стационарным монитором никаких шансов.

Aber ★★★★★
()

Так с регулировкой яркости ноута все в порядке? Надо программно регулировать яркость внешнего монитора?

damix9 ★★★
()
Ответ на: комментарий от anonymous

Я, если что, в своём первом же сообщении про acpi тоже сообщил. Но тем не менее ты можешь предпочесть делать через иксы (как предпочли иксовые DE). Я себе тоже сделал через иксы, можно ещё и хоткеи переназначить.

firkax ★★★★★
()
Ответ на: комментарий от firkax

не ради спора, все же лучше выбрать acpid, там и прочие мультимедийные кнопки можно настроить, и работать будет, по идее, в любом окружении одинаково. удобно. а еще можно управлять энергосбережением, подключением мониторов, док-станций, и вообще всякую дичь творить, единственное условие – надо уметь в shellscript)

anonymous
()
Ответ на: комментарий от damix9

Так с регулировкой яркости ноута все в порядке? Надо программно регулировать яркость внешнего монитора?

Да, она работает из коробки. Хотел как-то настроить регулировку яркости внешненго моника. Даже пытался к нему пульт на телефоне уже подобрать (он вроде бывает в комплектации с пультом), но то ли у него какой-то особенный набор команд, то ли у него все же нет вообще приемника.

Моник такой: https://market.yandex.ru/product--43-monitor-philips-439p1-3840x2160-60-gts-v...

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от anonymous

О да - это именно оно. Оказывается ddc может работать напрямую и не работать через док-станцию (мой случай). Для работы через док нужно ядро от 5.11 - поставил несколько включая 5.15.15 и на всех прекрасно пашет. Только вот на них не собираются dkms модули, в частности зеленый блоб и модуль виртуалбокса. Я так понимаю из-за неудовлетворенных зависимостей, так как все они требуют libc6 >= 2.34, а в Ubuntu 20.04 доступна только 2.31 ((

Но это уже другая история…

Suntechnic ★★★★★
() автор топика

С мультиконтроллера приходит сигнал PWM, от его скважности и зависит яркость. В любом даташите на матрицу можно почитать.

shalom_ ★★
()
Последнее исправление: shalom_ (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.