Mam dwie karty wideo AMD / ATI Radeon X1300 / X1550 i cztery 22-calowe monitory Iiyama o rozdzielczości 1680x1050 współpracujące ze sobą w Linux Mint Debian Edition z prostym skryptem uruchamianym podczas uruchamiania:

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

Pierwsza linia aktywuje drugą kartę graficzną, a następna linia ustawia monitory w pozycji pionowej obok siebie i dwa monitory w pozycji poziomej poniżej:

    | |
   __ __

Wolałbym umieścić cztery monitory obok siebie, z dwoma monitorami w pozycji pionowej pośrodku dwóch monitorów ustawionych poziomo. Wydaje się to jednak stanowić problem, zarówno gdy używam plików konfiguracyjnych xrandr lub xorg.

Kiedy korzystam z xrandr lub narzędzia do wyświetlania, prawy większość monitora przestaje być zsynchronizowana, gdy znajduje się po prawej stronie pozostałych trzech.

Kiedy używam plików konfiguracyjnych xorg, aktywowana jest jedna lub druga karta, ale nie obie jednocześnie. Z użyciem Xineramy lub bez niej nie działa. Użyłem tego, aby znaleźć identyfikatory kart:

# 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)

I umieść te pliki w /usr/share/X11/xorg.conf.d, aby ustawić je od prawej do lewej:

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 Zabawną rzeczą w poniższej konfiguracji jest to, że jeśli zmienię BusID z dwóch pierwszych wpisów z ostatnich dwóch, lewy dwa monitory działają zamiast dwóch. To potwierdza, że ​​praca BusID, ale nie wszystkie cztery razem:

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 Jak widać w tym i trzech kolejnych konfiguracjach eksperymentowałem z ustawieniem rzutni i wirtualnego pulpitu. Ale z naszym bez: aktywowane są tylko te, które są podłączone do pierwszych dwóch wpisów w konfiguracji 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 Jak widać, wypróbowałem to również z opcją 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

Więc co tu jest nie tak? Dlaczego wszystko działa dobrze w konfiguracji z czterema ćwiartkami, ale nie jest ustawione obok siebie?

acw
źródło