сентября 23, 2009

MediaCenter: Step 6 - Монитор и проектор

Задача:
Нужно показать одну и ту же картинку на монитор и проектор.

Исходные данные:
Получилось так, что монитор и проектор, подключенные к медиацентру не засинхронизированы по разрешению. То есть у монитора рабочее разрешение - 1440 на 900 пикселей, а у проектора - 1280 на 720. Получается, что даже соотношения сторон не совпадают. Причем, если подключить оба устройства к компу - автоматически при загрузке xubunt'ы устанавливается что то типа 1024 на 768. Это то разрешение, которое поддерживается обоими устройствами. Но это никуда не годится. Смотреть фильмы на 1024. когда знаешь, что можно на 1280 - это не по мне :)

Порывшись по интернетам, выяснил, что решения может быть два (вариант с xrandr - отпадает так как каждый раз запускать его при включении-выключении проектора не хочется). 1) установить для обоих устройств 1280 на 720, 2) как-то настроить виртуальный рабочий стол и на одном из устройств использовать его со смещением.

Если не вдаваясь в подробности - пока что выбрал первый вариант. Но появилась еще одна засада: при попытке установить для монитора разрешение 1280x720 - Xorg написал, что данное устройство не поддерживает такой режим. Не беда. Попробуем воспользоваться утилитой gtf и сгенерить нужный нам режим.

bird@shuttle:~$ gtf 1280 720 75
# 1280x720 @ 75.00 Hz (GTF) hsync: 56.40 kHz; pclk: 95.65 MHz
Modeline "1280x720_75.00" 95.65 1280 1352 1488 1696 720 721 724 752 -HSync +Vsync


Вставляем его в xorg.conf:


Section "ServerLayout"
Identifier "X.org Configured"
Screen "Screen0"
Screen "Screen1"
EndSection

Section "Module"
Load "record"
Load "dri"
Load "extmod"
Load "glx"
Load "dbe"
Load "dri2"
EndSection

Section "Monitor"
Identifier "VGA"
Modeline "1280x720_75.00" 95.65 1280 1352 1488 1696 720 721 724 752 -HSync +Vsync
EndSection

Section "Monitor"
Identifier "PROJ"
Modeline "1280x720_75.00" 95.65 1280 1352 1488 1696 720 721 724 752 -HSync +Vsync
EndSection

Section "Device"
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection

Section "Device"
Identifier "Card1"
Driver "intel"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "VGA"
SubSection "Display"
Depth 24
Modes "1280x720"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "PROJ"
SubSection "Display"
Depth 24
Modes "1280x720"
EndSubSection
EndSection

Перегружаем X сервер - ура! Все получилось! :)

PS. Единственный минус - небольшое искажение изображения на мониторе из-за непропорциональности размеров монитора и проектора. Но совсем немного. Не парит :).

Комментариев нет: