У меня есть следующая конфигурация оборудования:
С этой конфигурацией Ubuntu показывает только 640x480 и 800x800 в качестве возможных разрешений. Однако, если я подключу какой-либо телевизор / монитор напрямую к ПК (через VGA), то Ubuntu покажет длинный список возможных разрешений (я пробовал несколько из них, и они работали нормально).
Кажется, что X Window System автоматическая настройка не работает должным образом. Как мне вручную настроить его? Какая информация должна знать о различных устройствах, задействованных заранее?
Контекст: Мониторы устанавливаются в общественных местах в одном здании для отображения динамической информации, которая обрабатывается на ПК ( Flash-презентация в Firefox в полноэкранном режиме).
Обновление :
Я попробовал следующее, как указано в ответах, приведенных в ответах:
Получить моделин для разрешения, используя cvt
Создан новый режим с помощью xrandr --newmode
Добавлен режим для отображения на выходе с помощью xrandr --addmode
Пытался изменить разрешение, используя xrandr --output ... --mode ...
Но я получаю это: xrandr screen cannot be larger than 800x600 (desired size ...)
Вот то, как автоматическое обнаружение монитора работает: встроенное микропрограммное обеспечение Каждого монитора содержит блок данных под названием EDID, который кодирует разрешения монитора и частоты обновления и так далее. Видеодрайвер выполняет аппаратный вызов для получения этих данных через видеокарту / соединение монитора.
Разделители (как KVMs) управляют путем с карты на монитор. Некоторые KVMs передают EDID правильно, другие не делают. Мое предположение - то, что Ваш разделитель не позволяет EDID пасоваться назад.
Действительно, я предположил бы, что системный вызов имеет встроенное предположение, что только один блок EDID присутствует на данном коннекторе, поэтому даже если бы он возвращал что-то, то это, вероятно, не было бы тем, что Вы хотели.
Кроме того, в то время как все мониторы возвращают EDID, некоторые телевизоры не делают или возвращают поврежденный EDID. Но так как Вы протестировали его без разделителя, и это работало правильно, я не думаю, что эта проблема влияет на Вас.
Различные мониторы поддерживают различные наборы разрешений и частот, но все мониторы требуются Стандартом VESA поддерживать по крайней мере два: 640x480 и 800x600. Таким образом, когда X ничего не знает о мониторе, подключенном к нему, это отступает к тем двум разрешениям. Вот почему это - единственные, которые Вы видите доступный.
Так или иначе я думаю в этом случае, что Вы не можете полагаться на EDID, чтобы автоматически конфигурировать Ваших мониторов волшебно. Вместо этого необходимо будет вручную указать данные сами.
Если Вы указали свой видеодрайвер или связались с Вашим Xorg.0.log, я мог бы дать Вам более определенную информацию. Процедура варьируется, в зависимости от какого видеодрайвера Вы используете. Если это - поддерживающий KMS драйвер как - Intel или-ati, необходимо указать его через ядро. Если Вам выключили KMS или используете драйвер не-KMS, но драйвер поддерживает RANDR (например,-fglrx), можно добавить modeline использование xrandr инструмента командной строки такой, как зарегистрировано у основания https://wiki.ubuntu.com/X/Config/Resolution. При использовании не-KMS, non-RANDR драйвер такой как - Nvidia, им управляют полностью в/etc/X11/xorg.conf; в этом последнем случае необходимо будет искать частоты кадровой развертки и частоты строчной развертки для всех мониторов (надо надеяться, они - все близко к тем же диапазонам, еще Вы завинчены), и затем укажите тех, которые через опции HorizSync и VertRefresh в xorg.conf. Необходимо будет также добавить разрешение в xorg.conf. Возможно Вы, возможно, должны создать ModeLine также, но я поставлю просто HorizSync, и VertRefresh будет достаточно.
Удача, и если Вы застреваете убедиться отправить Ваш /var/log/Xorg.0.log.
Похоже, что X не может правильно определить разрешение разделителя.
Вы можете заставить его использовать произвольные разрешения, используя xrand. На нем имеется некоторая документация , проверьте Раздел «Добавление необнаруженных разрешений» и Настройка X и изменение изменений не изменяются .