File: README.PERFORMANCE

package info (click to toggle)
terminatorx 4.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 4,344 kB
  • sloc: cpp: 13,085; ansic: 3,738; sh: 1,263; makefile: 128; xml: 113; awk: 3
file content (51 lines) | stat: -rw-r--r-- 2,045 bytes parent folder | download | duplicates (2)
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
Tuning terminatorX' performance
===============================

There are several things you can do to improve terminatorX performance:

+ Don't use fancy gtk+ themes
+ Install suid root
+ Compile an optimized binary
+ Optimize your terminatorX setup

In Detail:

Don't use pixmapped nor other "fat" gtk+-themes
-----------------------------------------------

terminatorX involves quite some GUI activity, so it's desirable that drawing
happens fast. Some gtk+ engines can slow down drawing signifcantly.

2. Install suid root
--------------------

Note: Installing a program suid-root is always potentially dangerous. However,
a program needs special privileges to acquire realtime scheduling (which 
improves playback quality signifcantly). However, only when running suid-root
terminatorX can acquire realtime scheduling priorty to avoid buffer underruns
with low latency settings and the mouse motion events can be captured directly
from the hardware improving scratching precision.

When running setuid-root, terminatorX makes use of Linux' POSIX capabilities:
Right after start-up it acquires the CAP_SYS_NICE capabilty and accesses the
Linux input interface before dropping root privileges for good.

While the capabilities based approach seems much more secure than the approach
that was previously implemented, it might still be exploitable. So, for 100%
security you have to do without realtime scheduling and not install terminatorX
suid root.

3. Compile an optimized binary
------------------------------

This issue is covered in the seperate INSTALL file. Setting good optimization
flags is a good idea although this step will proabably have the least effect
and the defaults should be reasonable.

4. Optimize your terminatorX setup
----------------------------------

The default settings for the GUI updates provide good realtime feedback. This
may cause problems on slower machines or slow gtk+-themes. If the GUI-thread
causes dropouts in the audio-engine you should increase the Update-Delay value 
in the options dialog.