Problems with ALSA pcm_multi


Index

The ALSA pcm_multi plugin provides a means of using multiple sound cards with applications requiring a single audio interface (eg. JACK). Here's an example .asoundrc file showing how to use it. Unfortunately pcm_multi has a few problems that need to be worked around.


Duplex Operation Doesn't Work with JACK and Some Versions of ALSA

A change was made in alsa-lib-1.0.9rc1 which had the unintended effect of preventing pcm_multi from working with jackd in duplex mode, ie. only the virtual capture or playback device could be started, not both at the same time. Here's a patch for alsa-lib versions 1.0.10 to 1.0.13 which works around the problem in those versions. It was fixed in 1.0.14.


Realtime (-rt) Kernel Doesn't Work with pcm_multi and JACK

Users may also have problems using the -rt kernel with pcm_multi. Many versions of the -rt kernel give lots of xruns or even lock up completely when using pcm_multi with jackd, even though they work fine with a single sound card. For the time being, users of pcm_multi are likely to get better results with a non-rt kernel with CONFIG_PREEMPT=y.


Applications Report Lots of xruns

There is some kind of interaction between jackd and pcm_multi which causes some JACK clients to report lots of xruns even though alsa_pcm doesn't report any and there is nothing audibly wrong. JAMin, for example does this, and some qjackctl users have reported it too. This is inconvenient but appears to be harmless (on my own system, anyway). Users should still watch out for xrun messages from alsa_pcm, which indicate real xruns.

Index       Contact

Last updated Dec 21 2008