LINUX.ORG.RU

Контроль яркости монитора

 , , ,


0

1

Привет, ЛОР!

Расскажи, а как сейчас дела с контролем яркости у мониторов в линуксе и вообще на PC? В линуксе, как я понял, всё совсем тухло: xbacklight работает только на Intel и то не всегда, xrandr –brightness не меняет яркость экрана и только меняет цветовую гамму на менее яркую.

Скажи, ЛОР, это проблема в железе и отсутствии стандартов? Или просто на линуксе все забили? Что вообще происходит?

Я вот впечатлился, что на маковском мониторе можно менять яркость экрана просто из меню макоси. На моём линуксовом ноутбуке такое только со встроенным экраном работает. Как так вышло, ЛОР?

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от izzholtik
 ▲ ~ sudo ddccontrol -p                   
ddccontrol version 0.5.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Probe failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ddccontrol.DDCControl was not provided by any .service files
.Detected monitors :
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).

Мне что-то кажется, оно мёртвое.

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

Там штука пишет и читает из i2c и интерфейс соответствующий. Но зато я узнал, что в VESA есть поддержка изменения яркости.

Но короче понятно. Все сидят на ляптопах и забили болт, в основном.

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

Честно, я хз. Я попытался потыкать strace'ом, что оно там читает, но никаких явных отклонений не увидел. На старой инсталляции 21 убунты работает.

Может, в ядре дело? Попробуй ради эксперимента с наиболее старым из доступных загрузиться, у меня только 5.11 в репе есть..

izzholtik ★★★
()
Последнее исправление: izzholtik (всего исправлений: 1)
Ответ на: комментарий от izzholtik

Может, в ядре дело? Попробуй ради эксперимента с наиболее старым из доступных загрузиться, у меня только 5.11 в репе есть..

Меня скорее интересует как вообще в принципе дела состоят. Тут вопрос был в том, что именно я упускаю и упускаю ли. Похоже что нет.

В моём случае, скорее всего я упрусь в nvidia и на этом всё закончится. Ядро тут 5.12.19. Откатываться смысла нет, даже если там что-то будет работать.

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

Да, состояние такое. Есть софтина, которая что-то делает, но она работает не со всеми пониторами и не у всех, никакого ползунка в «энергопотреблении» для десктопов я не видел.

izzholtik ★★★
()

xbacklight работает только на Intel и то не всегда

Брат жив. меняю яркость скриптом. Вторым скриптом пасу переключение температуры цвета, чтобы сладко спать.

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

А у внешек есть пультец. В новых есть своя ОС по вызову голых баб, смене настроек по тыцу одной педали или таймеру, палеву твоих данных, etc.

theLORdweller
()

Скажи, ЛОР, это проблема в железе и отсутствии стандартов?

И тут я понял дзен, что Аватарка отражает!

theLORdweller
()

В ноутбуках в основном работает…

Пётр

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

На nvidia xbacklight не работает. В любом случае, я хочу классный гуй для этого всего, чтобы мышкой сразу менять яркость на обоих мониторах.

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

Так я же пишу, что на ноутах есть решение, а на внешних в самих мониках.

чтобы мышкой сразу менять яркость

Нормальные мониторы имеют горячую кнопку по смене режимов. Как хочешь, так и программируешь конпку. Удобнее, чем мышкой.

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

Так я же пишу, что на ноутах есть решение, а на внешних в самих мониках.

В этом и штука, что часто яркость там закопана в меню. Один клик в трей – это гораздо быстрее, чем неудобной кнопкой через два меню пробираться.

Плюс, ещё раз, представь что у тебя два монитора.

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

Один клик в трей – это гораздо быстрее, чем неудобной кнопкой через два меню пробираться

Это ты не понял. Стали нормальные делать, а не по 100 баксов. В нормальных есть несколько кнопок. Одна меню, одна - горячая. И пульты, и ПО, что хочешь. А остальные мы не рассматриваем.

http://www.ddcutil.com/ если так надо, ковырни.

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

Это ты не понял. Стали нормальные делать, а не по 100 баксов. В нормальных есть несколько кнопок. Одна меню, одна - горячая. И пульты, и ПО, что хочешь. А остальные мы не рассматриваем.

Ну расскажи мне про нормальные мониторы, чувак. Давай.

Лень читать доку?

Ага. В макоси контроль яркости из коробки сделан, доку читать не надо. Почему лялекс так не может?

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

Ага. В макоси контроль яркости из коробки сделан, доку читать не надо. Почему лялекс так не может?

Запили. Накидывать и я могу. Надеюсь, что ссылка на утилиту поможет.

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

Запили. Накидывать и я могу. Надеюсь, что ссылка на утилиту поможет.

Не помогла. Мне до тебя её @izzholtik скинул и я её уже проверил: она не работает.

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

Удивительно, но я наткнулся на пост @birdie где он раскопал что к чему.

https://forums.developer.nvidia.com/t/survey-gddccontrol-issues-with-nvidia-drivers-i2c-monitor-display-ddc/63901

Там надо опции в xorg.conf сунуть, тогда может заработать.

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

Уже делал вчера, не сработало. Да и i2cdetect монитор видит, вряд ли из-за частоты.

Буду дома - чекну конкретно из этого поста, мб, какая-то разница есть.

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

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

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

Вроде да. В логах вот такое есть:

[   21.194304] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  470.42.01  Tue Jun 15 21:22:38 UTC 2021

Но я пробовал DDC с и без KMS, и это не то чтобы влияет.

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

Хз. . У меня со старой очень засраной системы работает, с этой нет. Глобально разница в том, что там ядро 5.8 и офнут KMS..

izzholtik ★★★
()
Последнее исправление: izzholtik (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

хз, дрянь какая-то с новым драйвером, валится, если при включенном KMS воткнуть VGAшный поник в мать.

Вообще, управление VGA у мня сейчас работает, проблема связана с невидией.

izzholtik ★★★
()

Использую ddcutil, работает исправно на двух машинах.

ddcutil setvcp 10 <0-100>

d1on1s
()

ddcutil capabilities

ddcutil setvcp <регистр> <значение>

Удачи!

pingvinek
()
Ответ на: комментарий от theLORdweller

Интересно, решил?

Не-а. Я попробовал ту лапшу по ссылке сунуть в xorg.conf, но это не слишком помогло, и я забил. Будем считать, что лялекс (и венда) не готовы для десктопа.

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

у тебя в мониторе USB-хаб есть?
(почти во всех современных он таки да)

так вот, при подключении монитора некоторых вендоров (точно да LG, точно да ViewSonic, точно нет Dell) по USB — появляется usb serial девайс, куда можно срать байтиками и менять не только яркость, но и что угодно.
подводный камень: последовательность нужных байтиков нужно сниффать из винды, запустив фирменный софт* для монитора и пробросив девайс монитора в виртуалку.

* — фирменный софт для LG — нечто на сисярпе, весом в полгигабайта и с тремя кнопками в интерфейсе, который делает ровно описанное мной.

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

Интересная штука. Я подключил монитор по DisplayPort, и оно заработало. HDMI по-прежнему не фыр.

izzholtik ★★★
()

У меня работает

# +5 к текущему
./my_monitor_control.sh brightness+5

# уст. абсолютных величинах
./my_monitor_control.sh brightness 75

cat ./my_monitor_control.sh


!/bin/sh

DEV='dev:/dev/i2c-3'

case "$1" in
 vga)
    ADDR='0x60'
    DATA='1'
;;
 dport)
    ADDR='0x60'
    DATA='2'
;;
  dvi)
    ADDR='0x60'
    DATA='3'
;;
  brightness)
    ADDR='0x10'
    DATA="$2"
;;
  brightness+5)
    ADDR='0x10'
    DATA=`sudo /usr/bin/ddccontrol -r "$ADDR" "$DEV" 2>/dev/null| awk -F'/' '/^Control/   {x=$2+5; if (x>100) {print 100} else {print x} }'`
;;
  brightness-5)
    ADDR='0x10'
    DATA=`sudo /usr/bin/ddccontrol -r "$ADDR" "$DEV" 2>/dev/null| awk -F'/' '/^Control/   {x=$2-5; if (x<0) {print 0} else {print x} }'`
;;
  contrast)
    ADDR='0x12'
    DATA="$2"
;;
  contrast+5)
    ADDR='0x12'
    DATA=`sudo /usr/bin/ddccontrol -r "$ADDR" "$DEV" 2>/dev/null| awk -F'/' '/^Control/   {x=$2+5; if (x>100) {print 100} else {print x} }'`
;;
  contrast-5)
    ADDR='0x12'
    DATA=`sudo /usr/bin/ddccontrol -r "$ADDR" "$DEV" 2>/dev/null| awk -F'/' '/^Control/   {x=$2-5; if (x<0) {print 0} else {print x} }'`
;;
esac
[ -n "$DATA" ] && sudo /usr/bin/ddccontrol "$DEV" -r "$ADDR" -w "$DATA" >/dev/null 2>&1

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от annerleen

Интересно. У меня на LG нет usb serial, но есть вот такое:

~ lsusb|grep LG
Bus 007 Device 008: ID 043e:9a39 LG Electronics USA, Inc. USB Controls

Оно как input device идёт. Как это контролировать – непонятно. Может как-нибудь задрочусь и поснифаю их софтину, вдруг там что-то есть. Спасибо за наводку.

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

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

pingvinek
()

Оп-па, спасибо за тему и комментарии в ней. Давно читал, что у dp есть в протоколе, начиная с какой-то версии, возможность изменять параметры монитора из системы. Хотел потыкать палочкой, но в итоге забыл. Теперь, благодаря вам, попробую на следующих выходных.

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

Я проверил свои два монитора (LG и Dell) и монитор у подруги (Samsung). Везде DDC не работает, как под лялехом так и под вендой.

Возможно, дело в nvidia и там и там. Но в любом случае, результат один и тот же.

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

И у dvi такая штука есть? Круто. Наверное и у hdmi есть.

EmgrtE ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.