Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Dwa monitory - różne roździelczości  (Przeczytany 13719 razy)

matulik

  • Gość
Dwa monitory - różne roździelczości
« dnia: 2010-02-13, 15:39:26 »
Witam. Mam dziwny problem po podłączeniu drugiego monitora do komputera.
W laptopie mam ekran 15,4", 1280x800; dodatkowy ekran LCD - 17" 1280x1024.

Próbuje je skonfigurować używając nvidia-settings.

Do wyboru mam opcje Twinview i separate X screens. Jednak używając Twinview musze ustawić te same roździelczości dla obu monitorów (np 1024x768 co jest troche męczarnią) inaczej dzieją się różne rzeczy. Separate X screens tak same, również po aktywacji xineramy.

Chodzi mi oto, by na obu monitorach mógł odpalać różne aplikacje (nie musi być opcji przeciągania lub "pół na pół" - po prostu albo tu albo tu) przy normalnych roździelczościach monitorów.

arctgx

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #1 dnia: 2010-02-13, 16:13:17 »
Tak się składa, że mam okazję testować własnościowe sterowniki NVidii (190.53) i TwinView na dwóch wyjściach DVI (jedno z przejściówką na HDMI). U mnie po połączeniu kablem drugiego działającego, wykrywanie monitora wraz z danymi EDID (nazwa, rozdzielczość, ...) działa poprawnie i mogę spokojnie zastosować zmiany tymczasowo lub zapisać w xorg.conf. Oba monitory pracują na własnych, niezależnych parametrach.

krzychu.qn

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #2 dnia: 2010-02-13, 16:52:11 »
Ja miałem dokładnie ten sam problem z tym że nie chciałem opcji pół na pół... każdy monitor mam osobno, nawet różne tapety. Na 2 moniotr przeżucam aplikacje przeciągając je po prostu w prawą strone. Mam różne rozdzielczości i żeby uzyskać pożądany efekt musiałem ręcznie połączyć opcje separate i twinview, wygląda to tak:

w nvidia-settings:
pierwszy moniot mam ten z większą rozdzielczością 1600x1200 jest włączona opcja twinview, position absolute +0+0 i jest ustawiony jako domyślny

drugi monitor tak samo opcja twinview position absolute tyle że +1600+0 (czyli obok z prawe) tutaj jeszcze ręcznie ustawiałem odświeżanie gdyż to jest tv i przy odświeżaniu auto pokazywał niewyraźne kwadraty zamiast pulpitu

takie ustawienie działa niestety dzieli każdą aplikacje na 2 monitory (czyli pół okna na jednym drugie pół na drugim monitorze ) mi się to nie podobało więc edytowałem plik xorg.conf (/etx/X11/xorg.conf)
oto odpowiednia część:
Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "EIZO T57S"
    HorizSync       30.0 - 92.0
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "CND"
    HorizSync       30.0 - 75.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce FX 5200"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce FX 5200"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT-0: 1600x1200 +0+0, CRT-1: 1440x900_60 +1600+0; CRT-1: 1360x768_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT-1: 1440x900_60 +0+0; CRT-1: 1360x768_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
Nie wiem czy jest to super poprawna konfiguracja, ale mi chodzi dokładnie tak jak chciałem, a spędziłem dobrych pare godzin żeby to ustawić (mam dziwny tv który przyjmuje tylko jakieś śmieszne rozdzielczości)

Mam nadzieje że moje doświadczenia nakierują cię na odpowiednią drogę. Powodzenia

matulik

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #3 dnia: 2010-02-13, 17:45:21 »
Zrobiłem inaczej: wywaliłem wszystkie opcje dotyczące dzielenia ekranu z xorg.conf i
"na czysto" uruchomiłem nvidia-settings. O dziwo chodzi tak jak się spodziewałem, są różne dziwne rzeczy (czasami po wyłączeniu jednego ekranu na drugim już nie da się pracować, puste okna etc), ale po restarcie Xów jest ok.

Dzięki i pozdrawiam ;- )

ZipoKing

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #4 dnia: 2010-02-13, 18:26:10 »
Ja osobiście używam bardzo prostego skryptu, który jedne co robi, to uruchamia xrandr z odpowiednimi opcjami:
xrandr --output LVDS1 --mode 1280x800 --output VGA1 --mode 1680x1050 --right-of LVDS1

arctgx

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #5 dnia: 2010-02-13, 20:34:06 »
Też chętniej zamiast okienek używałbym xrandr do wykrywania i ustawiania na żywca, ale on z opcją --verbose nie zwraca mi nazw wyjść, a tylko
 ~ $ xrandr  --verbose
Screen 0: minimum 1280 x 1024, current 2640 x 1024, maximum 2640 x 1024
default connected 2640x1024+0+0 (0x149) normal (normal) 0mm x 0mm
Identifier: 0x148
Timestamp:  15562075
Subpixel:   unknown
Clones:    
CRTC:       0
CRTCs:      0
Transform:  1.000000 0.000000 0.000000
           0.000000 1.000000 0.000000
           0.000000 0.000000 1.000000
          filter:
  2640x1024 (0x149)  135.2MHz *current
        h: width  2640 start    0 end    0 total 2640 skew    0 clock   51.2KHz
        v: height 1024 start    0 end    0 total 1024           clock   50.0Hz
  1280x1024 (0x14a)   66.8MHz
        h: width  1280 start    0 end    0 total 1280 skew    0 clock   52.2KHz
        v: height 1024 start    0 end    0 total 1024           clock   51.0Hz
