12.10 Problemy z wyświetlaniem ilościowym przy użyciu nvidiaXineramaInfoOverride

0

Po aktualizacji do 12.10 dzisiaj, mój xorg.conf nie wydaje się być szanowany przez Quantal. Nie jestem pewien, czy jest to „błąd”, czy to tylko korekta, którą muszę wprowadzić z powodu zmian w systemie operacyjnym.

Podczas logowania wydaje się, że Ubuntu rozpoznaje teraz tylko jeden ekran 3840x1080 o nazwie „Matrox” i maksymalizacja okien obejmuje je na obu ekranach. W 12.04 ten plik konfiguracyjny z powodzeniem pozwolił mi zastąpić dane dostarczone przez mój TripleHead2Go i zmaksymalizować okna do jednego monitora.

Masz jakieś pomysły lub od czego zacząć próbę debugowania?

Po krótkich poszukiwaniach próbowałem wprowadzić zmiany zgodnie z aktualizacją tutaj: http://www.phoronix.com/scan.php?page=news_item&px=MTEyMDk

Oto, gdzie aktualnie znajduje się plik konfiguracyjny:

Section "ServerLayout"
  Identifier     "Layout0"
  Screen      0  "Screen0" 0 0
  InputDevice    "Keyboard0" "CoreKeyboard"
  InputDevice    "Mouse0" "CorePointer"
  Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
  Identifier     "Mouse0"
  Driver         "mouse"
  Option         "Protocol" "auto"
  Option         "Device" "/dev/psaux"
  Option         "Emulate3Buttons" "no"
  Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"      
  Identifier     "Keyboard0"
  Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Matrox"
    HorizSync       31.5 - 80.0
    VertRefresh     59.9 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 260M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfo" "true"
    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    #Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    Option         "nvidiaXineramaInfoOverride" "1920x1080 +0+0, 1920x1080 +1920+0"
    Option         "Stereo" "0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
AvatarKava
źródło
wydaje się, że masz odniesienie w swoim zamówieniu do „CRT-0”, ale nie masz do niego odniesienia w sekcji dotyczącej monitorów. Co się stanie, gdy zmienisz swój identyfikator „monitor0” na „CRT-0”? Twoja konfiguracja może wprowadzać w błąd lokalizacje X, Y, spróbuj je usunąć
craigsmith86,
Próbowałem usunąć wszystkie dane współrzędnych / przesunięć, a także bawić się kilkoma kombinacjami identyfikatorów monitora i nazewnictwa dla metamodów. Nie ma jeszcze szczęścia.
AvatarKava,
Z ilu monitorów korzystasz? Czy używasz pojedynczego procesora? Czy chcesz, aby monitory działały jak jeden duży ekran, czy jako pojedyncze wyjścia? Jakie monitory są wykrywane przez ustawienia NVIDIA?
Anthony
To dwa monitory podłączone do Matrox TripleHead2Go, a poprzednie zastąpienie ustawień nvidii pozwoliło na podzielenie ich na pojedyncze wyjścia, czego pragnę. Obecnie traktuje to jak jeden ekran 3840 x 1080.
AvatarKava,
nvnews.net/vbulletin/showthread.php?t=184814 Wygląda na to, że istnieją pewne problemy z obsługą danych RandR?
AvatarKava,

Odpowiedzi:

5

W najnowszych wersjach sterownika graficznego NVIDIA Linux - w tym w wersji nvidia-current w wersji 12.10, 304.51 - wprowadzono obsługę RandR 1.2+, poprawiając integrację między kartą graficzną a menedżerem okien (GNOME, KDE itp.) ) z obsługą rozdzielczości wyświetlania, obrotu itp. z narzędzi menedżera okien oraz nvidia-settings. Wydaje się jednak, że TwinViewXineramaInfoOverride xorg.confopcja config (której teraz zmieniono nazwę nvidiaXineramaInfoOverride) nie działa poprawnie.

Aby śledzić postępy NVIDIA w tym temacie, patrz:

http://www.nvnews.net/vbulletin/showthread.php?p=2578805
http://www.nvnews.net/vbulletin/showthread.php?t=184814

Możliwym rozwiązaniem jest użycie Fałszywego Xinerama http://home.kde.org/~seli/fakexinerama/ , który udowodniono, że działa również z Xorg 7.7 (wersja Xorg na wersji kwantowej 12.10). Aby postępować zgodnie z procedurą opisaną w połączonym dokumencie, potrzebujesz:

  • Przed zabiegiem sudo apt-get install libxinerama-dev
  • Po zakończeniu procedury uruchom ponownie system

Możesz użyć następujących treści do ~/.fakexinerama:

2
0 0 1920 1080
1920 0 1920 1080

Aby włączyć fakexinerama tylko wtedy, gdy obecny jest Matrox DualHead2Go, możesz również dodać ten kod do /etc/init/lightdm.conf, zanim exec lightdm:

if lsusb | grep -q 18ea:0003; then
        echo "Matrox DualHead2Go Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
else
        echo "Matrox DualHead2Go NOT Detected"
        cp /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
fi

Aby uruchomić ten kod, użyj następujących reguł:

  • W każdym razie używaj /usr/lib/i386-linux-gnuzamiast, /usr/lib/x86_64-linux-gnujeśli nie 64 bitów
  • Wykonaj kopię zapasową oryginału /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0na/usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-orig
  • Skopiuj zmodyfikowaną wersję, wynikającą z kompilacji fakexinerama do /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0-fake
  • Zamień 18ea:0003na identyfikator produktu urządzenia, jeśli jest inny (użyj, lsusbaby znaleźć właściwą wartość).

Zrestartuj system za każdym razem, gdy musisz przełączyć się z trybu Matrox DualHead2Go do trybu oryginalnego.

UWAGA: po pracy powinieneś być w stanie zmaksymalizować okna do każdego pojedynczego ekranu, ale wszelkie działania wykorzystujące informacje RandR zamiast Xinerama nie zajmą się fałszywymi informacjami Xinerama (np. Tapeta, pełny ekran Adobe Flash - w tym YouTube itp. .).

Polimorficzny
źródło
0

W porządku, częściowa poprawka:

  1. Zainstaluj pakiet compizconfig-settings-manager, jeśli jeszcze go nie masz.
  2. Uruchom go i przejdź do Opcje ogólne> Ustawienia wyświetlania
  3. Dodaj wyjścia zgodnie z potrzebami (w moim przypadku z dwoma połączeniami DVI mam to jako 1920x1080 + 0 + 0 i 1920x1080 + 1920 + 0)
  4. Odznacz opcję „Wykryj wyjścia” nad listą wyników

Zastrzeżenie:

  • To NIE naprawi problemu z panelem obejmującym wiele komputerów, tylko zmaksymalizowanym oknem obejmującym oba ekrany

Zupełnie zapomniałem o zdolności Compizconfig do zrobienia tego.

Jakieś dane na temat podziału panelu na wyjście przy użyciu tego?

AvatarKava
źródło