У меня есть две видеокарты 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

Так что здесь не так? Почему все работает нормально в четырех квадранте, а не рядом друг с другом?

0