LINUX.ORG.RU

В синдроме сухого глаза оказался виноват GNOME!!!

 , ,


1

2

Всем привет! Я очень долго мучился и не мог понять в чем причина, притом под виндой ситуация была значительно лучше. А gnome я ловил перенасыщенные цвета и потом сухие глаза. Притом даже в ночном режиме были странности с цветами, что странно было так как панель широкоохватная. По EDID первичные цвета: красный x≈0.687, зелёный x≈0.265/0.703 (заметно шире sRGB).

Мое железо/софт:

  • Lenovo Legion R9000P ARX8, панель BOE (внутренняя, eDP), 2560x1600 240 Гц
  • Гибридная графика AMD (iGPU) + NVIDIA, экран на amdgpu
  • Fedora 43, GNOME Shell 49.6, сессия Wayland

Что характерно, проблема оказалась в Gnome на Wayland. Эта зараза не умеет применять ICC через colord. sRGB просто растягивается на весь охват матрицы, цвета смещаются и отсюда перенасыщенность. GNOME применяет из профиля только кривую VCGT (гамма/баланс серого), а она охват/насыщенность не меняет. Для сжатия охвата нужна матрица/3D преобразование на выходе, которым Mutter пока не управляет.

В Windows корректность обеспечивают Auto Color Management и заводская калибровка Lenovo (модуль SmartColor в Vantage).

Что НЕ помогло (в GNOME):

Управление цветом на уровне приложений лечит только их. Например, в Firefox: gfx.color_management.mode = 1 gfx.color_management.display_profile_path = /path/to/panel.icc - работает, но только для браузера. Для редакторов кода и остального десктопа решения в GNOME/Wayland на сегодня нет.

Что помогло: KWin в Plasma 6 при назначении ICC-профиля берет весь не-color-managed контент (включая сам рабочий стол) как sRGB и сжимает его в охват панели по всему профилю, а не только по VCGT. Это лечит перенасыщенность на всём десктопе сразу.

Шаги:

  1. Поставил Plasma рядом с GNOME, GDM оставил как менеджер входа: sudo dnf install @kde-desktop

  2. Достал заводской профиль панели. На многих ноутбуках Lenovo он лежит не в стандартной папке Windows, а в данных Vantage:

C:\ProgramData\Lenovo\Vantage\Addins\SmartColorAddin<версия>\x64\icc\Color_Default_*.icm

Там обычно несколько: _sRGB, _Default, _DisplayP3, _AdobeRGB. У всех одни и те же родные первичные панели, различаются калибровочной кривой. Я взял Color_Default_sRGB.icm (точный sRGB-баланс серого) и скопировал в ~/.local/share/icc/. Если Windows нет, можно использовать EDID-профиль (его генерирует colord) или встроенную в Plasma опцию EDID - менее точно, но рабочий охват тот же.

  1. В Plasma: System Settings - Display & Monitor - Display Configuration, выбрал встроенный экран, в разделе Color Profile добавил профиль и применил. Заодно выставил 240 Гц и масштаб (KWin держит свой конфиг и не читает настройки GNOME).

Перенасыщенность ушла на всех приложениях, глаза перестали так уставать как раньше. Ура!

Скорее всего так будет со всеми матрицами которые шире sRGB, так что решил поделиться, вдруг тоже мучались

★★★★

Последнее исправление: AntonyRF (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Да блин, тут с одной стороны у программистов профдеформация, и они не могут понять, как это на компьютере можно вводить текст на русском, а не на Python. А с другой стороны, какие-то свидетели гаммы си бемоль минор, которые не могут понять, что при вводе текста или чтении ЛОРа мне гамма до полярной звезды.

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

Это любители поработать за ноутом. Там без разницы смотришь в окошко или нет. В итоге всё равно без глаз 😁

Но кактус им сладок и приятен.

Я в поездки на машине с ноутом всегда монитор беру, а когда на самолёте, то там либо уже есть моник лиьо его покупаю. А в командировки ноут не беру, если там нет мониторов. Глаза важнее денех.

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

на машине с ноутом всегда монитор беру

А куда вы монитор в машине подключаете? Ещё БП специальный от прикуривателя?

а когда на самолёте, то там либо уже есть моник

Моник для подключения ноута в самолёте? Бизнес-класс?

mky ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария