Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Enemy Territory: Quake Wars + xinerama [SOLVED]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
kriz
Apprentice
Apprentice


Joined: 22 Jan 2003
Posts: 231

PostPosted: Mon Aug 11, 2008 3:03 pm    Post subject: Enemy Territory: Quake Wars + xinerama [SOLVED] Reply with quote

Hallo,

ist es moeglich das Spiel zwar unter einer Twinview-Umgebung zu starten aber es auf den primaeren Monitor zu begrenzen?
Ich hab schon einiges ausprobiert aber richtig gluecklich bin ich mit den Loesungen nicht.

1. Moeglichkeit: Das Spiel in einem separaten Xserver ohne twinview zu spielen
2. Moeglichkeit: ETQW in Fenster spielen.
3. Sich damit abfinden.

xorg.conf

Code:


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Keyboard1" "SendCoreEvents"
    InputDevice    "Keyboard2" "SendCoreEvents"
    InputDevice    "Mouse0" "CorePointer"
    Option         "AutoAddDevices" "False"
EndSection

Section "Files"
    RgbPath         "/usr/lib64/X11/rgb"
    FontPath        "/usr/share/fonts/artwiz-aleczapka-en/"
    FontPath        "/usr/share/fonts/artwiz-aleczapka-de/"
    FontPath        "/usr/share/fonts/75dpi/"
    FontPath        "/usr/share/fonts/100dpi/"
    FontPath        "/usr/share/fonts/misc/"
    FontPath        "/usr/share/fonts/ttf-bitstream-vera/"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "evdev"
    Option         "Name" "Logitech USB Gaming Mouse"
    Option         "Device" "/dev/input/event2"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "evdev"
    Option         "XkbLayout" "de"
    Option         "XkbVariant" "nodeadkeys"
    Option         "Device" "/dev/input/event3"
    Option         "Name" "G15 Gaming Keyboard"
EndSection

Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "evdev"
    Option         "Device" "/dev/input/event4"
    Option         "Name" "G15 Gaming Keyboard"
EndSection

Section "InputDevice"
    Identifier     "Keyboard2"
    Driver         "evdev"
    Option         "Device" "/dev/input/event5"
    Option         "Name" "G15 Extra Keys"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Acer"
    ModelName      "AL1715"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "CRT: nvidia-auto-select +1680+26, DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Last edited by kriz on Tue Aug 26, 2008 2:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
Vortex375
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1739
Location: Deutschland

PostPosted: Mon Aug 11, 2008 5:36 pm    Post subject: Reply with quote

Hallo,

bei mir maximieren sich Fenster auch über sämtliche Monitore im TwinView betrieb. Ich denke das liegt einfach daran, dass nVidia TwinView eine proprietäre Funktion des nVidia-Treibers ist und nicht die Standard X-Server-Funktionen für Mehrschirm-Betrieb (RandR, Xinerama) verwendet werden. Der nVidia-Treiber erzeugt einfach einen großen virtuellen Screen, der sich über beide Monitore erstreckt, teilt aber die Informationen über die angeschlossenen Monitore dem X-Server bzw. den Anwendungen nicht mit. Die Anwendungen bzw. der Window-Manager sieht also nur einen großen Monitor und weiß nichts vom Mehrschirm-Betrieb.

Quote:
3. Sich damit abfinden.


Und hoffen, dass nVidia die Unterstützung für RandR 1.2 in ihre Treiber einbaut.
Oder dass der OpenSource-Treiber nouveau benutzbar wird. Der kann nämlich RandR 1.2 bereits. Dafür ist der 3D-Betrieb noch buggy und insgesamt läuft der Treiber für den normalen Gebrauch offenbar noch zu instabil.
Back to top
View user's profile Send private message
kriz
Apprentice
Apprentice


Joined: 22 Jan 2003
Posts: 231

PostPosted: Mon Aug 11, 2008 6:46 pm    Post subject: Reply with quote

