Hallo,
Also der erste Test mit "nur DualHead" ist erstmal positiv gewesen.
(Auf der nvidia Webseite steht ein Konfig-Tool zur Verfügung
ftp://download.nvidia.com/XFree86/nvidia-settings )
Also die 3 Möglichkeiten
- Kopie des 1. Monitors auf den 2.
- Beide Monitore als einen gemeinsamen, großen verwenden (Twn Mode)
- Beide Monitore als extra Screen mit verschiedenen Inhalt und eigener Startleiste (Separat Mode)
Irgendwie fehlen mir da noch ein paar Grundlagen:
Wozu benötige ich den Ruby-Patch?
Nur für die Tastatur ?
Viele Grüße
sami
Backstreet Ruby/ Ruby
Deine 3 Möglichkeiten sind allesamt mit *einem* Display:
1. Clone: Dabei kriegt X vom zweiten Bildschirmausgang gar nichts mit. Das ist nur möglich, wenn beide Bildschirme dieselbe Ausflösung fahren. Die besseren VGA-Adapter erlauben aber unterschiedliche Bildwiederholfrequenzen an den Ausgängen. Das ist eine Sache des Treibers.
2. Xinerama: Dabei verwaltet X nur einen Screen, teilt diesen an bestimmten Stellen und steuert verschiedene Ausgänge an. Dies lässt sich ohne große Umstände auf jedem Rechner mit mehreren Grafikausgängen (ob nun auf einer Karte oder auf mehreren) einrichten.
3. Ein Display, mehrere Screens: Das ist der "klassische" Multihead-Modus mit X. Geht auch ohne große Umstände auf jedem Rechner mit mehreren Grafikausgängen.
Wenn du mehrere *Displays* haben willst, brauchst du ja für jedes Display eine Tastatur. Das ist also quasi ein "lokaler Terminalserver". Und genau dafür wird der Ruby-Patch benötigt, sonst geht's nicht -- weil Linux ohne diesen Patch nur eine logische Tastatur kennt. Um mehrere Tastaturen zu erlauben, ändert der Ruby-Patch die Zuordnung der Virtual Terminals (VT) zu den Tastaturen.
Normalerweise hat man auf VT1 dieText-/Framebufferkonsole 1, etc. und auf VT7 das erste X11, auf VT8 das zweite X11 (für Benutzer wechseln) usw. Alle diese VTs sind allen Tastaturen zugeordnet. Der Ruby-Patch ändert dies nun: VT1..16 bekommen nur die erste Tastatur, VT17-32 nur die zweite Tastatur usw. Wenn man also nun ein X auf VT17 startet, bekommt es die zweite Tastatur zugeordnet und man kann darauf ein weiteres X-Display (mit dem zweiten Monitor) aufbauen.
Nachteil: Wenn man die VTs über Strg+Alt+F... umschaltet, gibt's ein heilloses Durcheinander. Deshalb sollte man das abschalten.
Janka
1. Clone: Dabei kriegt X vom zweiten Bildschirmausgang gar nichts mit. Das ist nur möglich, wenn beide Bildschirme dieselbe Ausflösung fahren. Die besseren VGA-Adapter erlauben aber unterschiedliche Bildwiederholfrequenzen an den Ausgängen. Das ist eine Sache des Treibers.
2. Xinerama: Dabei verwaltet X nur einen Screen, teilt diesen an bestimmten Stellen und steuert verschiedene Ausgänge an. Dies lässt sich ohne große Umstände auf jedem Rechner mit mehreren Grafikausgängen (ob nun auf einer Karte oder auf mehreren) einrichten.
3. Ein Display, mehrere Screens: Das ist der "klassische" Multihead-Modus mit X. Geht auch ohne große Umstände auf jedem Rechner mit mehreren Grafikausgängen.
Wenn du mehrere *Displays* haben willst, brauchst du ja für jedes Display eine Tastatur. Das ist also quasi ein "lokaler Terminalserver". Und genau dafür wird der Ruby-Patch benötigt, sonst geht's nicht -- weil Linux ohne diesen Patch nur eine logische Tastatur kennt. Um mehrere Tastaturen zu erlauben, ändert der Ruby-Patch die Zuordnung der Virtual Terminals (VT) zu den Tastaturen.
Normalerweise hat man auf VT1 dieText-/Framebufferkonsole 1, etc. und auf VT7 das erste X11, auf VT8 das zweite X11 (für Benutzer wechseln) usw. Alle diese VTs sind allen Tastaturen zugeordnet. Der Ruby-Patch ändert dies nun: VT1..16 bekommen nur die erste Tastatur, VT17-32 nur die zweite Tastatur usw. Wenn man also nun ein X auf VT17 startet, bekommt es die zweite Tastatur zugeordnet und man kann darauf ein weiteres X-Display (mit dem zweiten Monitor) aufbauen.
Nachteil: Wenn man die VTs über Strg+Alt+F... umschaltet, gibt's ein heilloses Durcheinander. Deshalb sollte man das abschalten.
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
2 Server - 1 Konsole
Hallo Janka, schönen Sonntag ,
Habe erstmal nicht die Zeit mich da einzurbeiten, aber Eines wüsste ich noch gern:
Wenn ich die 2 Server mit 2 zugeordneten Mäusen auf einem Terminal laufen lasen will, benötige ich da uach diesen Patch?
ich hatte ein 2. Server-Layout angelegt, eine 2 Maus-Schnittstelle definiert und das alles mit der option "sharevts" gestartet, dies hatte aber nicht so funktioniert wie erhofft:
ich hatte dann Server 0 mit Maus0 auf Terminal 7 und Server 1 mit Maus 1 auf Terminal 8 ;(
Viele Grüße
sami
Habe erstmal nicht die Zeit mich da einzurbeiten, aber Eines wüsste ich noch gern:
Wenn ich die 2 Server mit 2 zugeordneten Mäusen auf einem Terminal laufen lasen will, benötige ich da uach diesen Patch?
ich hatte ein 2. Server-Layout angelegt, eine 2 Maus-Schnittstelle definiert und das alles mit der option "sharevts" gestartet, dies hatte aber nicht so funktioniert wie erhofft:
ich hatte dann Server 0 mit Maus0 auf Terminal 7 und Server 1 mit Maus 1 auf Terminal 8 ;(
Viele Grüße
sami
Wozu soll es gut sein, zwei Mäuse zu haben, die unterschiedliche Zeiger bewegen, die Tastatur aber zu teilen?
Um zwei Xserver gleichzeitig mit unterschiedlichen Konfigurationen starten zu können, musst du entweder einem der X-Server mit -config beim Start anweisen, eine komplett andere Konfigurationsdatei zu benutzen, oder mit -layout, eine andere ServerLayout-Sektion als die normale.
Um alle Mäuse zu einer zusammenzulegen, nimmt man /dev/input/mice als Pseudo-Maus-Device. Oder gpm als X-Maustreiber.
Janka
Um zwei Xserver gleichzeitig mit unterschiedlichen Konfigurationen starten zu können, musst du entweder einem der X-Server mit -config beim Start anweisen, eine komplett andere Konfigurationsdatei zu benutzen, oder mit -layout, eine andere ServerLayout-Sektion als die normale.
Um alle Mäuse zu einer zusammenzulegen, nimmt man /dev/input/mice als Pseudo-Maus-Device. Oder gpm als X-Maustreiber.
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.
2 mäuse
> Wozu soll es gut sein, zwei Mäuse zu haben, die unterschiedliche Zeiger bewegen, die Tastatur aber zu teilen?
dann kann man wenigstens ein Spiel zu zweit gegeneinander spielen, oder jeder für sich
> Um alle Mäuse zu einer zusammenzulegen, nimmt man /dev/input/mice ..
Ja, das war so voreingestellt, hatte dies also dann auf /dev/input/mouse0 und .. mouse1 umgeswitcht. Wollte schlieslich für jeden Monitor eine extra Maus.
> .. oder mit -layout, eine andere ServerLayout-Sektion als die normale ..
Ja so hatte ich die Server auch gestartet, dass hat ja auch funktioniert, aber auf unterschiedlichen Terminals. Also, ich sah dann die beiden monitore nie gleichzeitig und musste mit F7 bzw F8 umschalten.
LG sami
dann kann man wenigstens ein Spiel zu zweit gegeneinander spielen, oder jeder für sich
> Um alle Mäuse zu einer zusammenzulegen, nimmt man /dev/input/mice ..
Ja, das war so voreingestellt, hatte dies also dann auf /dev/input/mouse0 und .. mouse1 umgeswitcht. Wollte schlieslich für jeden Monitor eine extra Maus.
> .. oder mit -layout, eine andere ServerLayout-Sektion als die normale ..
Ja so hatte ich die Server auch gestartet, dass hat ja auch funktioniert, aber auf unterschiedlichen Terminals. Also, ich sah dann die beiden monitore nie gleichzeitig und musste mit F7 bzw F8 umschalten.
LG sami
xserver
Der X-Server ist meines erachtens richtig zugeordnet,
das erkennt man ja auch daran, das auf dem Monitor0 auch nur die Mause0 arbeitet.
Mein Problem ist, beide Server unter einem Terminal zustarten.
Es ist eine Karte mit je einem analogen und digitalen Ausgang.
Hier mal die xorg.conf
das erkennt man ja auch daran, das auf dem Monitor0 auch nur die Mause0 arbeitet.
Mein Problem ist, beide Server unter einem Terminal zustarten.
Es ist eine Karte mit je einem analogen und digitalen Ausgang.
Hier mal die xorg.conf
Code: Select all
# /etc/xorg.conf für nvidia-Karte 6200 Dual-Ausgang
# DFP (digital) und CRT (analog TFT)
#
# TEST fuer den Displays zugeordnete Mauese
#
# ****************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# ****************************************************************
# ****************************************************************
# Module section - dynamisch ladbare Module
# ****************************************************************
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer
EndSection
Section "Extensions"
Option "Composite"
EndSection
Section "Files"
# font server independent of the X server to render fonts.
# minimal fonts to allow X to run without xfs
ModulePath "/usr/lib/xorg/modules/extensions/nvidia97xx"
ModulePath "/usr/lib/xorg/modules"
FontPath "unix/:-1"
FontPath "/usr/share/fonts/misc:unscaled"
EndSection
# ****************************************************************
# Input device section
# ****************************************************************
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "de(nodeadkeys)"
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/input/mouse0"
EndSection
Section "InputDevice"
Identifier "Mouse2"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/input/mouse1"
EndSection
# ****************************************************************
# Graphics device section
# ****************************************************************
Section "Device"
Identifier "Videocard0"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Twin View" "1"
EndSection
Section "Device"
Identifier "Videocard1"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Twin View" "1"
EndSection
# ****************************************************************
# Monitor section
# ****************************************************************
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Philips 170C"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
EndSection
Section "Monitor"
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
Identifier "Monitor1"
VendorName "Unknown"
ModelName "GERICOM 520A"
HorizSync 31.0 - 60.0
VertRefresh 56.0 - 85.0
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.0 768 800 960 1024 576 578 590 616
EndSection
# ****************************************************************
# Screen section
# ****************************************************************
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubsection
Option "metamodes" "DFP: nvidia-auto-select +0+0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubsection
# Option "AddARGBGLXVisuals"
Option "metamodes" "CRT: nvidia-auto-select +0+0"
Option "DPMS"
EndSection
# ****************************************************************
# Server flage section
# ****************************************************************
Section "ServerFlags"
# Option "DontZap" # disable <Crtl><Alt><BS> (server abort)
# Option "Dont VTSwitch" # bei Patch mit 2 Keyboards
Option "ShareVTS"
Option "Xinerama" "true"
# Option "DontZoom" # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
# ** allows the server to start up even if the mouse does not work: **
Option "allowmouseopenfail"
EndSection
# ****************************************************************
# Server Layout section
# ****************************************************************
Section "ServerLayout"
Identifier "ServerLayout0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
InputDevice "Mouse2" "SendCoreEvents"
Screen 0 "Screen0" 0 0
EndSection
Section "ServerLayout"
Identifier "ServerLayout1"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
Screen 0 "Screen1# /etc/xorg.conf für nvidia-Karte 6200 Dual-Ausgang
# DFP (digital) und CRT (analog TFT)
#
# TEST fuer den Displays zugeordnete Mauese
#
# ****************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# ****************************************************************
#
# ****************************************************************
# Module section - dynamisch ladbare Module
# ****************************************************************
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer
EndSection
Section "Extensions"
Option "Composite"
EndSection
Section "Files"
# font server independent of the X server to render fonts.
# minimal fonts to allow X to run without xfs
ModulePath "/usr/lib/xorg/modules/extensions/nvidia97xx"
ModulePath "/usr/lib/xorg/modules"
FontPath "unix/:-1"
FontPath "/usr/share/fonts/misc:unscaled"
EndSection
# ****************************************************************
# Input device section
# ****************************************************************
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "de(nodeadkeys)"
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/input/mouse0"
EndSection
Section "InputDevice"
Identifier "Mouse2"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/input/mouse1"
EndSection
# ****************************************************************
# Graphics device section
# ****************************************************************
Section "Device"
Identifier "Videocard0"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Twin View" "1"
EndSection
Section "Device"
Identifier "Videocard1"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "Twin View" "1"
EndSection
# ****************************************************************
# Monitor section
# ****************************************************************
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Philips 170C"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
EndSection
Section "Monitor"
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
Identifier "Monitor1"
VendorName "Unknown"
ModelName "GERICOM 520A"
HorizSync 31.0 - 60.0
VertRefresh 56.0 - 85.0
ModeLine "768x576" 50.0 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.0 768 800 960 1024 576 578 590 616
EndSection
# ****************************************************************
# Screen section
# ****************************************************************
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubsection
Option "metamodes" "DFP: nvidia-auto-select +0+0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
EndSubsection
# Option "AddARGBGLXVisuals"
Option "metamodes" "CRT: nvidia-auto-select +0+0"
Option "DPMS"
EndSection
# ****************************************************************
# Server flage section
# ****************************************************************
Section "ServerFlags"
# Option "DontZap" # disable <Crtl><Alt><BS> (server abort)
# Option "Dont VTSwitch" # bei Patch mit 2 Keyboards
Option "ShareVTS"
Option "Xinerama" "true"
# Option "DontZoom" # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
# ** allows the server to start up even if the mouse does not work: **
Option "allowmouseopenfail"
EndSection
# ****************************************************************
# Server Layout section
# ****************************************************************
Section "ServerLayout"
Identifier "ServerLayout0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
InputDevice "Mouse2" "SendCoreEvents"
Screen 0 "Screen0" 0 0
EndSection
Section "ServerLayout"
Identifier "ServerLayout1"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
Screen 0 "Screen1" 0 0
EndSection
korrektur
sorry, das war nicht die richtige Fassung, hier noch mal:
# /etc/xorg.conf für nvidia-Karte 6200 ... *********
# /etc/xorg.conf für nvidia-Karte 6200 ... *********
Als Grundhindernis sehe ich mal, dass du eine Karte mit zwei Ausgängen verwendest, nicht zwei getrennte Karten. Das bedeutet, dass du *nicht* zwei unabhängige Xserver verwenden kannst. Beide Monitore müssen von derselben X-Instanz angesteuert werden, da es sich nur um eine Videohardware handelt. Jede X-Instanz kann aber nur eine Tastatur und einen Pointer verwalten, unabhängig von der Zahl der tatsächlich vorhandenen Eingabegeräte. Auch der Ruby-Patch hilft hier nicht.
Die Konfiguration, die deiner Wunschkonfiguration am nächsten kommt, ist die mit einem Display, aber separaten Screens. Das Spiel (welches?) muss nun vom X-Pointer alternative Eingabegeräte unterstützen. Dann gibt man dort direkt das Maus- und/oder Keyboard-Device an und fertig.
Janka
Die Konfiguration, die deiner Wunschkonfiguration am nächsten kommt, ist die mit einem Display, aber separaten Screens. Das Spiel (welches?) muss nun vom X-Pointer alternative Eingabegeräte unterstützen. Dann gibt man dort direkt das Maus- und/oder Keyboard-Device an und fertig.
Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
Ich mag die Schreie.