[pulseaudio-discuss] Driver falls back to software volume

Tanu Kaskinen tanuk at iki.fi
Thu Dec 22 14:55:40 UTC 2016


On Wed, 2016-12-21 at 14:54 +0000, peterten01 at yahoo.com wrote:
> Hi,
> 
> I'd like to provide an ALSA driver which is designed to support
> pulseaudio by default (if that is possible).
> The driver works fine with aplay and alsamixer. It provides 6
> channels and volume controls.
> - One 'Master Playback Volume' (Mono)
> - One 'PCM Playback Volume' (6 channels)
> 
> However, when I want to add an alsa-sink in pulseaudio the hw volume
> is not used.
> 
> I call:
> pacmd load-module module-alsa-sink device=hw:2 control='MOST Mixer'

The control parameter is expected to be a volume (and/or switch)
element name, but according to your description there's no element
named "MOST Mixer".

If you don't want to use module-udev-detect for autodetection, I would
recommend loading module-alsa-card rather than module-alsa-sink. The
default configuration uses module-udev-detect, and that loads module-
alsa-card instances, so if you test with module-alsa-card, that will be
closer to how the end users will use the hardware.

If you load module-alsa-card (or change control="MOST Mixer" to
control=Master), you should get the Master volume in use, but the PCM
element will be ignored, because pulseaudio doesn't currently support
volume elements with more than 2 channels. If you want pulseaudio to
also control the PCM volume, you'll need to either add support for 6-
channel volume elements, or change the driver to split the PCM element
into separate PCM Front, PCM Rear, PCM Center and PCM LFE channels,
assuming that that's how the 6 channels are assigned to speaker
positions (the center and lfe channels could also be merged into a
single PCM CLFE element). Pulseaudio doesn't currently have
configuration for elements with these names, but adding the
configuration is easier than writing code for supporting 6-channel
elements.

-- 
Tanu

https://www.patreon.com/tanuk


More information about the pulseaudio-discuss mailing list