Real-Time Scheduling

On Linux, MPD attempts to configure real-time scheduling for some threads that benefit from it.

This is only possible you allow MPD to do it. This privilege is controlled by RLIMIT_RTPRIO RLIMIT_RTTIME. You can configure this privilege with ulimit before launching MPD:

ulimit -HS -r 50; mpd

Or you can use the prlimit program from the util-linux package:

prlimit --rtprio=50 --rttime=unlimited mpd

The systemd service file shipped with MPD comes with this setting.

This works only if the Linux kernel was compiled with CONFIG_RT_GROUP_SCHED disabled. Use the following command to check this option for your current kernel:

zgrep ^CONFIG_RT_GROUP_SCHED /proc/config.gz

Note

There is a rumor that real-time scheduling improves audio quality. That is not true. All it does is reduce the probability of skipping (audio buffer xruns) when the computer is under heavy load.