PA or not, this is somewhat getting back to the original question: how can we get a
reliable index assignment on startup with several soundcards.
I'm not using PA, but mostly because I noticed that it uses (much) more CPU with many
desktop applications, due to resampling I was told.
I have an internal HDA, an nvidia graphics chip, a nanokontrol and a UA-25.
The latter both use snd-usb, though one obviously cannot produce sound.
The nvidia chip seems to expose an audio device (?) handled by a snd-hda-intel module, as
does the snd-hda-intel soundchip. Although the first one cannot produce sound.
So I would like the following order to be maintained to have desktop applications adress a
working soundcard and to have the UA-25 always at the same index for JACK.
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfbff8000 irq 32
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfde7c000 irq 16
2 [UA25 ]: USB-Audio - UA-25
EDIROL UA-25 at usb-0000:00:1d.0-1, full speed
3 [nanoKONTROL ]: USB-Audio - nanoKONTROL
KORG INC. nanoKONTROL at usb-0000:00:1d.0-2, full speed
The way I found after some trials with module inits was:
1) in /etc/modprobe.conf:
options snd-hda-intel index=0
options snd-usb-audio index=2
This fortunately always puts the UA-25 at index 2. However, the first option does not
work, since the nanokontrol seems to get recognized before the HDA device and it is often
sitting on index 0.
So I found that adding
snd_hda_intel
to /etc/modprobe.preload does the job, this way the intel module appears before the usb
module...
Now my question is: is there any better way to do this? Is there a way to distinguish
further than only by the module name for the index? How could this be solved more
generally?
I guess PulseAudio has the goal to handle such issues, and once it gets there without side
effects, this seems an important goal. But if I understand right, it does it by id
attribution in a layer on top of this. If it's only that index shuffling, why
can't alsa or the kernel be more predictable? BTW when I tried PA here together with
JACK, the device reservation worked very well.
Frank