ubuntuusers.de

Dual-Head mit fglrx ohne Xinerama

Status: Gelöst | Ubuntu-Version: Ubuntu 11.04 (Natty Narwhal)
Antworten |

adobert

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

Moin,

ich verzweifle gerade an einer (so sollte man meinen) ziemlich einfachen Problemstellung: und zwar ein Dual-Head-Setup mit fglrx und eingeschaltetem Compositing (Compiz) und erweitertem/ausgedehntem Desktop.

Was ich bisher weiß:

* Normalerweise habe ich immer Xinerama für Dual-Head verwendet. Aber anscheinend schließen sich Xinerama und Compiz grundsätzlich aus.

* Eine Variante ohne Xinerama ist die erstellung einer Screen section mit virtueller Auflösung, das funktioniert zwar, hat aber einige Nachteile: X stürzt bei manchen 3D-Anwendungen ab etc.

Section "Screen"
    Identifier "Screen-0"
    Device     "Device-0"
    DefaultDepth     24
    SubSection "Display"
        Virtual   3840 1200
        Depth     24
    EndSubSection
EndSection

* Versuche mit aticonfig liefern keine brauchbaren Ergebnisse. Versucht habe ich bis jetzt folgenden Aufruf mit diversen Variationen:

aticonfig --initial=dual-head --resolution=0,1920x1200 --xinerama=off --dtop=horizontal

* Es soll noch eine proprietäre Dualhead-Lösung für fglrx geben (BigDesktop?) bei der in der Device-Section sowas wie Option "DesktopSetup" "horizontal" angegeben wird. Leider konnte ich dazu keine aktuelle Dokumentation finden.

So, nun zu meiner eigentlichen Frage: Hat jemand eine Idee wie sich eine Dual-Head-Konfig mit fglrx aber ohne Xinerama bzw. mit Compiz realisieren lässt? Schon eine Schubs in die richtige Richtung wäre super.

Letalis_Sonus Team-Icon

Anmeldungsdatum:
13. April 2008

Beiträge: 12990

Wohnort: Oldenburg/Erlangen

Warum willst du denn überhaupt eine statische Konfiguration in der xorg.conf? Warum nicht die Methode der Desktopumgebung verwenden und so den Weg über RandR gehen?

adobert

(Themenstarter)

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

Letalis Sonus schrieb:

Warum willst du denn überhaupt eine statische Konfiguration in der xorg.conf?

Weil es leichter (und IMO sauberer) ist >200 Rechnern die passende xorg.conf unter zu schieben als über .xsessionrc oder ähnliches xrandr-Befehle auszuführen.

Letalis_Sonus Team-Icon

Anmeldungsdatum:
13. April 2008

Beiträge: 12990

Wohnort: Oldenburg/Erlangen

Kurze Verständnissfrage: Da es sich um eine ganze Rechnerflotte handelt, ist es denn überhaupt sinnvoll auf den fglrx Treiber zu setzen? Wenn nicht gerade Grafikleistung für CAD und co. gefragt ist, wäre der freie Treiber wohl eine bessere Wahl, schon allein weil dieser in der Regel runder und stabiler läuft.

Ich kann dir diese xorg.conf als Grundlage anbieten, die sollte sich eigentlich 1:1 auf den fglrx Treiber übertragen lassen, die beiden Treiberoptionen sind RandR spezifisch zur genauen Zuweisung der Monitore und sollten laut xorg.conf Manpage bei jedem RandR 1.2 kompatiblen Treiber anwendbar sein (Anschlussbezeichnungen sind zB über xrandr ermittelbar), evtl. kann man die auch einfach weglassen:

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor 2"
	Option		"RightOf"	"DVI-0"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device		"Configured Video Device"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
	Driver		"radeon"
	Option		"Monitor-DVI-0"	"Configured Monitor"
	Option		"Monitor-DVI-1"	"Configured Monitor 2"
EndSection

Section	"ServerLayout"
	Identifier	"Default Layout"
	Screen		"Default Screen"
EndSection

Eine eigene manuell neu anzulegen ist erst einmal auch keine schlecht Idee, bevor man sich in den Optionen verhaspelt kann man sich so erst einmal auf das allernötigste konzentrieren und X den Rest selbstständig ergänzen lassen.

adobert

(Themenstarter)

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

Hi Letalis Sonus,

danke für die Anregung. Hab's mit einer ganz ähnlichen Lösung hinbekommen. Wenn es sich im Test bewährt hat werde ich finale Config mal hier posten.

Gruß

kimstebel

Anmeldungsdatum:
7. Mai 2011

Beiträge: Zähle...

Kannst du bitte deine xorg.conf posten? Ich habe genau das selbe Problem.

adobert

(Themenstarter)

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

Also hier ist meine bisherige Lösung, leider kommt diese nicht ganz ohne xrandr aus ☹ . Ich habe also in die .xsessionrc noch ein Script eingetragen, das dann etwa folgendes ausführt (mit angepassten Namen für die Outputs):

xrandr --output DFP2 --output DFP4 --right-of DFP2

Die xorg.conf dazu sieht folgendermaßen aus:

Section "ServerLayout"
	Identifier     "ATI_pcie_dual"
	Screen      0  "screen0" 0 0
	InputDevice    "keyboard"
	InputDevice    "mouse"
EndSection

Section "Files"
	FontPath     "/usr/share/X11/fonts/misc"
	FontPath     "/usr/share/X11/fonts/cyrillic"
	FontPath     "/usr/share/X11/fonts/100dpi/:unscaled"
	FontPath     "/usr/share/X11/fonts/75dpi/:unscaled"
	FontPath     "/usr/share/X11/fonts/Type1"
	FontPath     "/usr/share/X11/fonts/CID"
	FontPath     "/usr/share/X11/fonts/100dpi"
	FontPath     "/usr/share/X11/fonts/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection

Section "Module"
	Load  "GLcore"
	Load  "i2c"
	Load  "bitmap"
	Load  "ddc"
	Load  "dri"
	Load  "extmod"
	Load  "freetype"
	Load  "glx"
	Load  "int10"
	Load  "type1"
	Load  "vbe"
EndSection

Section "InputDevice"
	Identifier  "keyboard"
	Driver      "kbd"
	Option	    "CoreKeyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "de"
	Option	    "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
	Identifier  "mouse"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "ExplorerPS/2"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
	Identifier  "stylus"
	Driver      "wacom"
	Option	    "Device" "/dev/wacom"
	Option	    "Type" "stylus"
	Option	    "ForceDevice" "ISDV4"
EndSection

Section "InputDevice"
	Identifier  "eraser"
	Driver      "wacom"
	Option	    "Device" "/dev/wacom"
	Option	    "Type" "eraser"
	Option	    "ForceDevice" "ISDV4"
EndSection

Section "InputDevice"
	Identifier  "cursor"
	Driver      "wacom"
	Option	    "Device" "/dev/wacom"
	Option	    "Type" "cursor"
	Option	    "ForceDevice" "ISDV4"
EndSection

Section "Monitor"
    Identifier  "monitor0"
    Option	"DPMS" "true"
    Option      "PreferredMode" "1920x1200"
    Option      "TargetRefresh" "60"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Monitor"
    Identifier  "monitor1"
    Option	"DPMS" "true"
    Option      "PreferredMode" "1920x1200"
    Option      "TargetRefresh" "60"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Device"
    Identifier  "device0"
    Option "BusType"      "PCIE"
    Driver "fglrx"
    BusID  "PCI:2:0:0"
    Option "EnablePageFlip" "true"
    Option "backingstore" "true"
    Option "VideoOverlay" "on"
    Option "TexturedVideo" "on"
    Option "no_accel" "no"
    Option "no_dri" "no"
    Option "AllowGLXWithComposite" "true"
    Option "CenterMode" "off"
EndSection

Section "Device"
    Identifier  "device1"
    Driver      "fglrx"
    BusID       "PCI:2:0:0"
    Screen      1
    Option "EnablePageFlip" "true"
    Option "backingstore" "true"
    Option "VideoOverlay" "on"
    Option "TexturedVideo" "on"
    Option "no_accel" "no"
    Option "no_dri" "no"
    Option "AllowGLXWithComposite" "true"
    Option "CenterMode" "off"
EndSection

Section "Screen"
    Identifier "screen0"
    Device     "device0"
    Monitor    "monitor0"
    DefaultDepth     24
    SubSection "Display"
	    Depth		24
	    Modes		"1600x1200"
            Virtual     3200 1200 
    EndSubSection
