Comprender la salida de sonido RC y HDMI

Comprender la salida de sonido RC y HDMI

Estoy ejecutando nixos en un lenovo x220t. Cuando inicia encuentra los parlantes analógicos y los muestra solo en alsamixer (o pavucontrol). Sin embargo, cuando estoy conectado a un monitor/TV HDMI puedo reproducir sonido a través de los altavoces, por ejemplo, mediante speaker-test -c 2 -D hw:0,3.

Con un poco de troleo por internet llegué a este script,

pcm.!default{
type plug
slave.pcm "hdmivol"
}

pcm.hdmi-playback{
type hw
card 0
device 3
}

pcm.hdmivol{
type softvol
slave.pcm "hdmi-playback"
control {
    name "Master"
    card 0
 }
}

que, si se llama, ~/.asoundrcejecutará el sonido a través de mi televisor/monitor hdmi. Pero para cambiar el paquete a mi computadora portátil, tengo que cambiar el nombre del script, cerrar sesión y volver a iniciarla.

Obviamente las cosas funcionan, pero no entiendo: 1. ¿Por qué puedo ver y usar todos los dispositivos directamente (por ejemplo, con la prueba de altavoz) pero alsamixer y pulseaudio no los "ven"? 2. ¿Alguien puede darnos una idea de la estructura del asoundrc? No avancé mucho con el manual y no tengo claro por qué este script tiene tres versiones del dispositivo refiriéndose entre sí. Y sospecho que hay una manera de especificar un alias para hw:0,0 y hw:0,3 que me permitiría alternarlos sin tener que cerrar sesión e iniciar sesión.

Gracias de antemano.

información relacionada