LINUX.ORG.RU

Как настроить OLED в Linux

 , ,


1

2

После установки Xubuntu на Asus Vivobook(дисплей OLED, не работала регулировка яркости через ползунок, то есть при уменьшение или увеличения яркость остаётся на максимуме. Обновил драйвера, не помогло.Пробовал задать через /sys/class/backlight.После выяснил здесь на форуме, что упустил главную особенность - что у OLED нет backlight.Прошу знающих поделиться инфой есть толковая низкоуровневая реализация регулировки яркости пикселей, цветопередачи и других крайне необходимых вещей для OLED в Linux.

lshw -c video
  *-display                 
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=2880x1800 visual=truecolor xres=2880 yres=1800
       resources: iomemory:610-60f iomemory:400-3ff irq:183 memory:612e000000-612effffff memory:4000000000-400fffffff ioport:4000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
  *-display
       description: 3D controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: iomemory:600-5ff iomemory:610-60f irq:184 memory:85000000-85ffffff memory:6000000000-60ffffffff memory:6100000000-6101ffffff ioport:3000(size=128) memory:86000000-8607ffff


 inxi -FX
 
Graphics:  Device-1: Intel vendor: ASUSTeK driver: i915 v: kernel bus ID: 0000:00:02.0
           Device-2: NVIDIA vendor: ASUSTeK driver: nvidia v: 470.86 bus ID: 0000:01:00.0
           Display: server: X.Org 1.20.13 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa resolution: 2880x1800~90Hz
           OpenGL: renderer: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2 v: 4.6.0 NVIDIA 470.86 direct render: Yes

попробуй добавить юзера в группу видео # usermod -aG video имяюзера и перезагрузись

anonymous ()

Если не меняется через /sys то возникает тревожное предположение, что драйвер не предоставляет ядру такой опции

w1rox ()

внимательно изучи dmesg
1) вообще, на предмет ошибок и ворнингов, в том числе от acpi
2) сразу после попытки крутить яркость (просто запусти в граф. терминале sudo dmesg -T -w и смотри, будут ли появляться какие-то сообщения во время регулировки яркости)

anonymous ()

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

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

Спасибо. Вот это вообще сильно опечалило: Note: Since OLED screens have no backlight, brightness cannot be controlled by changing backlight power on laptops equipped with an OLED screen. In this case, perceived screen brightness can be adjusted with a PWM control (not implemented in the Linux kernel) or via software color correction.

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

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

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

заодно погугли i915.invert_brightness - хотя я слабо представляю, что это такое

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

да тоже читал, что регулировать яркость через него не айс Вот засада,купил ноут за 81К и думал покодить с настроением и вот «тебе на»

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

На след как раз и можно, это на обычных работающих на просвет экранах неайс. А олед приемлимо и цветокоррекцией регулируется. Через нвидия настройки покрути гамму

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

не переживай, осталось докупить внешний моник за 81к, и тогда уже заживёшь на полную катушку ;)

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

OLED-у же уже около 20 лет, неужели в Linux не реализовали его поддержку?

15 лет назад OLED были в виде крохотных монохромных экранчиков в mp3 плеерах, так что не преувеличивай.

Я понял, у oled нет backlight, черные пикселы это и есть выключенное состояние. Модули типа asus_wmi отправляют управляющие сигналы ACPI, т.е. вызывают соответствующие фукнции, а эти функции дергают контроллер который отвечает за подсветку. Выходит что в OLED такого контроллера просто нету, и яркость должна управляется видеокартой, изменения программной яркости изменит интенсивность свечения пикселей.

Ну тогда сделай скрипт или два, один повышает текущую яркость, другой понижает и сделай биндинг кнопок в DE, такой вот простой workaround :)
Если у тебя иксы то через xrandr можно управлять, только что проверил:

xrandr --output eDP --brightness 0.7

Где eDP это название моего дисплея, его можно подглядеть через xrandr --listmonitors


Можно просто на кнопки ctrl+shift+alt + [1,2,3,…] прибиндить выполнение xrandr с разными значениями brightness: 0.3, 0.4, 0.5.

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

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

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

попробуй добавить юзера в группу видео # usermod -aG video имяюзера и перезагрузись

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

$ newgrp - имягруппы

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

Ещё раз спасибо добрый человек!Искренний респект! Сработало через xrandr,накатал скрипт,но нашел такую новость:

