Xorg 7.3 + Matrox G400 + Dualhead + Fluxbox

bsd69

Gitarrist & Cabriofahrer
Hallo Zusammen,

wäre dankbar, wenn jemand seine funktionierende xorg.conf posten könnte. Ich möchte gerne mit meiner G400 zwei identische TFT's anschliessen und diese dann als virtuellen Desktop 2560x1024 benutzen. Trotz google und Forensuche scheitere ich immer noch daran, dass leider nur ein TFT angesprochen wird. Auch bin ich mir nicht sicher, ob ich wirklich Xinerama "muss" oder MergedFB reichen würde. Als WM würde ich Fluxbox oder Gnome einsetzen. Fluxbox habe ich testhalber mal mittels dem "Xinerama-Flag" gebaut. Hat leider auch nichts gebracht. System: FBSD 6.2, frisch installiert, Xorg aus den Ports gebaut. Ausser Fluxbox gegenwärtig keien anderen Pakete. Möchte zuerst die beiden TFT's zum rennen bringen.

Danke schön für jeden Tipp!

Greetz Mäsa
 
Bei xorg 7.3 brauchst du den ganzen Xinerama und MergedFB Kram nicht mehr. Stattdessen kannst du mehrere Monitore konfigurieren und in der Device Section an die verschiedenen Ausgänge binden. Die Bezeichnungen VGA-0 und VGA-1 sind Beispiele für 2 analoge Ausgänge. Wie die wirklich heißen kannst du mit xrandr nachsehen.
Code:
Section "Monitor"
	Identifier  	"VGA-0 Monitor"
EndSection

Section "Monitor"
	Identifier  	"VGA-1 Monitor"
	Option		"RightOf" "VGA-0 Monitor"
EndSection

...

Section "Device"

	...

	Option		"Monitor-VGA-0"	"VGA-0 Monitor"
	Option		"Monitor-VGA-1"	"VGA-1 Monitor"
EndSection


Section "Screen"

	...

	Monitor     "VGA-0 Monitor"
	Monitor     "VGA-1 Monitor"
	DefaultDepth 24
	SubSection "Display"
		Depth		24
		Virtual		2560 1024
	EndSubSection
EndSection

Bis auf Virtual kannst du auch alles mit Hilfe von xrandr zur Laufzeit beinflussen (inklusive ModeLines hinzufügen/entfernen, Anordnung der Bildschirme usw.).
 
Bei xorg 7.3 brauchst du den ganzen Xinerama und MergedFB Kram nicht mehr. Stattdessen kannst du mehrere Monitore konfigurieren und in der Device Section an die verschiedenen Ausgänge binden. Die Bezeichnungen VGA-0 und VGA-1 sind Beispiele für 2 analoge Ausgänge. Wie die wirklich heißen kannst du mit xrandr nachsehen.

Bis auf Virtual kannst du auch alles mit Hilfe von xrandr zur Laufzeit beinflussen (inklusive ModeLines hinzufügen/entfernen, Anordnung der Bildschirme usw.).
Da hat es ja anscheinend wirklich Fortschritte gegeben zu Xorg7.3, ich hab irgendwie den Eindruck gewonnen, dass sei nur ein "Pflicht"-Release gewesen... Hat zumindest auf meinen Rechner nur Nachteile gebracht...
 
Bei xorg 7.3 brauchst du den ganzen Xinerama und MergedFB Kram nicht mehr. Stattdessen kannst du mehrere Monitore konfigurieren und in der Device Section an die verschiedenen Ausgänge binden. Die Bezeichnungen VGA-0 und VGA-1 sind Beispiele für 2 analoge Ausgänge. Wie die wirklich heißen kannst du mit xrandr nachsehen.
Code:
Section "Monitor"
	Identifier  	"VGA-0 Monitor"
EndSection

Section "Monitor"
	Identifier  	"VGA-1 Monitor"
	Option		"RightOf" "VGA-0 Monitor"
EndSection

...

Section "Device"

	...

	Option		"Monitor-VGA-0"	"VGA-0 Monitor"
	Option		"Monitor-VGA-1"	"VGA-1 Monitor"
EndSection


Section "Screen"

	...

	Monitor     "VGA-0 Monitor"
	Monitor     "VGA-1 Monitor"
	DefaultDepth 24
	SubSection "Display"
		Depth		24
		Virtual		2560 1024
	EndSubSection
EndSection

Bis auf Virtual kannst du auch alles mit Hilfe von xrandr zur Laufzeit beinflussen (inklusive ModeLines hinzufügen/entfernen, Anordnung der Bildschirme usw.).


Danke Kamikaze für deine Ausführung. Ich glaube, ich bin dem Problem auf der Spur. Hast du zufällig auch zwei Monitore angeschlossen? Mich würde deine Ausgabe von "xrandr -q" interessieren. Bei mir sehe ich nur einen Monitor, obwohl beide TFT's angeschlossen sind:

Code:
%xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 2304 x 1024
VGA connected 1280x1024+0+0 376mm x 301mm
   1280x1024      60.0*+   75.0     59.9  
   1280x960       74.9     59.9  
   1152x864       75.0     74.8  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1

Greetz Mäsa
 
Fall's niemand eine Matrox G400 einsetzt, würde mich noch interessieren, welche alternative Grafikkarte mein Problem lösen würde und ihr im Einsatz habt. Ich benötige keine Karte um zu zoggen, sondern "nur" für geschäftliche Anwendungen (FreeBSD ist mein Arbeitsplatz :)). Dafür aber unbedingt mit beiden TFT's und virtuelle Auflösung von 2560x1024.

Was könntet ihr mir empfehlen?

Danke für's Feedback!
 
Code:
$ xrandr -q
Screen 0: minimum 320 x 200, current 2048 x 768, maximum 2048 x 768
VGA-0 connected 1024x768+1024+0 (normal left inverted right x axis y axis) 364mm x 291mm
   1024x768      149.0*    74.9     75.1     70.1     60.0     43.5  
   832x624        74.6  
   800x600       160.0     72.2     75.0     60.3     56.2  
   768x576       160.0  
   720x540       160.0  
   640x480       160.0     75.0     72.8     66.7     60.0  
   720x400        87.8     70.1  
   512x384       160.0  
   320x240       160.0  
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       59.9*+   60.0  
   800x600        60.3  
   640x480        59.9  
S-video disconnected (normal left inverted right x axis y axis)

Vorher habe ich noch folgenden Befehl ausgeführt:
Code:
$ xrandr --output VGA-0 --right-of LVDS
Da ich keine RightOf-Definition in meiner xorg.conf habe.

Wie es scheint erkennt der Treiber deiner Grafikkarte gar nicht erst den Ausgang. Wenn es keinen anderen Treiber dafür gibt hast du schlechte Karten.

Ich verwende übrigens (alte) ATI-Karten, bei denen Funktioniert das einwandfrei.
 
Wie es scheint erkennt der Treiber deiner Grafikkarte gar nicht erst den Ausgang. Wenn es keinen anderen Treiber dafür gibt hast du schlechte Karten.

Ich verwende übrigens (alte) ATI-Karten, bei denen Funktioniert das einwandfrei.

Genau! Das war auch meine Befürchtung. Obwohl gemäss Readme.txt des FBSD-mga-Treibers müsste dieser die beiden Ausgänge unterstützen. Werds nächste Woche nochmals versuchen. Noch eine Frage an dich: welche (alte) ATI-Karte benutzt du denn gegenwärtig? Vielleicht könnte ich eine solche noch auftreiben...

Besten Dank auf jeden Fall!
 
Einmal eine Radeon Mobility 7500 und eine Radeon 9200 SE. Bei beiden werden auch alle Ausgänge erkannt. Bei Mobility heißt das LVDS, VGA-0 und S-video, bei der Anderen VGA-0, DVI-0 und S-video.
 
Wenn das eine G400 mit zwei analogen Ausgängen ist, sollten diese auch beide unterstützt werden. Meine Erfahrungen mit dieser Karte im Dual-Head-Betrieb liegen schon einige Zeit zurück (IIRC war das mit X.org 6.8.0), daher hilft meine Konfiguration von damals wohl nicht weiter. Allerdings gehe ich nicht davon aus, daß an mga(4) seitdem etwas verschlimmbessert wurde. Prinzipiell sollte es also gehen.

