How do I refer to a soundcard so that the name always works?
The precise order in which a Linux system discovers any soundcards can
vary each time the machine is rebooted. This is particularly true of USB
devices. The device that used to be hw:0
can become hw:1
after a
reboot, or vice versa. Fortunately, you don’t need to use names like
this, and can instead use a form that isn’t dependent on the order that
the Linux discovers your soundcards.
First, in a terminal window, run this command:
cat /proc/asound/cards
.
You’ll see output a bit like this:
0 [SB ]: HDA-Intel - HDA ATI SB
HDA ATI SB at 0xfcef8000 irq 16
1 [DSP ]: H-DSP - Hammerfall DSP
RME Hammerfall DSP + Digiface at 0xfcff0000, irq 20
2 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfe57c000 irq 32
The “name” of each soundcard is in square brackets.
With this information, you can now refer to a particular device as, for
example hw:DSP
(for the RME Hammerfall DSP in the above example.
Even if the devices end up re-ordered for any reason, hw:DSP
will
still refer to the same device.
The one case where this fails is if you have multiple instances of the same type of soundcard. This is a much trickier situation to deal with and is covered in detail here.
Where do I use this name?
You can type it into the device name selector in the upper left of
qjacktl’s setup dialog. You can use it as the argument to the -d
flag
of JACK’s ALSA backend (e.g. jackd -d alsa -d hw:DSP
.