Hi Fons, *
On 10/19/2011 12:43 AM, Fons Adriaensen wrote:
On Tue, Oct 18, 2011 at 05:46:12PM -0400, S. Massy
wrote:
Interesting page !
> I compiled the aloop module and it works fine, but when I try setting up
> the asoundrc as described, and use the device, I get.
> ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
> aplay: main:654: audio open error: Invalid argument
>
> Does anyone know what this uninformative error mean?
I don't.
> Has anybody ever
> had luck with a similar setup?
yes, aloop + alsa_in/alsa_out work just fine here since over a year.
I only use the snd-aloop module from the alsa-drivers. All other alsa
kernel stuff is from the original kernel.
The only problem is: the device needs to be closed during
suspend/resume; otherwise the systems hangs on resume. I've added
killall alsa_in alsa_out; kill -HUP `lsof -t /dev/snd/pcmC1D*`; and
restart commands to /etc/pm/sleep.d/ for that. I can't use `alsa
force-unload` because that'd kill jackd, too.
I get similar errors, except that the second one is
'Device or resource busy' instead of 'Invalid argument'.
The loopback devices 'ploop', 'cloop' can only be accessed by one
process at a time. If you try to start multiple processes accessing them
you'll get a 'Device or resource busy'. Maybe the device-order changed
with the aloop module being loaded during boot and your jackd is using
on it.. that happened to me at first.
Multiple clients can connect to -dLoopback to play/record via dmix.
jackd -d alsa -d hw:2
alsa_out -j ploop -dploop
aplay -dLoopback some_file.wav &
aplay -dLoopback some_other_file.wav &
The .asoundrc from the alsa-wiki, configures -dLoopback as default.
so `aplay some_file.wav` works just the same.
Maybe it's the dmix on top of all the rest.
I've seen
other cases where dmix wouldn't mix (pun not intended)
with its peers.
you must mean /selected peers/. I'm not one of them :-p
The .asoundrc from the page works fine without modifications:
http://alsa.opensrc.org/Jack_and_Loopback_device_as_Alsa-to-Jack_bridge#aso…
Cheers!
robin