Desktopeffekte unter KDE auf nvidia Quadro FX 880M

5 minute read Published:

Dieser Artikel stammt aus meinen früheren Wordpress-Instanzen und steht hier aus Gründen der Nostalgie.

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:

1
KWIN_COMPOSE=O kwin --replace &

Dabei bekam ich folgende Meldung:

1
2
win(3910) KWin::Workspace::setupCompositing: KWin has detected that your OpenGL library is unsafe to use, falling back to XRender.
kwin(3910): Failed to initialize compositing, compositing disabled

Das konnte eigentlich nicht sein, hatte ich doch gerade in der xorg.conf noch alle möglichen Optionen aktiviert:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 260.19.29  (mockbuild@hephaestus.wilsonet.com)  Thu Dec 16 04:43:59 EST 2010

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 260.19.36  (mockbuild@)  Sat Jan 22 06:36:47 EST 2011
# RPM Fusion - nvidia-xorg.conf
#

Section "ServerLayout"
Identifier     "Default Layout"
Screen      0  "Screen0" 0 0
InputDevice    "Keyboard0" "CoreKeyboard"
InputDevice    "Mouse0" "CorePointer"
Option         "Xinerama" "0"
EndSection

Section "InputDevice"

# generated from data in "/etc/sysconfig/keyboard"
Identifier     "Keyboard0"
Driver         "keyboard"
Option         "XkbLayout" "de"
Option         "XkbModel" "pc105"
Option         "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"

# generated from default
Identifier     "Mouse0"
Driver         "mouse"
Option         "Protocol" "auto"
Option         "Device" "/dev/input/mice"
Option         "Emulate3Buttons" "no"
Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
Identifier     "Monitor0"
VendorName     "Unknown"
ModelName      "LG Electronics W2443"
HorizSync       30.0 - 83.0
VertRefresh     56.0 - 75.0
Option         "DPMS"
EndSection

Section "Device"
Identifier     "Videocard0"
Driver         "nvidia"
EndSection

Section "Device"
Identifier     "Device0"
Driver         "nvidia"
VendorName     "NVIDIA Corporation"
BoardName      "Quadro FX 880M"
Option         "RenderAccel" "true"
Option         "AllowGLXWithComposite" "true"
EndSection

Section "Screen"
Identifier     "Default Screen"
Device         "Videocard0"
Monitor        "Monitor0"
SubSection     "Display"
Modes      "nvidia-auto-select"
EndSubSection
EndSection

Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "Monitor0"
DefaultDepth    24
Option         "TwinView" "1"
Option         "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1920+0, DFP-3: NULL"
SubSection     "Display"
Depth       24
EndSubSection
EndSection

Section "Extensions"
Option        "Composite" "Enabled"
EndSection

Den entscheidenden Hinweis fand ich dann aber in einem anderen Forum, nämlich die Config-Datei von KWin zu löschen:

1
mv ~/.kde/share/config/kwinrc ~/.kde/share/config/kwinrc1

Im Anschluss sah es dann so aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[ninan@hawking ~]$ KWIN_COMPOSE=O kwin --replace &
[1] 9806
[ninan@hawking ~]$ OpenGL vendor string:                   NVIDIA Corporation
OpenGL renderer string:                 Quadro FX 880M/PCI/SSE2
OpenGL version string:                  3.3.0 NVIDIA 260.19.36
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler
Driver:                                 NVIDIA
Driver version:                         260.19.36
GPU class:                              Unknown
OpenGL version:                         3.3
GLSL version:                           3.30
Linux kernel version:                   2.6.35
Direct rendering:                       yes
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes

Und seitdem lebe ich in trauter Eintracht mit einem sehr hübschen KDE.