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, ~/.asoundrc
ejecutará 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.