Два монитора на одной видеокарточке
Несмотря на то, что у меня видеокарта NVidia Geforce 8500GT, я не стал пользоваться TwinView, поскольку она дает меньше рычагов для управления мониторами. Поэтому в статье рассматривается более традиционный метод.
Дано
Итак, пусть имеется одна видеокарта с DVI и D-SUB выходами. Пусть так же имеется два монитора.
Вопрос: Как эти мониторы присоединить к видеокарте и использовать одновременно?
Решение
Чтобы решить поставленную задачу, потребуется редактировать всего один конфиг, расположенный в /etc/X11/xorg.conf (если у вас конечно стоит Xorg. если не знаете, то точно он)
Действие 1. Устройство.
В самом простом случае требуется всего-навсего скопировать секцию “Device”, переименовать, и назначить другой экран. Чтобы это не были пустые теоретизирования, приведу пример:
"Device"
Section "NV1"
Identifier "NVidia"
Boardname "PCI:1:0:0"
Busid "nvidia"
Driver 0
Screen EndSection
Копируем и вносим в копию исправления:
"Device"
Section "NV2"
Identifier "NVidia"
Boardname "PCI:1:0:0"
Busid "nvidia"
Driver 1
Screen EndSection
Замечание: Параметр Busid указывает на идентификатор карточки. Таким образом, если у вас две видео карты, можно с небольшими изменениями использовать их в той же конфигурации.
Замечание 2: В этом разделе могут быть и другие опции, например Option “RenderAccel” “True” или, что в данном контексте представляет интерес, Option “Rotate” “CW” или Option “Rotate” “CCW”, что позволяет повернуть второй монитор на 90 градусов, как я, собственно, и поступил.
Действие 2. Монитор
Если мониторы одинакового типа, то раздел “Monitor” можно оставить в покое. Иначе - скопировать, переименовать, изменить характеристики.
Я не буду останавливаться на этом месте, поскольку обычно мониторы схожи своими характеристиками. В конце статьи приведены ссылки на источники, можно попробовать найти там дополнительную инофрмацию.
Замечу, что у меня единственный раздел “Мониор” называется “MO1”
Действие 3. Экран
Секцию Screen придется аналогично копировать. Опять же, нужно изменить идентификатор. Не буду утомлять теоретизированиями, просто приведу результат:
"Screen"
Section "SC1"
Identifier "NV1"
Device "MO1"
Monitor 24
Defaultdepth "Display"
SubSection 24
Depth "1280x1024@60" "1280x960@60" "1024x768@60" "800x600@60" "800x600@56" "640x480@60"
Modes
EndSubSection
EndSection
"Screen"
Section "SC2"
Identifier "NV2"
Device "MO1"
Monitor 24
Defaultdepth "Display"
SubSection 24
Depth "1280x1024@60" "1280x960@60" "1024x768@60" "800x600@60" "800x600@56" "640x480@60"
Modes
EndSubSection EndSection
Обращаю внимание на то, что у каждого экрана свое устройство. Так же, если мониторы отличаются, придется изменить Monitor и, возможно, Modes в подсекции “Display”.
Действие 4. Расположение.
Речь идет о секции ServerLayout. Здесь нас поджидают некоторые хитрости.
Базовая конфигурация выглядит так:
"ServerLayout"
Section "LA1"
Identifier 0 "SC1"
Screen 1 "SC2" LeftOf "SC1"
Screen "Xinerama" "True"
Option EndSection
Рассмотрим теперь все по порядку. Итак, с параметром Identifier все понятно. Screen 0 “SC1”, вроде, тоже.
Screen 1 “SC2” LeftOf “SC1” - означает, что второй экран расположен слева от первого. Возможен так же вариант: RightOf.
Option “Xinerama” “True” - это ни что иное, как активация соответствующего модуля. Он “превращает” два отдельных монитора в одно виртуальное пространство, позволяя перетаскивать окна с монитора на монитор и тп. Это оказывается не всегда удобно, поэтому можно и выключить:
"Xinerama" "False" Option
Ответ
Предложенное решение довольно универсально, и оказывается удобным во многих ситуациях, когда требуется дополнительное рабочее пространство на мониторе. Есть так же и другие варианты, но их я освещать не собирался, по крайней мере сегодня.
В заключение, мой xorg.conf полностью: xorg.conf
В настройке помогли: http://gentoo-wiki.com/HOWTO_Dual_Monitors#Non-TwinView и http://ubuntuforums.org/showthread.php?p=1773624
P.S. Вообще, многие из перечисленных манипуляций довольно легко производятся посредством утилиты nvidia-settings
sudo apt-get install nvidia-settings && sudo nvidia-settings
P.P.S. Ну да, еще картинка: