Подключение монитора с wide gamut

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

Для CLDX потребуется:

1. Собственно профиль ICC, который создается с помощью калибратора (рекомендуется) или идет в комплекте с монитором (если производитель сам калибрует каждый экземпляр). За неимением таковых можно найти профиль для своей модели монитора на просторах Интернета.
Я воспользовался профилем ICC отсюда [[http://www.tftcentral.co.uk/articles/icc_profiles.htm]], который был помещен в /usr/share/color/icc.

2. Загрузчик профиля или демон, обеспечивающий поддержку ICC в менеджере сеансов. Я установил имеющуюся в портежах утилиту xcalib, которая загружает калибровочные кривые из профиля ICC в LUT видеокарты. Для ее автозапуска можно использовать менеджер сеансов xfce либо добавить хук в сценарий запуска lightdm [[https://wiki.ubuntu.com/LightDM#Adding_System_Hooks]]. Первый способ не подошел, так как настройка монитора делается для каждого пользователя отдельно и результат применяется уже после логина в систему. При этом заметна перенасыщенность цвета в окне приветствия lightdm, особенно если использовать фото пользователя в качестве аватара.
В файл /etc/lightdm/lightdm.conf я добавил следующую строку:

display-setup-script=/usr/bin/xcalib '/usr/share/color/icc/Dell U2711 Standard Profile.icc'

Важно убрать параметр “-d :0” из опций xcalib, который имеется в некоторых рекомендациях по настройке управления цветом, в частности здесь [[https://wiki.archlinux.org/index.php/ICC_profiles#Loading_ICC_profiles]]. При запуске xcalib из менеджера сеансов xfce этот параметр, будучи установленным, не вызывал проблем. Однако при переносе настроек в lightdm.conf, с ним конфликтовал энергосберегающий режим отключения экрана. Также замечу, что предложенный в archlinux wiki запуск xcalib из файла xinitrc у меня не заработал (ни из /etc/X11/xinit/xinitrc, ни из ~/.xinitrc).

3. Приложения с поддержкой ICC: [[https://wiki.archlinux.org/index.php/ICC_profiles#Applications_that_support_ICC_profiles]], [[https://www.dpreview.com/forums/post/34732317]], [[http://cameratico.com/guides/firefox-color-management/]]. Замечу, что при установке geeqie и mpv понадобилось добавить USE флаг lcms. Готовый конфиг для запуска mpv, в который достаточно добавить путь к профилю ICC, есть на gentoo wiki.

Весьма полезно! Может лучше на вики перенести? http://wiki.calculate-linux.org/ru/

Можно. Я пока не разобрался как это сделать, и, если честно, сегодня времени на это не будет. Но я был бы не против, если бы Вы его туда перенесли :slight_smile:

Сопутствующие вопросы:

1. Правильно ли я понял, что для изменения файла конфигурации, в “шапке” которого указано, что он создается автоматически с помощью шаблонов calculate, необходимо и достаточно разместить по указанному в “шапке” пути пустой файл *.clt?

2. Большинство мониторов с wide gamut имеют высокое разрешение. В моем случае это вызывает проблемы с графическим режимом grub. Соответствующее меню долго грузится (без родных драйверов?) и появляется на экране всего на 0,3-0,5 сек. Возможно правильным было бы отключение графики в данном случае? (Можно конечно увеличить задержку, но загрузка и так длится довольно долго…)

Всесь смысл wiki в том, что каждый будет вносить свою лепту )

# По указанному в шапке пути находится путь к шаблону который настраивал файл, чтобы вы могли посмотреть те настройки которые были выполнены. В шаблонах как правило находсятся только изменения, а не полная копия. Плюс шаблон может быть прокомментирован. Файл clt это тот же шаблон, но в отличие от стандартных путей, находится непосредственно в /etc с тем же путем и именем, только с расширением clt. В самом простом виде он может быть копией файла настроек. В этом случае его формат будет восприниматься как “raw”, а его выполнине повлечет перезапись содержимого файла настроек.
# При установке добавьте параметр “cl-install --grub-terminal console”, после установки можно внести изменения выполнив “cl-setup-boot --grub-terminal console”.

Подскажите, пожалуйста, как правильно “подружить” устанавливаемую в файле /etc/default/grub переменную

GRUB_SAVEDEFAULT=true

и cl-setup-boot?

GRUB_SAVEDEFAULT=true

Смотри на заголовок /etc/default/grub

#------------------------------------------------------------------------------
 # Modified Calculate-core 3.4.7.15
 # Processed template files:
 # /var/lib/layman/calculate/profiles/templates/3.4/2_ac_install_merge/sys-boot/grub/default.grub
 # /var/lib/layman/calculate/profiles/templates/3.4/3_ac_install_live/1-merge/sys-boot/grub/new-3.3.1-plymouth/default.grub
 # /etc/default/grub.clt
 # For modify this file, create /etc/default/grub.clt template.
#------------------------------------------------------------------------------

создаёшь /etc/default/grub.clt Например так:

 # touch /etc/default/grub.clt

Открываешь /var/lib/layman/calculate/profiles/templates/3.4/3_ac_install_live/1-merge/sys-boot/grub/new-3.3.1-plymouth/default.grub
и копируешь его первую строку.
Вставляешь её в /etc/default/grub.clt, а потом на следующую строчку вставляешь GRUB_SAVEDEFAULT=true (? нажми Enter, чтоб файл заканчивался пустой строкой).

 # Calculate format=openrc path=/etc/default name=grub os_install_root_type!=usb-hdd&&in(os_install_x11_video_drv,other,default)==
GRUB_SAVEDEFAULT=true

Потом:

cl-setup-boot

я скопировал целиком шаблон в /etc/default/grub.clt и подправил под себя.

 # Calculate format=openrc path=/etc/default name=grub os_install_root_type!=usb-hdd&&in(os_install_x11_video_drv,other,default)==
#?os_install_linux_system==desktop&&kernel(zswap)==y#
GRUB_CMDLINE_LINUX="real_init=/sbin/e4rat-preload zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=15 video=#-os_install_fb_resolution-# #-os_install_kernel_resume-# elevator=#-os_install_kernel_scheduler-# #-os_install_kernel_attr-# calculate=video:#-os_install_x11_video_drv-# splash=verbose,theme:natural_gentoo"
#os_install_linux_system#
#?os_install_linux_system!=desktop||kernel(zswap)!=y#
GRUB_CMDLINE_LINUX="real_init=/sbin/e4rat-preload video=#-os_install_fb_resolution-# #-os_install_kernel_resume-# elevator=#-os_install_kernel_scheduler-# #-os_install_kernel_attr-# calculate=video:#-os_install_x11_video_drv-# splash=verbose,theme:natural_gentoo"
#os_install_linux_system#

#?os_install_linux_subname==&&os_install_scratch==off#
GRUB_DISTRIBUTOR="#-os_install_linux_name-#"
#os_install_linux_subname#
#?os_install_linux_subname!=&&os_install_scratch==off#
GRUB_DISTRIBUTOR="#-os_install_linux_name-# #-os_install_linux_subname-#"
#os_install_linux_subname#
#?os_install_linux_subname==&&os_install_scratch==on#
GRUB_DISTRIBUTOR="#-os_install_linux_name-# Builder"
#os_install_linux_subname#
#?os_install_linux_subname!=&&os_install_scratch==on#
GRUB_DISTRIBUTOR="#-os_install_linux_name-# #-os_install_linux_subname-# Builder"
#os_install_linux_subname#

#?os_install_grub_terminal==console#
GRUB_TERMINAL=console
#os_install_grub_terminal#
#?os_install_grub_terminal==gfxterm#
!GRUB_TERMINAL=
#os_install_grub_terminal#
GRUB_TIMEOUT=5
GRUB_SAVEDEFAULT=true

PS: на форуме нету спойлеров?

Спасибо! Сегодня попробую.

Вместо touch использую >.

О возможности копирования шаблона целиком догадывался, но возникли опасения, что в данном случае придется постоянно отслеживать и осмысливать изменения, которые происходят с данным шаблоном или с оригинальным файлом конфигурации grub.
(Наверное, постоянное отслеживание измений в файлах конфигурации - часть философии gentoo. Но ведь один из принципов кальки - сделать рутину обслуживания системы менее трудоемкой для пользователя?)

Интересно, нельзя ли сохранять только свои изменения относительно настроек, применяемых шаблоном?

А спойлеров я тоже не нашел :slight_smile:

Ну да, приходится время от времени смотреть коммиты на гитхабе у calculate, и сравнивать оригинальные шаблоны и свои правленные.

Вадим Зельдис wrote:

Подскажите, пожалуйста, как правильно “подружить” устанавливаемую в файле /etc/default/grub переменную
[…]
и cl-setup-boot?

Нашел информацию для размышления относительно корректного сосуществования ручных правок /etc/default/grub и шаблонов calculate: grub.clt

Оказалось, мне следовало просто добавить необходимую переменную в файл конфигурации. Если же речь идет о правке тех строк файла конфигурации, которые формируются шаблоном… Вариант с grep/sed в принципе понятен, но формат patch… Буду осмысливать это http://www.calculate-linux.ru/main/ru/calculate_utilities_templates

О возможности копирования шаблона целиком догадывался, но возникли опасения, что в данном случае придется постоянно отслеживать и осмысливать изменения, которые происходят с данным шаблоном или с оригинальным файлом конфигурации grub.
(Наверное, постоянное отслеживание измений в файлах конфигурации - часть философии gentoo. Но ведь один из принципов кальки - сделать рутину обслуживания системы менее трудоемкой для пользователя?)

Разумеется всё проще чем кажется. По заголовку видно, что данный файл настраивается двумя шаблонами и имеет формат подобный “openrc”. Сам факт того, что формат поддерживается шаблонами говорит о том, что вы можете с лёгкостью добавлять любые изменения и только их без полной копии содержимого(!), использования формата “patch” или всяких хитростей типа дописывания настроек в конец.

Пример изменения времени ожидания:

 # Calculate format=openrc
 # Задержка меню
GRUB_TIMEOUT=1

P.S. К слову, утилита cl-kernel из пакета sys-apps/calculate-toolkit, генерирует шаблоны налету, размещая их в /var/calculate/templates.