DVI-VGA и Ubuntu

2021.10.05
Установка и работа Ubuntu с использованием монитора через DVI-VGA если переходник не передает EDID

Решил на работе поставить Ubuntu 18.04 совместно с Windows 8.1, (сначала Windows, а потом Ubuntu) … сходу начались проблемы, монитор пишет "вне диапазона", но их удалось решить.

Сообщение на мониторе "Вне диапазона"

Эта статья была написана еще в 2019 году, но опубликована только сейчас, возможно проблема не акутальна, еще не проверял на свежих версиях Ubuntu, нет переходника :)

В чем проблема?

Вся проблема в том, что сигнал от видеокарты на монитор подается через переходник DVI-VGA, и этот самый переходник не передает EDID (Extended display identification data). Стоит заметить что на Windows проблем не было, но это если смотреть не вооруженным глазом.

Тот самый DVI выход: Тот самый DVI выход

Установка Ubuntu

В общем, сходу при попытке запустить установку Ubuntu возникает проблема, монитор пишет «вне диапазона», и все. Это решается путем прямого указания ядру использовать нужный драйвер:

При первой загрузке системы, необходимо перейти в конфигурацию загрузки (в загрузчике нажать e) и указать после splash nouveau.modeset=0, там где строка начинающаяся с linux и заканчивающаяся ---

Загрузчик с выбором системы загрузки

Стандартная конфигурация загрузки, которую нужно модифицировать

Вход в систему

Установка прошла успешно. Ошибка возникает на этапе входа в систему, все то же самое «вне диапазона». Надо grab’у сказать о том, какие драйвера он должен юзать, следующим образом:

Выбор режима recovery в загрузчике

Меню режима recovery

Теперь система должна загружаться, но разрешение будет низкое. Устанавливаем драйвера для своей видеокарты. У меня была nvidia, устанавливал по этой статье.

Установка максимального разрешения

Перейдя в настройки разрешения, я увидел что нет нужного мне 1920х1080, есть только 1440х900. Естественно это меня не устроило. Пошел на форумы, большинство описываемых пользователями проблем решались путем xrandr, но не моя проблема.

Через несколько дней решение было найдено здесь, а если быть точнее то здесь.

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

Значения частот записал в файл /usr/share/X11/xorg.conf.d/xorg.conf в секцию Monitor в ключи HorizSync и VertRefresh.

Зайдя по сайт производителя монитора (например вот ссылка на мой рабочий монитор lg 22MP58A-P), можно узнать частоты, на которых работает монитор.

А почему нет проблем на Windows?

А теперь о Windows. С этой системой не возникло ни одной из перечисленных проблем, но это не значит что проблем не было.

Как правило, после установки драйвера для видеокарты, система сама изменяет разрешение до максимального, но в данном случае такого не произошло. Причина тому отсутствие EDID от монитора. Однако, в списке разрешений присутствовало нужное.

Это говорит лишь о том, что Windows максимально пытается решить проблему, в то время как Ubuntu оставляет решение за юзером.

В телеграм канале DevOps от первого лица можно оставить комментарий или почитать интересные истории из практики DevOps