How do you tune PD to run as fast as possible, in terms of dropout-free audio, on Linux?
- Run PD as sudo or root (or with an LSM-enabled kernel).
- Run with the -rt flag.
- Use the Realtime mode in JACK.
- Increase your buffer size in PD or your frames per period in Jack (at the cost of greater latency).
- Ditch Gnome/KDE and use something super-lightweight like Fluxbox.
- Avoid other graphical apps which frequently update onscreen.
- Make sure there is no IRQ conflicts between your graphics card, sound card and peripherals: http://tinyurl.com/7vhmc
- Using a shared-memory graphics card, such as the Intel chipset, is reported by RME to cause dropouts: http://tinyurl.com/dcdvk (Newer versions of the Intel chipset apparently don't have this problem.)
- Also look into your hard drive access times if any disk activity needs to happen during performance: http://tinyurl.com/cedtl
- Realtime, low latency kernel patches (does not apply to PPC achitecture!)
- Check out Linux Security Mode kernel patches to run RT as non-root.
- Don't use frequently-updated graphics in your patches (i.e. VU meters, visible arrays, number boxes connected to a fast stream of numbers, etc etc).
- Run one instance of pd -noaudio for your GUI, and use OSC to communicate with another instance of pd -nogui for your DSP. The poor man's multithreading! This will work best if you set the priority of the DSP-pd higher than the GUI-pd. For instance use the -rt flag only for pd -nogui. And of course a dual-cpu or dual-core system will help as well.
- Only start PD with as many OSS/ALSA/JACK channels as you need.
- Consider using -nodac/-noadc if audio input or output are not needed.
- Use PD devel 0.39 with the -cb_scheduler startup flag.
- Set the nice value of the xserver from -10 to 0 (on debian -10 seems to be the default). You can set it in /etc/X11/Xwrapper.config. This can reduce dropouts when changing windows or workspaces, for example. You could also renice PD to a better level in relation to X and other processes, or give "pd" priority over "pd-gui", as mentioned above.