https://www.google.com/url?q=https://www.reddit.com/r/thinkpad/comments/fmalfu/ubuntu_2004_brings_brightness_control_to_oled_x1/&sa=U&ved=2ahUKEwiliszYpeH1AhUD_CoKHZTFBz8QFnoECAoQAg&usg=AOvVaw1hnXZCPZQZ6bn9WgmIod6V

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

У меня правда на Ubuntu тоже не сработало регулировка,про новость я к тому как посмотреть на чем реализовано это коробочное решение(сама логика) тоже xrandr или более низкоуровневое решение, и если низкоуровневое то как его можно реализовать, в смысле куда «копать и что искать» чтобы на уровне ядра было это?

w1rox ()
Последнее исправление: w1rox (всего исправлений: 2)
Ответ на: комментарий от anonymous

пока через xrandr.Не совсем точно понимаю как он регулирует, но вроде он аффектится на цветовой гамме.А хотелось бы что регулировалось только яркость пикселей. Только что нашёл такое:

https://github.com/F-i-f/soft-brightness

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

так а чем плох вариат сдать ноут и взять что-то посерьёзнее?

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

Кстати, ты можешь отрегулировать еще и гамму по трем каналам, попробуй так:

xrandr --output eDP --brightness 0.5 --gamma 0.5:0.5:0.5

# Восстановить исходные:
xrandr --output eDP --brightness 1.0 --gamma 1.0:1.0:1.0

Три значения это Red,Green,Blue.
Можно наверное подобрать комфортные параметры под свою панель.
На самом деле я вообще не знаю как это на OLED выглядит, может программной настройки недостаточно.

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

Если кто сможет посмотреть код, или протестить решения - пишите свой отзыв, думаю многим это будет интересно. При грамотной настройке Oled весьма красивая и приятная технология

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

поправлю ссылку:

https://unix.stackexchange.com/questions/560238/why-doesnt-linux-support-oled-screens-brightness-control
w1rox ()

Надо было брать макбук, а не эту хрень. Увы, линукс и ноутбуки малосовместимы.

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

4.2

Пишу с макбука, рядом стоит ноут с линуксом. При беде, можно пользоваться и последним. Он моему макбуку в деды годится, а его «яблочные» ровесники уже только для музеев и подходят. Ну, ладно, еще тексты набирать.

Раньше был рабочий современный ноут с тех, что с убунтой из завода (модель сейчас не вспомню). С ним вообще проблем не было в линуксе, работало все.

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

Уважаемые тут была просьба делиться опытом и впечатлениями использования различных методов и инструментов для настройки OLED на Linux. Кому и какая ОС нравится это сорри, но не по адресу

w1rox ()

Что я делаю не так?

то что устанавливаешь туда linux, думаешь что для него кто-то написал драйвера? Если панель от самсунга, можно поискать на форуме в ветке хромобука самсунг. хотя там тоже было исчезающее количество пользователей из-за его автономности

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

Сейчас ASUS начала делать несколько линеек ноутов с OLED, куча моделей до 100к рублей. Так что скоро в linux будет поддержка OLED.

