Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / workspace / kwin / COMPOSITE_HOWTO
blobe300bb8166ecbfb91b91a73fe056f7e6641c841e
1 This file describes how to set up kwin_composite. Note that since it is still
2 a work in progress, this file may possibly get out of date at times.
5 See file HACKING for details on developing KWin, including building
6     the kwin_composite branch.
7 See file COMPOSITE_TODO for a list of things that still need to be done.
8 See effects/howto.* for a HOWTO on writting effects.
9 See documentation in source (mainly in scene.cpp) for description
10     of the design of the compositing framework.
12 After starting, KWin's debug output also says which compositing backend it uses, e.g.
13 "OpenGL compositing". If it does not, most probably your X is not configured properly.
15 nVidia:
16 ===========
18 8xxx drivers and newer work, only 9xxx and later drivers provide TFP (texture_from_pixmap)
19 functionality.
21 You need in xorg.conf (add to existing sections if they already exist)
23 Section "Screen"
24  Option "AddARGBGLXVisuals" "True"
25 EndSection
27 and also the XComposite extension enabled:
29 Section "Extensions"
30  Option "Composite" "Enable"
31 EndSection
33 Issues:
34 -------
36 When switching away from the X session KWin freezes in nvidia's OpenGL library
37     - turn off GLVSync option (see below)
38     - fixed with 100.14.23 drivers
39 TFP mode (see GLMode below) doesn't work with windows with certain sizes (32x32)
40     - already fixed in latest drivers
41 Refresh rate is slower than it should be
42     - nvidia drivers use refresh rate to work around some X limitations
43     - disable DynamicTwinView (see nvidia README)
44     - should(?) be fixed with drivers updated for xrandr1.2
45 AddARGBGLXVisuals option seems to work only with depth 24
46     - change your xorg.conf to use depth 24 (or use a configuration tool)
47 Xinerama works only when using TwinView, the Xinerama implementation provided by X.Org prevents compositing
49 check your X log (/var/log/X*.log) for warnings and errors if there are other problems
52 Intel:
53 =======
55 It should work with both the i810 and intel drivers.
57 You need in xorg.conf the XComposite extension enabled
58 (add to existing sections if they already exist):
60 Section "Extensions"
61  Option "Composite" "Enable"
62 EndSection
64 Also in xorg.conf, you need the DRI module loaded, and AIGLX needs to be enabled:
66 Section "Module"
67  Load "dri"
68 EndSection
69 Section "ServerFlags"
70  Option "AIGLX"
71 EndSection
73 DRI also needs some options in xorg.conf (they should be there by default):
75 Section "DRI"
76  Group "video"
77  Mode 0660
78 EndSection
80 For SHM, the following in xorg.conf may improve performance:
82 Section "Screen"
83  Option "XaaNoOffscreenPixmaps" "true"
84 EndSection
87 Issues:
88 -------
90 With the i810 driver, DRI works only on the first running X (if you use secondary X session,
91     compositing won't work there), the intel driver doesn't seem to have this problem.
92 You may get only white rectangles if DRI is not enabled or fails to initialize
93     - check your X log (/var/log/X*.log) and your xorg.conf
94 Window contents updating may not work properly in secondary X session (likely X/driver bug)
95 Xinerama does not work with the Xinerama implementation in X.Org
96     - you need to use solutions like MergedFB
98 check your X log (/var/log/X*.log) for warnings and errors if there are other problems
101 ATI:
102 ========
104 The radeon driver should work for R200 chips, it's worse with R300 chips.
105 The fglrx driver requires XGL for versions older than 8.42.3.
107 Refer to the Intel section, setting up should be similar.
111 Configuration options:
112 ======================
114 There is configuration module for most options. If you need to manually disable compositing,
115 use the following command:
116 kwriteconfig --file kwinrc --group Compositing --key Enabled --type bool false
118 ShowFPSEffect:
119 Options are in group [EffectShowFps] in kwinrc config file:
120 Alpha=<number 0.0-1.0> - transparency
121 X=<number> - X position, negative is from the right edge, -10000 is exactly right edge
122 Y=<number> = Y position, the same like X
125 Effects:
126 ========
128 Effects can be enabled/disabled in KConfig module accessible by right-clicking
129 on a window title, choosing "Configure Window Behaviour" and then
130 "Window Effects".