Das gilt aber nicht, wenn DVI ins Spiel kommt! Matrox und DVI ist eine ganz eigene Geschichte. Da gibt es oder gab es oder gibt es mittlerweile wieder oder immer noch treiberseitige Einschränkungen. Falls du DVI haben willst, besorg dir eine alte ATI oder nVidia.
 
Wenn das eine G400 mit zwei analogen Ausgängen ist, sollten diese auch beide unterstützt werden. Meine Erfahrungen mit dieser Karte im Dual-Head-Betrieb liegen schon einige Zeit zurück (IIRC war das mit X.org 6.8.0), daher hilft meine Konfiguration von damals wohl nicht weiter. Allerdings gehe ich nicht davon aus, daß an mga(4) seitdem etwas verschlimmbessert wurde. Prinzipiell sollte es also gehen.

Das gilt aber nicht, wenn DVI ins Spiel kommt! Matrox und DVI ist eine ganz eigene Geschichte. Da gibt es oder gab es oder gibt es mittlerweile wieder oder immer noch treiberseitige Einschränkungen. Falls du DVI haben willst, besorg dir eine alte ATI oder nVidia.

Ja, es ist eine G400 mit zwei analogen Ausgängen. DVI benötige ich nicht. Im Prinzip ist es ja etwas ganz banales.... Bin wahrscheinlich auch nahe an der Lösung. Es fehlt bloss der entscheidende Tipp (erprobte, funktionierende xorg.conf für Xorg 7.3 vielleicht?).

Danke euch zwei für eure Ausführungen.
 
Vorher habe ich noch folgenden Befehl ausgeführt:
Code:
$ xrandr --output VGA-0 --right-of LVDS
Da ich keine RightOf-Definition in meiner xorg.conf habe.

Mich würde noch folgendes interessieren: du hast auf'm Prompt (ohne dass der X-Server lief) diesen Befehl abgesetzt? Und wie hast du dann den X-Server gestartet? Mittels "startx -option XY" oder wie? Weil, so könnte ich dann meine beiden VGA-Ausgänge einzeln testen, um zu schauen, ob sie wirklich angesprochen werden können. Wäre dir dankbar, wenn du dies noch ergänzen könntest.

THX Mäsa
 
Nein, mein X-Server wird über den xdm gestartet und die Zeile muss natürlich bei laufendem X-Server abgesetzt werden. Das ist ja das tolle an 7.3, man kann tatsächlich alles zur Laufzeit ändern.

Code:
$ xrandr 
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2048 x 768
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       59.9*+   60.0  
   800x600        60.3  
   640x480        59.9  
S-video disconnected (normal left inverted right x axis y axis)

In diesem Fall ist bei mir kein 2. Monitor angeschlossen. Wie du siehst, sind aber trotzdem alle Ausgänge (VGA-0, LVDS, S-video) gelistet. Die möglichen Bildschirmmodi werden natürlich nur für die Ausgänge angezeigt, die auch tatsächlich mit einem Monitor verbunden sind.
 
Nein, mein X-Server wird über den xdm gestartet und die Zeile muss natürlich bei laufendem X-Server abgesetzt werden. Das ist ja das tolle an 7.3, man kann tatsächlich alles zur Laufzeit ändern.

Code:
$ xrandr 
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2048 x 768
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       59.9*+   60.0  
   800x600        60.3  
   640x480        59.9  
S-video disconnected (normal left inverted right x axis y axis)

In diesem Fall ist bei mir kein 2. Monitor angeschlossen. Wie du siehst, sind aber trotzdem alle Ausgänge (VGA-0, LVDS, S-video) gelistet. Die möglichen Bildschirmmodi werden natürlich nur für die Ausgänge angezeigt, die auch tatsächlich mit einem Monitor verbunden sind.

Für die Nachwelt:
Also, leider funktioniert die Matrox G400 definitiv nicht (mehr) mit Xorg 7.3. Ich musste nämlich bereits nur schon einen Patch einspielen, dass sie überhaupt nur schon auf einem Ausgang funktionierte. Ok, gegenwärtig verwende ich eine ATI Radeon 9200. Diese funzt prinzipiell einwandfrei, habe auch beide Monitore in Betrieb. Gegenwärtig hab' ich's noch nicht geschafft, über virtuell 2304x1024 (möchte gerne 2560x1024) zu kommen. Wäre dir Kamikaze echt dankbar, wenn du deine komplette xorg.conf posten oder mailen könntest.

