Ubuntu – For pulseaudio what does tsched do (and what are the defaults)


If I modify /etc/pulse/default.pa and change this line:

load-module module-udev-detect


load-module module-udev-detect tsched=0

I am clearly disabling tsched. Similarly if I change the line to,

load-module module-udev-detect tsched=yes

I am enabling tsched. Both of these are verifiable by running,

pactl list | grep tsched

And looking into documentation,

tsched Since 0.9.11. Use system-timer based model (aka glitch-free).
Defaults to 1 (enabled). If your hardware does not return accurate
timing information (e.g. Creative sound cards) you can try to set
tsched=0 to enable the interupt based timing which was used in 0.9.10
and before.

However I have two machines (different hardware), one which returns tsched=yes and one which does not.

Is the default really 1 (enabled/yes)? Is there a way to verify that it really is enabled if it doesn't show up in pactl? What (in hardware) decides if it really is enabled?

Best Answer

There is a nice (technical) discussion here :


What's Sequencer?

The role of sequencer =
Delivers events at the right time (sequence) to the right destination (device).

So this has to do with how the kernel manages your hardware , in this case your sound card. Some sound cards (commonly Intel ones) need real time sqeuencing.

The Arch Wiki's page on PulseAudio/Troubleshooting says:

The newer implementation of the PulseAudio sound server uses timer-based audio scheduling instead of the traditional, interrupt-driven approach.

Timer-based scheduling may expose issues in some ALSA drivers. On the other hand, other drivers might be glitchy without it on, so check to see what works on your system.

Related Question