Schade....
Nach Jahren Gentoo/Linux-Abstinenz ist es aber einer der wenigen Punkte die mich bei arbeiten/spielen irritieren.
Dank dir fuer die ausführliche Erklärung.
Lustig zu lesen daß sich an der Treibersituation in den Jahren nicht viel geändert hat. ;)

mfg
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5187

PostPosted: Mon Aug 11, 2008 6:58 pm    Post subject: Reply with quote

stimmt nicht ganz, der nvidia treiber liefert im Twinview betrieb auch Xinerama infos. Nur das Problem ist, soweit ich das selbst feststellen konnte, das diese Xinerama infos vom nvidia treiber nur dann sauber von Xinerama aware Programmen erkannt werden wenn Twinview schon beim starten des X-Servers konfiguriert ist.
Denn der nvidia treiber installiert beim start des X-Servers und aktiven TwinView (nicht Dynamic Twinview) eine Fake Xinerama-Extension.
Nur diese Fake-Extension scheint nicht mehr im X-Server ladbar, wenn der X-Server schon läuft und man Twinview über nvidia-settings nachträglich einstellt.

Sprich wenn die TwinView konfiguration fest in der Xorg.conf eingetragen ist, funktioniert es und die WMs wie z.b. Kwin und co. erkennen dann 2 Screens. Womit dann auch nicht mehr die Fenster über beide oder mehrere Monitore Maximiert werden.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Vortex375
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1739
Location: Deutschland

PostPosted: Mon Aug 11, 2008 10:50 pm    Post subject: Reply with quote

Ah ok, das wusste ich noch nicht.

Aber eigentlich ist einer der großen Vorteile von TwinView ja gerade, dass es sich dynamisch an- und abschalten lässt. :roll:

Naja, mit RandR 1.2 sei das angeblich auch kein Problem mehr. Aber dazu muss der Treiber es halt unterstützen...

EDIT: Hmm... eigentlich hat kriz es ja fest drin. Vielleicht liegt das Problem doch woanders.
Back to top
View user's profile Send private message
kriz
Apprentice
Apprentice


Joined: 22 Jan 2003
Posts: 231

PostPosted: Tue Aug 12, 2008 5:39 am    Post subject: Reply with quote

An der xorg.conf hab ich mittlerweile auch schon Stunden verbracht.
Immer mit dem gleichen Ergebnis.
Entweder Twinview auf diese Art (s.o) oder ich bekomm die beiden Monitore ueberhaupt nicht zum laufen.
Back to top
View user's profile Send private message
kriz
Apprentice
Apprentice


Joined: 22 Jan 2003
Posts: 231

PostPosted: Tue Aug 12, 2008 7:18 am    Post subject: Reply with quote

oooook, es hat den anschein als ob ich etwas falsch verstanden hab.
Die Option "Xinerama" ist (ich nenn es mal so) eine Konstante und keine Variable.
Wenn man in der xorg.conf Xinerama mit "0" oder "1" angibt, hat es keine Auswirkung.
Es reicht schon diese Option ueberhaut anzugeben um X zu verwirren.
Twinview und Xinerama koennen, so wie es aussieht, nicht koexistieren.
Jetzt hab ich Xinerama aus der xorg.conf komplett entfernt und siehe da, es funktioniert.
Zumindest werden jetzt Anwendungen nicht mehr ueber beide Monitore maximiert.
Anwednungen wie OpenGL-Spiele verhalten sich trotzdem noch anders.
In dem Punkt hat Vortex wohl doch nicht ganz unrecht.

mfg
Back to top
View user's profile Send private message
Vortex375
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1739
Location: Deutschland

PostPosted: Sat Aug 16, 2008 1:18 am    Post subject: Reply with quote

Quote:
Anwendungen wie OpenGL-Spiele verhalten sich trotzdem noch anders.

Das liegt in erster Linie daran, dass fast sämtliche Spiele unter Linux vollkommen hirnlos programmiert sind und im Vollbildmodus den Windowmanager umgehen.