Vielen Dank und Gruss aus der verschneiten Schweiz ;)
 
Es wäre vielleicht sinnvoller, wenn du deine zum Besten gibst. In meiner stecken hunderte von Modelines für meinen Röhrenmonitor.
 
Es wäre vielleicht sinnvoller, wenn du deine zum Besten gibst. In meiner stecken hunderte von Modelines für meinen Röhrenmonitor.

Ok, kein Problem. Hoffe, du entdeckst etwas "falsches"...:

Code:
Section "ServerLayout"
        Identifier     "xrandr"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/local/lib/xorg/modules"
        FontPath      "/usr/local/lib/X11/fonts/webfonts/"
        #RgbPath      "/usr/local/share/X11/rgb"
        #FontPath     "/usr/local/lib/X11/fonts/bitstream-vera/"
        #FontPath     "/usr/local/lib/X11/fonts/URW/"
        #FontPath     "/usr/local/lib/X11/fonts/urwfonts-ttf/"
EndSection

Section "Module"
#       Load  "GLcore"
#       Load  "xtrap"
EndSection

Section "DRI"
        Mode  0666
EndSection

Section "Extensions"
        Option "Composite" "Disable"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "ch"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
        Option       "Position" "1024 0"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
        Option       "Position" "0 0"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "ati"
        BusID       "PCI:1:0:0"
        Option      "HWcursor"                  "off"
        Option      "AGPMode"                   "4"
        Option      "Monitor-TTF1"              "Monitor0"
        Option      "Monitor-TTF2"              "Monitor1"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
#               Modes      "1280x1024"
#               Depth      24
                Virtual    2560 1024
        EndSubSection
EndSection

Wie bereits geschrieben, ist "nur" das "Virtual" das Problem. xorg.conf ignoriert meine 2560x1024, d.h. das zBsp. mein Firefox immer noch ein Stückchen vom ersten zum zweiten TFT überlappt. Ein xrandr -q ergibt

Code:
$ xrandr -q
Screen 0: current 2304 x 1024, maximum 2560 x 1024

Ein ev. Prtscreen könnte ich erst am Montag liefern, da ich erst dann wieder im Geschäft bin.

Danke und Gruss
 
Code:
        Option       "Position" "1024 0"
Ist eine schlechte Idee. Dadurch fängt der Monitor immer bei Pixel 1024 an, unabhängig von der Auflösung. Wenn du also beide mit 1280 betreibst würde sich das Bild um 256 Pixel überschneiden (rein zufällig genau die Pixel die du vermisst). Nimm stattdessen:
Code:
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
        Option       "RightOf" "Monitor1"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
EndSection
 
Code:
        Option       "Position" "1024 0"
Ist eine schlechte Idee. Dadurch fängt der Monitor immer bei Pixel 1024 an, unabhängig von der Auflösung. Wenn du also beide mit 1280 betreibst würde sich das Bild um 256 Pixel überschneiden (rein zufällig genau die Pixel die du vermisst). Nimm stattdessen:
Code:
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
        Option       "RightOf" "Monitor1"
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "EIZO"
        ModelName    "EIZO TTF"
EndSection

Hallo Kamikaze, leider funktioniert's mit dem
Code:
"RightOf" "Monitor1"
nicht. Der Effekt dabei ist, dass ich auf beiden Monitoren das identische Bild habe (auch wenn ich diese Option einmal auf Monitor0 bzw. Monitor1 aktiviere) Die gegenwärtige Lösung habe ich mit
Code:
"Position" "1280 0" erreicht :)

Also, nochmals herzlichen Dank für dein tolles Engagement!
 
Dass RightOf nicht geht liegt daran, dass Monitor1 in deiner Screen Section fehlt.

Hmm... hatte ich zwar schon probiert, aber leider funktionierts dann auch nicht (immer noch parallele Ausgabe auf beiden Screens...).

Code:
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        Monitor    "Monitor1"
        DefaultDepth 16
        SubSection "Display"
                Virtual    2560 1024
        EndSubSection
EndSection

Oder steh' hier noch auf'm Schlauch?? Die andere Frage wäre noch, was so "unschön" an der "Position" "1280 0" ist. Es funktioniert so, wie ich's benötige.
 
Zurück
Oben