A solução que estou usando no momento está mudando o dispositivo padrão, criando o arquivo .asoundrc na minha pasta pessoal e adicionando o código: pcm.!default {type hw card 2}
Eu sei especificar o cartão 2 da saída quando eu corro: aplay -l
A saída é assim para mim:
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Headset [Cyborg F.R.E.Q.5 Gaming Headset], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Depois disso, eu recarreguei alsa com: sudo alsa reload
Os programas em execução ainda precisam ser reiniciados para mim, mas é um começo.
Eu uso este script estranho para trocar entre minhas duas cartas:
#!/bin/bash
currentSound=
cat currentSound
if [ "$currentSound" == "0" ]; then
echo "pcm.!default { type hw card 2}" > ~/.asoundrc
echo "2" > currentSound
echo "2"
else
echo "pcm.!default { type hw card 0}" > ~/.asoundrc
echo "0" > currentSound
echo "0"
fi
sudo alsa reload
Cria um arquivo que ele usa para saber o que precisa trocar para o próximo.
Não é como o pulseaudio, mas é tudo o que eu consegui fazer até agora.