hi!
sorry for warming up an older thread here...
On 12/16/2010 04:21 AM, Lee Azzarello wrote:
Hello, I'm looking for some advice for an
interesting symptom of
putting my M-Audio Fast Track Pro USB sound card into ALSA multi mode.
This sound card has four physical outputs which are mapped to two 2
channel ALSA streams rather than one four channel stream. I used the
ALSA multi plugin to combine these two streams into a single pcm
device so JACK can interface with all four outputs. It is working
nicely.
Despite no perceptible problems in sound quality or latency, jackd is
printing hundreds of XRUN callback warnings to the message console
each second! I can operate the system perfectly fine, run multiple
applications, connect them to the four virtual outputs with no audible
timing issues.
What is the meaning of this many XRUN callbacks per second? What kind
of performance will this impact if not sound playback?
i've just tried to link a hdspm (using faberman's driver) and an ancient
digi9652 into a monster 90 channel device.
my .asoundrc looks like this:
pcm.multi {
type multi;
# the hdspm: first 64 channels
slaves.a.pcm "hw:2,0";
slaves.a.channels 64;
# the digi9652: last 26 channels
slaves.b.pcm "hw:1,0";
slaves.b.channels 26;
bindings.0.slave a;
bindings.0.channel 0;
...
bindings.63.slave a;
bindings.63.channel 63;
bindings.65.slave b;
bindings.65.channel 0;
...
bindings.90.slave b;
bindings.90.channel 1;
}
ctl.multi {
type hw;
card 2;
}
the two cards are synced via wordclock at 48k, the hdspm is the master.
miraculously enough, i can actually start jack with this device:
22:06:48.259 ALSA connection graph change.
22:06:48.393 ALSA connection change.
22:11:42.707 JACK is starting...
22:11:42.708 /usr/local/bin/jackd -P80 -p2048 -t9999 -u -dalsa -dmulti
-r48000 -p1024 -n2 -zs
Cannot connect to server socket err = Connection refused
Cannot connect to server socket
jack server is not running or cannot be started
no message buffer overruns
no message buffer overruns
jackdmp 1.9.7
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2010 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 80
22:11:42.844 JACK was started with PID=28260.
creating alsa driver ... multi|multi|1024|2|48000|0|0|nomon|swmeter|-|32bit
Using ALSA driver HDSPM running on card 2 - RME MADI S/N 0xc62105 at
0xf9ff0000, irq 19
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
22:11:45.082 JACK connection change.
22:11:45.220 Server configuration saved to "/home/nettings/.jackdrc".
22:11:45.222 Statistics reset.
22:11:45.238 Client activated.
22:11:45.341 XRUN callback (1).
22:11:45.341 JACK connection graph change.
and like lee, i immediately get hundreds of "little xruns", i.e. the
type that qjackctl displays in parentheses. the "big" xrun count stays
at zero. meanwhile, i'm getting these errors in the log:
JackPosixMutex::Unlock res = 1
JackPosixMutex::Unlock res = 1
JackPosixMutex::Unlock res = 1
i had it crash once when loading a really demanding session, but with
another average ardour project, it has now played fine and without
glitches for 10 minutes or so, while the xrun count goes through the roof.
i wonder what's really going on here, but i'm also happy i can combine
those two cards which means i finally get a Grand Unified interface
without the need to restart jack, ever again :)
best,
jörn