View previous topic :: View next topic |
Author |
Message |
kriz Apprentice
Joined: 22 Jan 2003 Posts: 231
|
Posted: Mon Aug 11, 2008 3:03 pm Post subject: Enemy Territory: Quake Wars + xinerama [SOLVED] |
|
|
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 |
|
|
Vortex375 Veteran
Joined: 03 Mar 2005 Posts: 1739 Location: Deutschland
|
Posted: Mon Aug 11, 2008 5:36 pm Post subject: |
|
|
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 |
|
|
kriz Apprentice
Joined: 22 Jan 2003 Posts: 231
|
Posted: Mon Aug 11, 2008 6:46 pm Post subject: |
|
|
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 |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5328
|
Posted: Mon Aug 11, 2008 6:58 pm Post subject: |
|
|
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 |
|
|
Vortex375 Veteran
Joined: 03 Mar 2005 Posts: 1739 Location: Deutschland
|
Posted: Mon Aug 11, 2008 10:50 pm Post subject: |
|
|
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.
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 |
|
|
kriz Apprentice
Joined: 22 Jan 2003 Posts: 231
|
Posted: Tue Aug 12, 2008 5:39 am Post subject: |
|
|
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 |
|
|
kriz Apprentice
Joined: 22 Jan 2003 Posts: 231
|
Posted: Tue Aug 12, 2008 7:18 am Post subject: |
|
|
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 |
|
|
Vortex375 Veteran
Joined: 03 Mar 2005 Posts: 1739 Location: Deutschland
|
Posted: Sat Aug 16, 2008 1:18 am Post subject: |
|
|
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. |
|
Back to top |
|
|
kriz Apprentice
Joined: 22 Jan 2003 Posts: 231
|
Posted: Tue Aug 26, 2008 2:54 pm Post subject: |
|
|
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 |
|
|
|