Разгон монитора и исправление цветового диапазона в Linux

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Гайд | Платформа ПК

Здравствуй, многоуважаемый читатель! Мы продолжаем серию материалов, посвящённых настройке и оптимизации систем на базе ядра Linux. В этой небольшой инструкции вы узнаете, как исправить давнюю проблему с ограниченным цветовым диапазоном в Linux, а также как всего за пару кликов разогнать матрицу монитора вне зависимости от используемой модели видеокарты, протокола графического сервера (Xorg, Wayland) или рабочего окружения (Gnome, KDE, Xfce, I3).

Система автора

Пояснение проблемы

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

При использовании цифрового подключения HDMI/DVI-D, Linux не всегда правильно выставляет цветовой диапазон и частоту обновления экрана монитора, что приводит к плохому качеству отображаемой картинки и потери плавности мыши.

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

Full RGB и разгон монитора

В настоящее время в Linux происходит плавная замена протокола графического сервера Xorg на более новую и быструю реализацию Wayland, что приносит настоящий хаос в настройку конфигурации. Но мы воспользуемся не стандартным методом и создадим универсальный конфигурационный файл для нашего монитора.

1. Открываем терминал и вводим команду find /sys/devices/pci*/ -name edid. Она нам необходима, чтобы узнать, где хранится файл конфигурации edid.

У меня монитор подключен по HDMI, а значит я просто выделяю и копирую всю первую строку.

2. Копируем файл edid в домашнюю директорию с помощью команды:

cp /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-HDMI-A-1/edid ~/edid.bin

Если вы всё сделали правильно, то в /home/ваше_имя появится файл edid.bin.

3. Теперь нам необходимо установить ПО для чтения и внесения изменений в файл edid.bin. Я рекомендую использовать нативный редактор wxEDID.

Выполняем установку wxEDID и зависимостей:

sudo pacman -S git base-devel grub-customizer                           # Скачать зависимости и редактор grub

git clone https://aur.archlinux.org/wxedid.git                               # Стянуть исходники ПО

cd wxedid                                                                                             # Перейти в папку с исходниками

makepkg -sric                                                                                       # Собрать и установить программу

4. Запускаем программу через команду в терминале sudo wxedid и в окне программы выбираем наш edid.bin. File -> Open EDID binary.

Для активации полного цветового диапазона меняем данные в строках:

  • SPF: Supported features -> изменить значение vsig_format на 0b00
  • CHD: CEA-861 header -> изменить значение YCbCr4:2:2 и YCbCr4:4:4 на 0
  • VSD: Vendor Specific Data Block -> изменить значение DC_Y444 на 0

Для разгона матрицы монитора выбираем изменяем данные (Пропустите раздел, если вам не нужен разгон):

Выбираем DTD: Detailed Timing Descriptor и переключаемся на вкладку DTD Constructor, где в поле Pixel clock постепенно повышаем частоту обновления монитора до необходимых значений. Для различных мониторов пределы разгона отличаются. 

Сохраняем изменения через File-> Save EDID Binary. Для удобства я назову новый конфигурационный файл edid2.bin.

5. Теперь необходимо заставить систему использовать модифицированный файл edid2.bin вместо системного. Создаём по пути /usr/lib/firmware/ папку edid и переносим туда наш модифицированный edid2.bin.

Вводим команды:

cd /usr/lib/firmware/                                                                           # Перейти в нужный раздел

sudo mkdir edid                                                                                  # Создать папку от администратора

cd                                                                                                      # Перейти в домашнюю папку

sudo cp edid2.bin /usr/lib/firmware/edid                                               # Скопировать файл edid2.bin

6. Добавляем модифицированный файл в наш загрузчик.

Запускаем grub-customizer и добавляем в параметры ядра (в самый конец) команду drm.edid_firmware=edid/edid2.bin, которая заставит Linux подхватывать наш изменённый конфигурационный файл при загрузке ядра. 

Сохраняем изменения через кнопку "Сохранить" в левом углу ПО и смотрим на представленную ниже картинку.

Если всё было сделано правильно, то после перезагрузки вы сразу почувствуете разницу в плавности движения мыши, а картинка с прекрасной Morrigan засияет новыми красками.

Заключение

Вот, собственно, и всё! Не знакомому с Linux-миром человеку вся эта инструкция может показаться пугающим шаманством, но она и не рассчитана на него, а повествует лишь о необычном способе исправления древнего бага и существенного повышения комфорта при использовании Linux. Уважайте свободу, используйте Linux и ни в коем случае не предавайте себя.

Видеоверсия

Другое
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://t.me/Pavel_Priluckiy | https://vk.com/kerfaers

12 комментариев

87638502@vkontakte
Постараюсь видео подготовить сегодня.
370582630@vkontakte
ОН ВЕРНУЛСЯ!
87638502@vkontakte
Я постараюсь вернуться к теме линукса, спасибо за поддержку.
А
Отлично, то что нужно было мне.
87638502@vkontakte
Добавлена видеоверсия, исправлены опечатки.
87638502@vkontakte
Всё аналогично, нужно копаться в файле. Правда я не слышал о проблемах с HDR и 10 bit.
87638502@vkontakte
Ловите
linuxreviews.org/HOWTO_enable_10-bit_color_on_Linux
87638502@vkontakte
Я лишь пишу о проверенном на собственном опыте, к сожалению, у меня нет оборудования с поддержкой HDR и 10 Bit.
102946656600367664478@google
Может автор знает с чем может быть связано то что на ноуте с любым дистрибутивом линукса, при подключении монитора BenQ ex2780, нет его нативного разрешения, т.е. даже 1440p на 60гц,
На ноуте HDMI 1.4b и видеоадаптером выступает intel UHD620. Драйверы стандартные.
Можно в ручную через Xrandr, и то только через GTG -r.
87638502@vkontakte
Попробуйте поменять HDMI на 2.0. Однако вы можете и с помощью этого гайда установить любое разрешение.
V
Инфа интересная, но русский язык вам бы подтянуть не мешало:
>>серию материалов, посвящённых настройки и оптимизации систем на базе ядра Linux. В этой небольшой инструкции вы узнаете, как исправить давнюю проблему с ограниченным цветовым диапазоном в Linux, а также как всего за пару кликов разогнать матрицу монитора в независимости от используемой модели видеокарты
«посвящённых настройкЕ»
«ВНЕ зависимости»

Добавить комментарий

Сейчас на главной

Новости

Публикации

Как я возвращал в Озон товар, доставленный из Китая

Расскажу об удивительном опыте возврата товара, заказанного в Озон с доставкой из Китая, а заодно о «возврате без возврата» товара из раздела «Комбо» на AliExpress, удивившего ещё сильнее. Как...

Как через «Госуслуги» проверить наличие SIM-карт, оформленных на вас

В России регулярно вскрываются факты оформления SIM-карт на подставных лиц откровенными мошенниками или просто «серыми» дельцами. Со вчерашнего дня проверить, не оформлена ли на вас карта,...

Red Square выходит на новый уровень: обзор клавиатуры Red Square Alumix Serenity

Red Square Alumix Serenity — как и вся серия Alumix, это новая клавиатура от Red Square, в которых, как понятно по названию, используется алюминий, как материал для изготовления корпуса....

Бессмертная медуза: единственное существо на Земле, способное жить вечно

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

Как переход на григорианский календарь привёл к исчезновению десяти дней?

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

Могут ли появиться акулы-людоеды в Чёрном море

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