EndSection

Section "Screen"
    Identifier "screen1"
    Device     "device1"
    Monitor    "monitor1"
    DefaultDepth     24
    SubSection "Display"
	    Depth		24
	    Modes		"1600x1200"
    EndSubSection
EndSection

Section "DRI"
	Mode         0666
EndSection

Section "Extensions"
	Option	    "Composite" "enable"
EndSection

Section "ServerFlags"
	Option	    "Xinerama" "off"
EndSection

Mit einigen kleinen Anpassungen sollte das aber auch ohne xrandr funktionieren. Hierfür müsstest du in die eine Monitor-Section folgendermaßen ändern:

Section "Monitor"
    Identifier  "monitor1"
    Option	"DPMS" "true"
    Option      "PreferredMode" "1920x1200"
    Option      "TargetRefresh" "60"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
    Option      "LeftOf" "monitor0"
EndSection

Bei mir funktioniert diese Config allerdings nicht, bzw. sie funktioniert nur dann wenn ich die Monitore so benenne, wie sie in der Ausgabe von xranr -q benannt wurden.

kimstebel

Anmeldungsdatum:
7. Mai 2011

Beiträge: 5

Leider klappt das bei mir nicht. Die xorg.conf habe ich (bis auf Auflösungen) so wie Du, aber wenn ich xrandr ausführe stürzt der ganze Rechner ab. Eine Lösung ohne xrandr habe ich bisher auch nicht gefunden. Ich nehme mal an, dass das ein Bug ist, der ausgerechnet bei meinem Grafikkartenmodell auftritt.

adobert

(Themenstarter)

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

kimstebel schrieb:

Leider klappt das bei mir nicht. Die xorg.conf habe ich (bis auf Auflösungen) so wie Du, aber wenn ich xrandr ausführe stürzt der ganze Rechner ab.

Was gibt fglrxinfo und xrandr -q bei dir aus und wie sieht dein xrandr-Befehl zur Aktivierung der zwei Monitore aus?

Ich nehme mal an, dass das ein Bug ist, der ausgerechnet bei meinem Grafikkartenmodell auftritt.

Was hast du für eine Grafikkarte.

kimstebel

Anmeldungsdatum:
7. Mai 2011

Beiträge: 5

k@d:~$ fglrxinfo
Segmentation fault
k@d:~$ xrandr -q
Screen 0: minimum 320 x 200, current 2880 x 1024, maximum 8192 x 8192
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
   1600x900       60.0*+
   1440x900       59.9  
   1360x768       59.8     60.0  
   1152x864       60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 connected 1280x1024+1600+0 (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      75.0*    60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
k@d:~$ lspci | grep Radeon
01:00.0 VGA compatible controller: ATI Technologies Inc Manhattan [Mobility Radeon HD 5000 Series]

adobert

(Themenstarter)

Anmeldungsdatum:
2. Mai 2010

Beiträge: 37

k@d:~$ fglrxinfo
Segmentation fault

Da scheint fglrx nicht richtig installiert zu sein, oder er wird nicht richtig geladen. Kurzes googeln meint, dass die ATI Mobility der 5000er Serie durchaus unterstützt werden. Hast du den fglrx su den Packetquellen installiert oder hast du dir die Packete selber gebastelt?

Ich würde zunächst versuchen den fglrx komplett zu entfernen und auch das Verzeichnis /usr/lib/fglrx zu löschen und dann (ohne Neustart) neu zu installieren:

> aptitude purge fglrx fglrx-amdcccle

/usr/lib/fglrx löschen

> aptitude update
> aptitude install fglrx fglrx-amdcccle

Dann neu starten und nochmal gucken was fglrxinfo ausgibt.

kimstebel

Anmeldungsdatum:
7. Mai 2011

Beiträge: 5

Wenn ich nicht gerade daran herumbastel, ist der fglrx-Treiber natürlich nicht geladen, sondern der open source Treiber. Also noch einmal mit fglrx:

k@d:~$ lsmod | grep fglrx
fglrx                2434640  193 
k@d:~$ fglrxinfo
display: :0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon HD 5400 Series 
OpenGL version string: 4.1.10666 Compatibility Profile Context
Antworten |