a-la XINERAMA: один Screen, экран имеет ширину в два монитора
Section "Server Layout?"
End Section?
# остался от fglrx.
Section “Monitor”
End Section?
Section “Device”
End Section?
Section “Screen”
End Section?
Обращаю внимание на выделенный жирным Virtual. не будет его, <tt>xrandr</tt> может начать ругаться (в моем случае)
xrandr: screen cannot be larger than 1280x1280 (desired size 2560x1024)
как я понял, причина, что <tt>xrandr</tt> работает в пределах Virtual и за них не вылезает.
в принципе это вся конфигурация <tt>xorg</tt>. остальное делается динамически.
перво-наперво смотрим, какие выводы мы имеем:
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum '1280 x 1280'
<font color=red>DVI-0</font> connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
<font color=red>DVI-1</font> connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
<font color=red>DVI-0</font> и <font color=red>DVI-1</font> – выводы для <tt>xrandr</tt> ( подставляется в <tt>output</tt>).
обращаю внимание на выделенное 1280x1280: это тот самый region, на котором рабоатает xrandr. меняется через Virtual, как сказано выше.
xrandr --output DVI-0 --left-of DVI-1
в большинстве случаев после этой команды ничего делать тне нужно.
так случилось, что после запуска <tt>xrandr</tt> с <tt>left-of</tt>, второй монитор начал показывать один в один то, что показывает первый. но по taskbar'у fluxbox'а заметно, что двойной режим-то включен. исправило ситуацию следующие команды:
xrandr output DVI-0 --crtc 0 --auto
xrandr --output DVI-1 --crtc 1 --auto
здесь устанавливается привязка монтора (crtc) и вывода (output). <tt>auto</tt> указан для того, чтобы после этих команда мониторы не выключались.
второй проблемой, с которой я столкнулся, были шрифты. после запуска <tt>xrandr</tt> с <tt>--left-of</tt> dpi шрифтов изменились, как и размеры монитора в выводе <tt>xdpyinfo</tt>:
...
screen #0:
...
мне же нужно было:
screen #0:
для чего я и указывал DisplaySize 375 302 в xorg.conf, но после <tt>xrandr</tt> DisplaySIze'' к сожалению сбросился.
установка вручную происходит следующим образом:
xrandr --output DVI-0 --fbmm 375x302
xrandr --output DVI-1 --fbmm 375x302
после перезапуска программ (<tt>fluxbox</tt> restart, <tt>opera</tt>, etc) шрифты вернулись на место.
чисто случайно испробовал я следующую команду:
xrandr --output DVI-1 --same-as DVI-0
после неё X сервер вернулся к clone режиму.
в <tt>/etc/X11/xinit</tt> есть файл <tt>xrandrrc</tt>. он считывает <tt>/etc/sysconfig/xrandr</tt> и <tt>$HOME/.Xrandr</tt> записи вида:
:[0–9]* <xrandr options>
поэтому для атвтоматического запуска <tt>xrandr</tt> достаточно поместить в один из этих файлов команды. мне хватило следующих:
:0 --output DVI-0 --fbmm 375x302
:0 --output DVI-1 --fbmm 375x302
:0 --output DVI-0 --crtc 0 --auto
:0 --output DVI-1 --crtc 1 --auto
:0 --output DVI-0 --left-of DVI-1
как в <tt>XINERAMA</tt>, так и в <tt>xrandr</tt> мне не понравилось, что после их запуска программы экраном считают не один монитор, а оба сразу. например программа установки обев растягивала картинку на оба монитора.
с другой <tt>xrandr</tt> для этого и предназначен, потому нужен был иной подход: радзделение мониторов по разным Screen'ам.
я нашел только, как это сделать статически:
Section "Server Layout?"
End Section?
Section “Monitor”
End Section?
Section “Monitor”
End Section?
Section “Device”
End Section?
Section “Device”
End Section?
Section “Screen”
End Section?
Section “Screen”
End Section?
красным выделены критичные строчки.
в <tt>Server Layout?</tt> строка
Screen «radeon|0»
важна! в противном случае X сервер матерится, что не может найти подходящий screen для работы.