Я тоже рассматривал asus vivobook pro 16 с OLED за 80к рублей, вот только RAM распаянная:( А еще непонятно как там ШИМ/мерцание, вдруг весь день смотреть на такой экран будет неприятно.
Кстати, в дорогих линейках все еще IPS, что как бы намекает.

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

Экран шикарный(цветопередача, цветовой охват,контраст,насыщенность), мерцание нет, вроде 90 Гц.Из ммнусов: если смотреть сбоку на экран, то поверхность экрана как бы не ровная, для сравнения например зеркало дома или стекло на окне имеют почти идеальную ровную поверхность, тут с этим делом грустно, но даже после долгих поисков ноутов с OLED и даже на DELL exps за 157К или Lenovo Yoga данный недостаток присутствуют к сожалению,и да данный недостаток присутствуют так же на ноутах с IPS и Macbook 2020 и 2021 правда кривизна поверхности у них послабее(субъективно), но есть.Самая минимальная такая кривизна на экранах с матовой поверхностью, на топовых ноутах с матовым экраном его почти нет(тоже субъективно)

w1rox ()
Последнее исправление: w1rox (всего исправлений: 2)
Ответ на: комментарий от Aber

Сейчас ASUS начала делать

лютый подвал, еще лет пять назад они были «агонь!» у меня в системнике ихняя мать из первых РОГов, на x97 чипсете, я на али купил в нее ксеон + 16 памяти, да я на ней еще 10 лет спокойно просижу. Но то что в последнее время делает «Эйзус» не просто лютое говнище, а прям откровенная дрисня.

Кстати, в дорогих линейках все еще IPS, что как бы намекает.

IPS - говно. априори, просто oled/amoled - это такая лотерея в плане надежности, например у меня есть «Samsung Galaxy S2» который даже был в базовом лагере Эвереста, ему уже больше 15 лет а экран вообЩе как новый, в смысле экран не менялся и вообще как новый.И на нем нет ни одного выгоревшего пикселя да и сам экран даже не потерял яркости и контрастности.

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

ключевой фактор тут OLED - отсутствие backlight

у тебя какая-то каша в голове, бэклайт в панели подразумевает «заднюю» подсветку панели, по факту там все гораздо проще, сверху стоит планка со светодиодами которые светят, обратная сторона у подложки под ЖК панель зеркальна, что в принципе в олед экранах не возможна и не подразумевает, это ключевая особенность как проверить «олед/не олед» - в темноте олед чернее черного, если есть засветка - тебя поимели.

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

Так что скоро в linux будет поддержка OLED.

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

e000xf000h ()

У OLED в принципе нет и не может быть никакого backlight, для тупорылой венды производители делают убогий костыль в виде PWM который дрочит одновременно все пиксели снижая яркость чтобы вендоюзеры не бомбили. В линуксе эти костыли просто не нужны, использовать PWM для регулировки яркости OLED это примерно как надевать тёмные очки чтобы уменьшить яркость монитора. xrandr отлично регулирует яркость OLED через гамму выводимой картинки. Просто повесь xrandr –brightness на кнопки и контролы регулировки яркости экрана в своём DE. Ещё рекомендую сделать или найти готовый icc профиль для матрицы, и воспользоваться xcalib для его загрузки, чтобы получить отличную цветопередачу.

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

Я долгое время не хотел переходить на Oled,пугали Аля цвета «кислотные», шим, выгорающие пиксели и etc, но третий год подряд экран на моем смартфоне Samsung абсолютно никак не деградировал,цветопередача, насыщенность, контрастность, яркость все на высоте, и нет ни выгоревших пикселей.Надеюсь поддержку OLED реализуют в ближайшее время толково в Linux.

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

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

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

Кстати после использования OLED, разница в качестве цветов, контрастности и самого важного для меня настоящего чёрного цвета заметно на раз.На моём Asus ZenMax Pro(ZB602KL) лучшая IPS из всех что я юзал, цветовой охват,насыщенность, контраст и высокий PPI, все намного лучше чем на предыдущих моих смартфонах, качественная матрица IPS, но сравнительно с OLED на Samsung уступает

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

man xrandr

man xcalib

man triggerhappy

man как в вашем DE повесить нужные команды на регулировку яркости.

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

пугали Аля цвета «кислотные», шим, выгорающие пиксели и etc,

Не понимаю, зачем слушать имбецилов? Нравится визуализация - оплачиваем, не нравиться - проходим мимо за руки никто же не тянет.

Надеюсь поддержку OLED реализуют в ближайшее время толково в Linux.

Ха-ха, как меня умиляют подобные речи. А кто будет организовывать поддержку Linux если производителю не интересно?

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

Твоя проблема, как писал там выше один персонаж, по факту высосана из пальца. В предложении «товарища» тебе предложили использовать определенные драйвера из функций которых можно извлечь более или менее нужные тебе функции. Но по факту это «костыль», платить за панель что бы потом прикручивать к ней костыли - такое себе.

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

А теперь вопрос в студию: - а нахера покупать железяку или ставить на нее говнодистр чтобы потом пердолится долгими зимними вечерами?

Если ты конечно хочешь вникнуть в тему, это похвально до тех пор пока не появится Новый «Мигель Дэ Иказа» или «Леннард Поттеринг», которые привнесли в Linux очередной «НЁХ», на который также требуется время и ресурс и ты «воленс или не воленс» заниматься пердолингом чтобы все это в массе свой заработало.

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

он не будет ни с чем пердолиться
сейчас проверим ещё одну (последнюю) штуку, и на этом вопрос закроем на время

anonymous ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.