19 Mar 2008, 17:34

Compiz mit Xinerama unter Nvidia Karten

Share

Den composing Window Manager Compiz auf einem Xinerama Setup mit einer Nvidia Karte zum laufen zu bringen ist gar nicht so einfach, da es wohl bei der Verwendung von Xinerama und Composite zu einem Bug kommt der den Einsatz von Compiz verhindert. Wer dennoch nicht auf den zweiten Monitor verzichten will der kann anstelle von Xinerama das TwinView Feature der Nvidia Treiber benutzen. Diese stellen eine Xinerama kompatible Erweiterung da mit der dann auch Composing funktioniert.

Von einer funktionierenden Compiz Konfiguration für einen Monitor ausgehend müssen folgenden Punkte in der xorg.conf geändert bzw. ergänzt werden.

# Xinerama ausschalten
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
# Composing aktivieren, sollte schon aktiv sein
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "Device"
Identifier     "nvidia0"
Driver         "nvidia"
Option      "NoLogo" "True"
# BusID anpassen, siehe lspci
BusID       "PCI:2:0:0"
Screen      0
Option "RenderAccel"
# Die HWcursor und Cursor* Optionen können weggelassen werden
Option "HWcursor"
Option "CursorShadow"
Option "CursorShadowAlpha" "32"
Option "CursorShadowXOffset" "3"
Option "CursorShadowYOffset" "3"
# Falls GLX genutzt werden soll
Option "AllowGLXWithComposite" "True"
# Wichtig: Die TwinView Optionen
Option "TwinView" "True"
# Je nachdem ob der zweite Monitor rechts oder links steht hier LeftOf bzw. RightOf eintragen
Option "TwinViewOrientation" "LeftOf"
# Die MetaModes, jeweils der primäre Monitor und der sekundäre. In den meisten Fällen dürften das identische Paare sein
Option "MetaModes" "1280x1024,1280x1024;1280x1024;1024x768,1024x768;800x600,800x600"
# Falls der zweite Monitor über Edid keine brauchbaren Informationen liefert muss man die Werte von Hand eintragen
Option "SecondMonitorHorizSync" "UseEdidFreqs"
Option "SecondMonitorVertRefresh" "UseEdidFreqs"
EndSection
Section "Screen"
Identifier     "Screen0"
Device         "nvidia0"
Monitor        "monitor0"
DefaultDepth    24
SubSection     "Display"
Depth       24
Modes      "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
EndSection

Wenn dann nach einem Neustart des X-Servers alles funktioniert würde ich mir auf jeden Fall CCSM anschauen. Weitere Informationen zu Dual-Head Setups gibts im Gentoo Wiki.