[PlanetCCRMA] SB Live (ca0106) and hundreds of xrun messages

David Slimp rock808@gmail.com
Tue Feb 7 14:48:01 2006


On 2/7/06, Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> wrote:
> On Tue, 2006-02-07 at 14:18 -0600, David Slimp wrote:
> > For the last few weeks I'd been playing with CCRMA and apps using the
> > built-in intel soundcard.  I decided to take advantage of my SL Live card,
> > but am getting hundreds of xrun messages.  Even trying to start jackd
> > from a pure command line login.
> >
> >
> > # cat /proc/asound/cards
> > 0 [CA0106         ]: CA0106 - CA0106
> >                      Live! 7.1 24bit [SB0410] at 0xb800 irq 22
>
> Hmmm, I don't know this particular "model" of the soundblaster. Beware
> that not all soundblasters are created equal, some are pretty bad, maybe
> this is one of them (I guess you could look up threads in the linux
> audio users mailing list, there have been quite a few).

Yes.... I've read that SOME models might be a lot like the
dreaded WinModems.  Since THIS model was only $30, I'd
not be too surprised.  Are there any tests you know to run to
see what the capabilities might or might not include?

I found the card on the ALSA site:
http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=Creative+Labs&card=Sound+Blaster+Live+7.1.&chip=SB0410%2C+P17&module=ca0106
It seems well supported, and no mention there of it being crippled.

I reworked my /etc/modprobe.conf (guess the FC3/CCRMA replacement
for /etc/modules.conf), and set mine up EXACTLY as they suggested:
========
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-ca0106
# module options should go here

# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0

# card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
=====

Not sure if it's important, but I notice there are no
lines like these, I used with my internal card:
============
options snd-intel8x0 index=0
install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 &&  
       /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ;
};          /sbin/modprobe -r --ignore-remove snd-intel8x0
==============

After another reboot (is there a way to get /etc/modules.conf re-read
without rebooting?), then I now seem to be able to run jackd from the
command line (in Gnome) without xruns:

]$ jackd -d alsa -d hw:0
jackd 0.99.36
Copyright 2001-2003 Paul Davis and others.
jackd 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 compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames, buffer = 2 periods
Couldn't open hw:0 for 32bit samples trying 24bit instead
Couldn't open hw:0 for 24bit samples trying 16bit instead
nperiods = 2 for capture
nperiods = 2 for playback

============================

However, qjackctl still gives hundreds:
=============
16:34:25.501 Patchbay deactivated.
16:34:25.576 Statistics reset.
16:34:25.581 Startup script...
16:34:25.582 artsshell -q terminate
16:34:25.669 MIDI connection graph change.
16:34:25.901 Startup script terminated with exit status=256.
16:34:25.901 JACK is starting...
16:34:25.901 /usr/bin/jackd -v -dalsa -dhw:0 -r48000 -p512 -n2
16:34:25.905 JACK was started with PID=5780 (0x1694).
16:34:26.106 MIDI connection change.
16:34:29.123 Server configuration saved to "/home/david/.jackdrc".
16:34:29.123 Statistics reset.
16:34:29.128 Client activated.
16:34:29.128 Audio connection change.
16:34:29.135 Audio connection graph change.
16:34:29.168 XRUN callback (1).
16:34:31.149 XRUN callback (97 skipped).
16:34:33.166 XRUN callback (99 skipped).
16:34:35.177 XRUN callback (99 skipped).
16:34:37.188 XRUN callback (99 skipped).
.....
============================

If I run the command given above, from the command line,
I get no xruns:
$ /usr/bin/jackd -v -dalsa -dhw:0 -r48000 -p512 -n2
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_dummy.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
jackd 0.99.36
Copyright 2001-2003 Paul Davis and others.
jackd 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 compiled with System V SHM support.
server `default' registered
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:0|hw:0|512|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 512 frames, buffer = 2 periods
Couldn't open hw:0 for 32bit samples trying 24bit instead
Couldn't open hw:0 for 24bit samples trying 16bit instead
nperiods = 2 for capture
nperiods = 2 for playback
5791 waiting for signals

============================

But still, after starting jack with either method...  After loading a song
with hydrogen, it refuses to start playing... where as it had been playing
just fine with the internal soundcard (working with jack).

I guess the biggest question at THIS point, is why all the xrun messages
with qjackctl ?  ... and it doesn't seem I get them running jack from the
command line?  -- or are they just not showing up?

Thanks,
David


>
> What parameters are you using to start jack?
>
> You could try changing the buffer size and number of periods (for
> example try with 512 instead of 1024). Another test you could do is to
> just use jackd as playback only instead of full duplex (just to test).
>
> -- Fernando
>
> > 1 [M1x1           ]: USB-Audio - Midisport 1x1
> >                      Midiman Midisport 1x1 at usb-0000:00:1d.2-2, full speed
>
>
>