Das bedeutet, sie bitten den Windowmanager nicht höflich, das Fenster doch bitte maximiert darzustellen, sondern verwenden irgendwelche "tieferliegenden" X-Funktionen um ein Vollbild-Fenster zu erstellen.
Das war früher vielleicht notwendig, da die Windowmanager buggy waren oder nicht den vollen Funktionsumfang zur Verfügung stellten. Mittlerweile verstehen aber alle verbreiteten modernen Windowmanager das Konzept von Vollbild-Fenstern.

Daher ist das Umgehen des Windowmanagers nicht mehr nötig. Es führt zu zahlreichen Problemen:

Einmal verhalten sie sich, wie du schon gesagt hast, "anders" als andere Fenster. Der Windowmanager wüsste, wie das Fenster korrekt maximiert werden muss, aber da er gar nicht erst gefragt wird, klappt es nicht mit dem Vollbild beim Multi-Monitor-Setup.

Es können außerdem keine Fenster über dem laufenden Vollbild-Spiel angezeigt werden und sämtliche Tastendruck- und Mausbewegungs-Events werden exklusiv an das Spiel übertragen. Es funktionieren keine globalen Shortcuts für den Media-Player, kein Alt-Tab, einfach nichts.

Und das liegt einfach nur an hirnloser, schwachsinniger Programmierung. Dass es auch anders geht sieht man, wenn man z.B. ein Spiel in Wine emuliert. Wine macht das mit dem Vollbild nämlich richtig.

Vermutlich müsste man nur eine der unterliegenden Bibliotheken (SDL ?) fixen, aber offenbar hat das seit über 10 Jahren noch niemand für nötig befunden. :roll:
Back to top
View user's profile Send private message
kriz
Apprentice
Apprentice


Joined: 22 Jan 2003
Posts: 231

PostPosted: Tue Aug 26, 2008 2:54 pm    Post subject: Reply with quote

Hallo,

mit dieser xorg.conf hab ich zwar kein Xinerama/Twinview mehr aber dafuer muss man keinen neuen Xserver mehr starten.

Code:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 1680 26
    Screen      1  "Screen1" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Keyboard1" "SendCoreEvents"
    InputDevice    "Keyboard2" "SendCoreEvents"
    InputDevice    "Mouse0" "CorePointer"
    Option         "AutoAddDevices" "False"
EndSection

Section "Files"
    RgbPath         "/usr/lib64/X11/rgb"
    FontPath        "/usr/share/fonts/artwiz-aleczapka-en/"
    FontPath        "/usr/share/fonts/artwiz-aleczapka-de/"
    FontPath        "/usr/share/fonts/75dpi/"
    FontPath        "/usr/share/fonts/100dpi/"
    FontPath        "/usr/share/fonts/misc/"
    FontPath        "/usr/share/fonts/ttf-bitstream-vera/"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "evdev"
    Option         "Name" "Logitech USB Gaming Mouse"
    Option         "Device" "/dev/input/event2"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "evdev"
    Option         "XkbLayout" "de"
    Option         "XkbVariant" "nodeadkeys"
    Option         "Device" "/dev/input/event3"
    Option         "Name" "G15 Gaming Keyboard"
EndSection

Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "evdev"
    Option         "Device" "/dev/input/event4"
    Option         "Name" "G15 Gaming Keyboard"
EndSection

Section "InputDevice"
    Identifier     "Keyboard2"
    Driver         "evdev"
    Option         "Device" "/dev/input/event5"
    Option         "Name" "G15 Extra Keys"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Acer AL1715"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:4:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:4:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device1"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinViewXineramaInfoOrder" "DFP-1"
    Option         "RenderAccel" "true"
    Option         "AddARGBGLXVisuals" "true"
    Option         "TwinView" "0"
    Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device0"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    Option         "RenderAccel" "true"
    Option         "AddARGBGLXVisuals" "true"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


mfg
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum