Stacja wielomonitorowa


#1

Witam,
korzystając z okazji chciałbym się przywitać jako nowy użytkownik forum. Z manjaro znam się już jakiś czas, świetny system. Pragnę zostać z nim na dłużej o ile uda mi się wykluczyć parę niedogodności.

Do rzeczy…
Posiadam następującą konfigurację sprzętową:
Manjaro XFCE (oryginalnie taki był instalowany) wraz z doinstalowanym środowiskiem Deepin z którego aktualnie korzystam. Ponadto: i7 3770s, MSI 1080 gaming, 2x Dell P2417H, TV Samsung.
Monitory Dell podłączone są za pomocą kabli DP (oznaczone jako porty: DP0, DP2), TV Samsung kablem HDMI.
Moja wymarzona konfiguracja to:
DP2 - monitor główny [C]
DP0 - monitor pomocniczy [B]
HDMI - klon monitora pomocniczego [A]

No i dzieją się niestety jaja.

  1. Deepin jak i to co odnajduję w ustawieniach panelu nvidia pozwala mi jedynie na skonfigurowanie każdego z ekranów jako osobny [ABC] lub inna opcja to kopiowanie na każdym z ekranów tego co dzieje się na ekranie głównym [CCC]. Niestety nie odnajduję możliwości ustawienia [BBC].

  2. Z racji powyższego problemu, jak na razie korzystam wielu ekranów w konfiguracji [ABC]. Pojawia się tu coś interesującego. Gdy wszystkie ekrany są aktywne to pomimo tego że DP2 jest ekranem głównym to część z aplikacji jest automatycznie uruchamiana na HDMI, np pełnoekranowe gry.
    Gdy w ustawieniach panelu nvidia oznaczam HDMI jako nieaktywne (obraz nie jest już wyświetlany na TV, sygnał nie jest w ogóle do niego transmitowany) wówczas gry pojawiają się na ekranie pomocniczym DP0.
    Ktoś ogarnia co takiego właściwie się dzieje? Szperałem na ten temat nieco w necie, bardzo możliwe że poszczególne porty karty graficznej posiadają swoje priorytety ważności (masło maślane, wiem) typu: DVI>HDMI>DP. Priorytety priorytetami, mógłbym to jakoś przełknąć, ale czemu aplikacje nie słuchają się tego co wyklikam w konfiguracji?

[sabbath@manjaro ~]$ xrandr --query
Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 32767 x 32767
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1060mm x 626mm
1920x1080 60.00*+ 59.94 50.00 29.97 25.00 23.98 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1366x768 59.79
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
DP-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00*+
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected primary 1920x1080+3840+0 (normal left inverted right x axis y axis) 527mm x 296mm
1920x1080 60.00*+
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 59.94
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)


#2

Od jakiegoś czasu jest coś takiego jak priorytetowanie wyjść:

  1. DisplayPort
  2. HDMI
  3. DVI-I
  4. VGA

Dodatkowo Deepin to jeden z bardzo słabo konfigurowalnych DE, sam miałem z nim problem na 2 monitorach, gdzie jako główny niestety był traktowany HDMI .


#3

Trzeba by chyba jakiś skrypt do tego. Jeśli chodzi o pierwsze pytanie to spróbuj:

#!/bin/bash


# /*Ustawienie głównego monitora, gdy podłączonych jest ich kilka. */

xrandr --output DP-2 --primary

# /* Ustawienie zewnętrznego monitora po prawej stronie głównego ekranu. Można wskazać położenie dodatkowego monitora przy użyciu parametrów: */
# /* --left-of|--right-of|--above|--below|--same-as (output) */

xrandr --output DP-0 --right-of DP-2

# /* Ustawienie TV jako klon */

xrandr --output HDMI-0 --same-as DP-2

Zapisz plik i daj mu prawa wykonywania. Menadżerem plików lub w konsoli:

chmod +x /ścieżka/do/tego/zapisanego/pliku

Jeśli nie zadziała to będziemy coś kombinować dalej.


#4

Hej, aquila.
Przydatny skrypt. Nieco przerobiłem pod swoje preferencje (zdaje sobie sprawę że mój początkowy opis sytuacji może być zagmatwany…)
Obecna konfiguracja:

#!/bin/bash
 
 
 # /*Ustawienie głównego monitora, gdy podłączonych jest ich kilka. */
 
 xrandr --output DP-2 --primary
 
 # /* Ustawienie zewnętrznego monitora po prawej stronie głównego ekranu. Można wskazać położenie dodatkowego monitora przy użyciu parametrów: */
 # /* --left-of|--right-of|--above|--below|--same-as (output) */
 
 xrandr --output DP-2 --right-of DP-0
 
 # /* Ustawienie TV jako klon */
 
 xrandr --output HDMI-0 --same-as DP-0

Efekt, ekrany ładnie wyświetlają się na swoich miejscach, klon również działa poprawnie.
Jedynie jaki problem pozostał to fakt że aplikacje pełnoekranowe nadal nie znajdują się na głównym ekranie.

ps. sprawdzę czy po zamianie monitorów względem portów karty będzie miało wpływ na sytuację.


#5

Nigdy nie miałem takich problemów i raczej mieć nie będę - ledwie ogarniam jeden monitor; dlatego moją uwagę potraktujcie jak głos ślepego nt. kolorów:

  • a gdyby tak, programy, które uparcie uruchamiają się na niewłaściwym monitorze, startować ze skryptu, w którym byłyby ustawione parametry (obowiązujące tylko na czas bieżącej sesji terminala) w taki sposób, aby dany program lądował na tym wyświetlaczu, na którym chcemy go zobaczyć.