Phonon uses snd_device_name_hint(-1, "pcm", &hints) to list ALSA's virtual devices. The function has existed since libasound 1.0.14. So in order to get Phonon to list the pulse device, one needs to put a hint section to .asoundrc, like this:
pcm.pulse {
type pulse
hint {
show on
description "PulseAudio"
}
}
However, the pulse plugin can't handle the hint field:
ALSA lib pcm_pulse.c:705:(_snd_pcm_pulse_open) Unknown field hint
I'm rather clueless about this hint stuff, so don't ask me for further details. Matthias Kretz, a Phonon developer from who I heard about this, hangs on #pulseaudio with nick Vir.
A workaround exists: create a wrapper device.
pcm.phononpulse {
type plug
slave.pcm {
type pulse
}
hint {
show on
description "PulseAudio"
}
}
Phonon (with xine backend) should eventually use pulseaudio natively, but currently it's disabled due to xine's unreliable pulse plugin.