Complete switch to gdk_seat_* API
[terminatorX.git] / README.PERFORMANCE
1 Tuning terminatorX' performance
2 ===============================
3
4 There are several things you can do to improve terminatorX performance:
5
6 + Don't use fancy gtk+ themes
7 + Install suid root
8 + Compile an optimized binary
9 + Optimize your terminatorX setup
10
11 In Detail:
12
13 Don't use pixmapped nor other "fat" gtk+-themes
14 -----------------------------------------------
15
16 terminatorX involves quite some GUI activity, so it's desirable that drawing
17 happens fast. Some gtk+ engines can slow down drawing signifcantly.
18
19 2. Install suid root
20 --------------------
21
22 Note: Installing a program suid-root is always potentially dangerous. However,
23 a program needs special privileges to acquire realtime scheduling (which 
24 improves playback quality signifcantly). However, only when running suid-root
25 terminatorX can acquire realtime scheduling priorty to avoid buffer underruns
26 with low latency settings and the mouse motion events can be captured directly
27 from the hardware improving scratching precision.
28
29 When running setuid-root, terminatorX makes use of Linux' POSIX capabilities:
30 Right after start-up it acquires the CAP_SYS_NICE capabilty and accesses the
31 Linux input interface before dropping root privileges for good.
32
33 While the capabilities based approach seems much more secure than the approach
34 that was previously implemented, it might still be exploitable. So, for 100%
35 security you have to do without realtime scheduling and not install terminatorX
36 suid root.
37
38 3. Compile an optimized binary
39 ------------------------------
40
41 This issue is covered in the seperate INSTALL file. Setting good optimization
42 flags is a good idea although this step will proabably have the least effect
43 and the defaults should be reasonable.
44
45 4. Optimize your terminatorX setup
46 ----------------------------------
47
48 The default settings for the GUI updates provide good realtime feedback. This
49 may cause problems on slower machines or slow gtk+-themes. If the GUI-thread
50 causes dropouts in the audio-engine you should increase the Update-Delay value 
51 in the options dialog.