Разгон монитора и исправление цветового диапазона в 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://vk.com/kerfaers или t.me/Pavel_Priluckiy

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

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

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

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

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

Новости

Публикации

Вселенная состоит из «пикселей»: как отказ от непрерывной математики решает главные парадоксы квантовой физики

В своих знаменитых лекциях Ричард Фейнман неоднократно подчеркивал, что квантовая интерференция — это единственная настоящая загадка квантовой механики. Из этого явления прямо или...

Суперкорабль Архимеда: какой была Сиракузия и зачем её строили

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

Почему автомобиль Lotus Seven продавали вместе с руководством по его разборке

В середине двадцатого века британская автомобильная промышленность переживала период активной трансформации. На фоне послевоенного восстановления экономики инженеры и конструкторы искали способы...

Почему «OK» стало универсальным словом согласия на всех языках мира

В современном мире трудно найти человека, который бы не понимал слово «OK». Две короткие буквы используются в чатах и деловых переговорах. Его можно услышать в любой точке планеты. Оно...

Как колодец в Индии стал архитектурным чудом и почему сейчас из него нельзя пить

Ну вообще-то назвать Чанд-Баори обычным колодцем всё равно что обозвать египетские пирамиды всего лишь каменными горками. Да, технически его построили для сбора воды. Но, как часто бывает с людьми,...

Подземный мегаполис Китая: зачем Мао Цзэдун приказал построить вторую столицу под Пекином

В конце 1960-х годов напряжённость между Китаем и Советским Союзом достигла критической точки. Пограничный конфликт на острове Даманский (Жэньбао) в 1969 году стал катализатором страхов перед...