I've just discovered that JACK actually works reasonably on OpenBSD without very much effort, which surprised me to no end. Running straight `jackd` was very stuttery (because of xruns), but after some experimenting I have settled on: /usr/local/bin/jackd -R -d sun -r 44100 -p 4096 -n 4 (44100 because audacity and hydrogen use that as a default sample rate, 4096 because 2048 was still stuttery sometimes)
Here is my audio card: azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x02: irq 7 azalia0: codec[s]: Realtek/0x0888 audio0 at azalia0 It works pretty well, but it's still not ideal, though. In playing a song with vlc+vlc-jack I noticed that it would click and pop sometimes. I looked at the song in Audacity and indeed it does get very near to +1.0 in the part where I hear the pops. However I killed jackd and ran vlc again on the same song and the pops were gone. So jackd must be overscaling, or perhaps BSD's oss underscales by default. I've been googling but no one seems to have this specific problem. Does anyone have any pointers? Another (more minor) problem is that I can't start jackd from. I can't run it from /etc/rc.local because it needs to be tied to a specific user (unless you use jackstart, appearently, but that didn't come in the package presumably because it's a linuxism). And anyway if I run jackd and the progams that use it in the wrong order or kill jackd and restart it underneath them or even sometimes (but not always). I've stuck it in a script for now, but does anyone have any clever ideas to make running jackd more convenient? Another problem is that switching windows sometimes makes the audio cut out for a moment. I was seeing this before I installed jackd too, but perhaps I can tweak jackd to avoid it? http://www.nabble.com/noise-during-playback-td9766320.html suggests you can either tweak your IRQs or run jackd with --realtime, but that you also need to increasing the mlock limit if you're not running jackd as root. I've found out how to increase the limit on Ubuntu but I can't figure it out for OpenBSD :(. -Nick p.s. By the way, what is libsndio? Is it an audio mixer in base, finally? I found a bunch of scattered posts about it and even the sio_open(3) man page in cvsweb but nothing that explains specifically what the goal is.