. Próbowałem według
NVIDIA(0): TwinView enabled
...
Validated modes:
    "DFP-0:1280x1024_75+0+0,DFP-1:1360x768+1280+0"
    "DFP-0:nvidia-auto-select+0+0"
Virtual screen size determined to be 2640 x 1024
użyć --screen DFP-1, ale output DFP-1 not found;.

Szerokość drugiego ekranu to (jak widać) 1360 pikseli, stąd wirtualny ekran ma szerokość 2640.

ZipoKing

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #6 dnia: 2010-02-14, 11:34:11 »
Uruchom xrandr bez parametrów, wtedy zwróci ci nazwy wyjść i jeżeli jakieś jest podłączone to zwróci ci także listę obsługiwanych rozdzielczości. U mnie jest tak:
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
   1280x800       60.0*+
   1024x768       85.0     75.0     70.1     60.0
   832x624        74.6
   800x600        85.1     72.2     75.0     60.3     56.2
   640x480        85.0     72.8     75.0     59.9
   720x400        85.0
   640x400        85.1
   640x350        85.1
TV1 disconnected (normal left inverted right x axis y axis)

arctgx

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #7 dnia: 2010-02-14, 13:26:27 »
Wiem, że tak powinno być i bywało na innych monitorach i otwartym radeonie, ale tu nie jest. Jak domyślasz się, bez opcji --verbose dostałem jeszcze mniej, stąd z nią na wypadek.

Przed chwilą uruchomiłem Xorg z wyłączonym drugim monitorem.
TwinView enabled
Display Device found referenced in MetaMode: DFP-0
TwinView requested, but only 1 display devices found.
Assigned Display Device: DFP-0
Invalid display device in Mode Description
    "DFP-1:1360x768+1280+0"
Not using mode description "DFP-1:1360x768+1280+0"; unable to
    map to display device
Validated modes:
    "DFP-0:1280x1024_75+0+0,DFP-1:1360x768+1280+0"
    "DFP-0:nvidia-auto-select+0+0"
 ~ $ xrandr
Screen 0: minimum 320 x 175, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   1280x1024      50.0*    51.0
... reszta trybów
Nawiasem, mnożą się wątpliwości, bo według xrandr odświeżanie wynosi 50 Hz, wg nvidia-settings: 75, a na sprzętowym menu w monitorze - 60.

Włączam drugi monitor: na razie brak informacji w logu, xrandr też milczy. Próbuję czegoś, co wygląda na wykrywanie i ewentualne ustawienie:
Cytat: man xrandr
--auto
 For connected but disabled outputs, this will enable them using their preferred mode (or, something close to 96dpi if they have no preferred mode). For disconnected but enabled outputs, this will disable them.
W dzienniku nic nowego. Sam xrandr bez opcji nadal milczy o drugim.

P.S. Informacje informacjami, ale nie napisałem o najważniejszym: opcja --auto fizycznie wykryła ani nie uruchomiła włączonego drugiego monitora.

arctgx

  • Gość
Dwa monitory - różne roździelczości
« Odpowiedź #8 dnia: 2010-02-17, 01:15:25 »
Gdzieś wyczytałem, że własnościowe sterowniki NVidii nie do końca dogadują się z  rozszerzeniem XRandr (i zarazem poleceniem xrandr). Zacząłem szukać tekstowych odpowiedników.

Samo polecenie nvidia-settings ma też tekstowy interfejs, ale... chyba niekompletny wobec graficznego. Może niebawem to ostatnie zdanie ktoś włącznie ze mną obali, tymczasem znalazłem podobnie sformułowany problem i lekarstwo: napisany w Pythonie disper.

Kto ma Ubuntu czy ArchLinuksa, może pobrać gotową paczkę czy dodać repo, ale paczkę dla Debiana też zrobić nie problem (dpkg-buildpackage -rfakeroot) i potem zainstalować.

Na problem w poście wyżej odpowiedzią jest disper -e. Opcja -l pozwoliła wykryć podłączone urządzenia wraz z rozdzielczościami, opcja -p - aktywne.

Przy okazji, zrobiłem dwa użytki z TwinView. Pierwszy to przypisanie kombinacji klawiszy do skryptu, który przenosi pełnoekranową przeglądarkę (Geeqie, dawniej GQview) na sąsiedni ekran. Zakładając, że leży on na prawo od głównego o szerokości 1280 pikseli, przenoszę go za pomocą wmctrl:
#!/bin/sh
wmctrl -r :ACTIVE: -b remove,fullscreen
wmctrl -r :ACTIVE: -e '0,1280,0,-1,-1'
wmctrl -r :ACTIVE: -b add,fullscreen
Pierwsza i ostatnia akcja jest potrzebna dlatego, że w moim IceWM nie dało się przenieść pełnego ekranu tak jak chciałem. Może warto by zgłosić twórcom zrobienie przełącznika między położeniami pełnego ekranu (0: bieżący, 1: własna "geometria").

Drugi to profil dla MPlayera (zapisany w ~/.mplayer/config):
[e2]
geometry=1360x768+1280+0
fs=yes
(można tam wrzucić inne ustawienia). Zamiast podawania -geometry i -fs w opcjach, wystarczy użyć -profile e2.

Mniej zbędnych, powtarzalnych ruchów myszą.