On 01/14/2014 10:30 AM, David Henningsson wrote: > Both these require some alsa-lib coding, so another option is still to > write a separate PulseAudio profile. :-) Here's an example of how such a profile could look like (attached, put this file in /usr/share/pulseaudio/alsa-mixer/profile-sets). I tested with the following row added somewhere in the middle of /lib/udev/rules.d/90-pulseaudio.rules: SUBSYSTEMS=="firewire", ENV{PULSE_PROFILE_SET}="multichannel.conf" ...but we might want a better match than just "firewire" in order not to catch the firewire speakers (if they have normal alsa mixers instead of hwdep control). Note to other PA developers: one could argue what channel map (aux channels or surround channels) to have for the multi channel devices. Since many applications support surround output, I went for the more pragmatic approach here. But it's not set in stone. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic -------------- next part -------------- # for generic multichannel devices. [General] auto-profiles = yes [Mapping 2-channels] device-strings = hw:%f channel-map = front-left,front-right description = 2 Channels priority = 2 [Mapping 4-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right description = 4 Channels priority = 4 [Mapping 6-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe description = 6 Channels priority = 6 [Mapping 8-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right description = 8 Channels priority = 8 [Mapping 10-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1 description = 10 Channels priority = 10 [Mapping 12-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3 description = 12 Channels priority = 12 [Mapping 14-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3,aux4,aux5 description = 14 Channels priority = 14 [Mapping 16-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7 description = 16 Channels priority = 16 [Mapping 18-channels] device-strings = hw:%f channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9 description = 18 Channels priority = 18