[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
>
>
>