Em relação ao problema principal: eu substituí pcm.default assim:
pcm.dmixed {
type asym
playback.pcm {
# See plugin:dmix at http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
type dmix
ipc_key 5678293
ipc_perm 0660
ipc_gid audio
slave {
channels 6
pcm {
format S16_LE
rate 44100
type hw
card 0
device 0
subdevice 0
}
# Play with this value, if you get errors "unable to set buffer size" or "underrun occured"
# 4320 is effective minimum with hda-intel, but flash in firefox needs at least 5000.
buffer_size 5000
period_time 0
#period_size 512
#periods 2
}
}
capture.pcm {
type null
}
}
pcm.!default {
type plug
slave.pcm "dmixed"
}
Dê uma olhada nesta linha:
# 4320 is effective minimum with hda-intel, but flash in firefox needs at least 5000.
buffer_size 5000
Isso parece fazer o truque. Então finalmente consegui contornar isso sem criar dispositivos PCM adicionais.