Desktopeffekte unter KDE auf nvidia Quadro FX 880M
Wie ich letztens schrieb, habe ich mir ein Dell Precision 4500 Notebook gekauft. In dem Gerät ist als Grafikkarte eine nvidia Quadro FX 880M verbaut. Nach ersten Gehversuchen mit dem nouveau-Treiber entschied ich mich dann doch den properitären Treiber von NVidia zu verwenden. Die Leistungsunterschiede sind einfach zu krass.
Wie ich ebenfalls im letzten Post schrieb, gelang es mir nicht die Composit-Effekte (aka Desktop-Effekte) mittels OpenGL anzuschalten, was leider zu einer Lüfterdauernutzung dank XRender führte. Mir war völlig unklar, warum ich geniale 3D-Performance habe, aber die Arbeitsoberfläche nicht mitspielen wollte.
Die Lösung war recht einfach, allerdings muss man erstmal darauf kommen. Ich vermute dass das Problem entstand, weil ich meine ersten Composite-Versuche wie gesagt mit dem Noveau-Treiber gemachte hatte.
Ich fand in einem Forum den Tipp, kwin mal manuell zu starten:
<td>
<div class="bash codecolorer">
<span class="re2">KWIN_COMPOSE</span>=O kwin <span class="re5">--replace</span> <span class="sy0">&</span>amp;
</div>
</td>
</tr>
Dabei bekam ich folgende Meldung:
<td>
<div class="text codecolorer">
win(3910) KWin::Workspace::setupCompositing: KWin has detected that your OpenGL library is unsafe to use, falling back to XRender.<br /> kwin(3910): Failed to initialize compositing, compositing disabled
</div>
</td>
</tr>
Das konnte eigentlich nicht sein, hatte ich doch gerade in der xorg.conf noch alle möglichen Optionen aktiviert:
<td>
<div class="text codecolorer">
# nvidia-settings: X configuration file generated by nvidia-settings<br /> # nvidia-settings: version 260.19.29 (mockbuild@hephaestus.wilsonet.com) Thu Dec 16 04:43:59 EST 2010<br /> <br /> # nvidia-xconfig: X configuration file generated by nvidia-xconfig<br /> # nvidia-xconfig: version 260.19.36 (mockbuild@) Sat Jan 22 06:36:47 EST 2011<br /> # RPM Fusion - nvidia-xorg.conf<br /> #<br /> <br /> Section "ServerLayout"<br /> Identifier "Default Layout"<br /> Screen 0 "Screen0" 0 0<br /> InputDevice "Keyboard0" "CoreKeyboard"<br /> InputDevice "Mouse0" "CorePointer"<br /> Option "Xinerama" "0"<br /> EndSection<br /> <br /> Section "InputDevice"<br /> <br /> # generated from data in "/etc/sysconfig/keyboard"<br /> Identifier "Keyboard0"<br /> Driver "keyboard"<br /> Option "XkbLayout" "de"<br /> Option "XkbModel" "pc105"<br /> Option "XkbVariant" "nodeadkeys"<br /> EndSection<br /> <br /> Section "InputDevice"<br /> <br /> # generated from default<br /> Identifier "Mouse0"<br /> Driver "mouse"<br /> Option "Protocol" "auto"<br /> Option "Device" "/dev/input/mice"<br /> Option "Emulate3Buttons" "no"<br /> Option "ZAxisMapping" "4 5"<br /> EndSection<br /> <br /> Section "Monitor"<br /> Identifier "Monitor0"<br /> VendorName "Unknown"<br /> ModelName "LG Electronics W2443"<br /> HorizSync 30.0 - 83.0<br /> VertRefresh 56.0 - 75.0<br /> Option "DPMS"<br /> EndSection<br /> <br /> Section "Device"<br /> Identifier "Videocard0"<br /> Driver "nvidia"<br /> EndSection<br /> <br /> Section "Device"<br /> Identifier "Device0"<br /> Driver "nvidia"<br /> VendorName "NVIDIA Corporation"<br /> BoardName "Quadro FX 880M"<br /> Option "RenderAccel" "true"<br /> Option "AllowGLXWithComposite" "true"<br /> EndSection<br /> <br /> Section "Screen"<br /> Identifier "Default Screen"<br /> Device "Videocard0"<br /> Monitor "Monitor0"<br /> SubSection "Display"<br /> Modes "nvidia-auto-select"<br /> EndSubSection<br /> EndSection<br /> <br /> Section "Screen"<br /> Identifier "Screen0"<br /> Device "Device0"<br /> Monitor "Monitor0"<br /> DefaultDepth 24<br /> Option "TwinView" "1"<br /> Option "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1920+0, DFP-3: NULL"<br /> SubSection "Display"<br /> Depth 24<br /> EndSubSection<br /> EndSection<br /> <br /> Section "Extensions"<br /> Option "Composite" "Enabled"<br /> EndSection
</div>
</td>
</tr>
Den entscheidenden Hinweis fand ich dann aber in einem anderen Forum, nämlich die Config-Datei von KWin zu löschen:
<td>
<div class="text codecolorer">
mv ~/.kde/share/config/kwinrc ~/.kde/share/config/kwinrc1
</div>
</td>
</tr>
Im Anschluss sah es dann so aus:
<td>
<div class="bash codecolorer">
<span class="br0">[</span>ninan<span class="sy0">@</span>hawking ~<span class="br0">]</span>$ <span class="re2">KWIN_COMPOSE</span>=O kwin <span class="re5">--replace</span> <span class="sy0">&</span>amp;<br /> <span class="br0">[</span><span class="nu0">1</span><span class="br0">]</span> <span class="nu0">9806</span><br /> <span class="br0">[</span>ninan<span class="sy0">@</span>hawking ~<span class="br0">]</span>$ OpenGL vendor string: NVIDIA Corporation<br /> OpenGL renderer string: Quadro FX 880M<span class="sy0">/</span>PCI<span class="sy0">/</span>SSE2<br /> OpenGL version string: 3.3.0 NVIDIA 260.19.36<br /> OpenGL shading language version string: <span class="nu0">3.30</span> NVIDIA via Cg compiler<br /> Driver: NVIDIA<br /> Driver version: 260.19.36<br /> GPU class: Unknown<br /> OpenGL version: <span class="nu0">3.3</span><br /> GLSL version: <span class="nu0">3.30</span><br /> Linux kernel version: 2.6.35<br /> Direct rendering: <span class="kw2">yes</span><br /> Requires strict binding: no<br /> GLSL shaders: <span class="kw2">yes</span><br /> Texture NPOT support: <span class="kw2">yes</span>
</div>
</td>
</tr>
Und seitdem lebe ich in trauter Eintracht mit einem sehr hübschen KDE.