Problems with ALSA pcm_multi
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.