У меня есть две видеокарты AMD/ATI Radeon X1300/X1550 и четыре 22-дюймовых монитора Iiyama с разрешением 1680x1050, которые работают вместе в Linux Mint Debian Edition с простым сценарием, который запускается при запуске:
xrandr --setprovideroutputsource 1 0
xrandr --output DVI-1-0 --mode 1680x1050 --pos 0x0
xrandr --output VGA-1 --mode 1680x1050 --rotate normal --right-of DVI-1-0 --primary
xrandr --output DVI-1 --mode 1680x1050 --rotate right --above VGA-1
xrandr --output VGA-1-0 --mode 1680x1050 --rotate left --left-of DVI-1
Первая строка активирует вторую видеокарту, а следующая строка размещает экраны относительно мониторов в портретном положении рядом друг с другом и двух мониторов в горизонтальном положении ниже, например:
| |
__ __
Я бы предпочел, чтобы четыре монитора располагались рядом друг с другом, а два портретных монитора расположены посередине двух альбомных мониторов. Это, однако, кажется проблемой, когда я использую конфигурационные файлы xrandr или xorg.
Когда я использую xrandr или инструмент отображения, самый правый монитор не синхронизируется, если он расположен справа от остальных трех.
Когда я использую конфигурационные файлы xorg, активируется одна или другая карта, но не обе одновременно. С или без использования Xinerama, это не работает. Я использовал это, чтобы найти идентификаторы карт:
# lspci|grep Radeon
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 [Radeon X1300/X1550 Series]
01:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 [Radeon X1300/X1550 Series] (Secondary)
08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 [Radeon X1300/X1550 Series]
08:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 [Radeon X1300/X1550 Series] (Secondary)
И поместите эти файлы в /usr/share/X11/xorg.conf.d, чтобы расположить их справа налево:
20-ati.conf
30-0-landscaperight.conf
30-1-portraitright.conf
30-2-portraitleft.conf
30-3-landscapeleft.conf
90-serverlayout.conf
20-ati.conf Самое смешное в приведенной ниже конфигурации: если я меняю BusID из первых двух записей с двумя последними, два левых монитора работают вместо правых двух. Итак, это подтверждает, что BusID работает, но не все четыре вместе:
Section "Device"
Identifier "ati0vga"
Driver "radeon"
BusID "PCI:08:00:0"
Screen 0
EndSection
Section "Device"
Identifier "ati0dvi"
Driver "radeon"
BusID "PCI:08:00:1"
Screen 1
EndSection
Section "Device"
Identifier "ati1vga"
Driver "radeon"
BusID "PCI:01:00:0"
Screen 2
EndSection
Section "Device"
Identifier "ati1dvi"
Driver "radeon"
BusID "PCI:01:00:1"
Screen 3
EndSection
30-0-landscaperight.conf Как вы можете видеть в этом и следующих трех конфигах, я экспериментировал с настройкой области просмотра и виртуального рабочего стола. Но с нашим без: активируются только те, которые подключены к первым двум записям в конфигурации 20-ati.conf.
Section "Monitor"
Identifier "VGA-1"
VertRefresh 60
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
Option "dpms" "on"
EndSection
Section "Screen"
Identifier "LandscapeRight"
Device "ati0vga"
Monitor "VGA-1"
DefaultDepth 24
Subsection "Display"
Depth 24
# Modes "1680 1050"
# ViewPort 3880 0
# Virtual 5460 1680
EndSubSection
EndSection
30-1-portraitright.conf
Section "Monitor"
Identifier "DVI-1"
VertRefresh 60
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
Option "dpms" "on"
EndSection
Section "Screen"
Identifier "PortraitRight"
Device "ati0dvi"
Monitor "DVI-1"
DefaultDepth 24
Subsection "Display"
Depth 24
# Modes "1680 1050"
# ViewPort 2730 0
# Virtual 5460 1680
EndSubSection
Option "Rotate" "right"
EndSection
30-2-portraitleft.conf
Section "Monitor"
Identifier "VGA-1-0"
VertRefresh 60
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
Option "dpms" "on"
EndSection
Section "Screen"
Identifier "PortraitLeft"
Device "ati1vga"
Monitor "VGA-1-0"
DefaultDepth 24
Subsection "Display"
Depth 24
# Modes "1680 1050"
# ViewPort 1680 0
# Virtual 5460 1680
EndSubSection
Option "Rotate" "left"
EndSection
30-3-landscapeleft.conf
Section "Monitor"
Identifier "DVI-1-0"
VertRefresh 60
Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
Option "dpms" "on"
EndSection
Section "Screen"
Identifier "LandscapeLeft"
Device "ati1dvi"
Monitor "DVI-1-0"
DefaultDepth 24
Subsection "Display"
Depth 24
# Modes "1680 1050"
# ViewPort 0 0
# Virtual 5460 1680
EndSubSection
EndSection
90-serverlayout.conf Как вы можете видеть, я попробовал это и с опцией Xinerama.
Section "ServerLayout"
Identifier "Main"
Screen 0 "LandscapeRight"
Screen 1 "PortraitRight" LeftOf "LandscapeRight"
Screen 2 "PortraitLeft" LeftOf "PortraitRight"
Screen 3 "LandscapeLeft" LeftOf "PortraitLeft"
EndSection
Section "ServerFlags"
# Option "Xinerama" "1"
EndSection
Так что здесь не так? Почему все работает нормально в четырех квадранте, а не рядом друг с другом?