Personal tools
You are here: Home community PdWikiWiki optimize

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:
  • Using a shared-memory graphics card, such as the Intel chipset, is reported by RME to cause dropouts: (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:
  • 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.

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser