Hi Tanu, Thanks for looking into this for me. On 2016-10-25 17:15:57, Tanu Kaskinen wrote: > If there are profiles with more channels, they will anyway be surround > oriented, but that's still better than having just a 2-channel sink > available. If such profiles aren't available, you'll have to write the > profile configuration yourself. Here are the existing profiles which did not look interesting: input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 60, available: yes) input:iec958-stereo: Digital Stereo (IEC958) Input (sinks: 0, sources: 1, priority: 55, available: yes) output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6000, available: yes) output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6060, available: yes) output:analog-stereo+input:iec958-stereo: Analog Stereo Output + Digital Stereo (IEC958) Input (sinks: 1, sources: 1, priority: 6055, available: yes) output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes) output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5560, available: yes) output:iec958-stereo+input:iec958-stereo: Digital Stereo Duplex (IEC958) (sinks: 1, sources: 1, priority: 5555, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) I had already looked through the user documentation and was not able to find <https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/> which appears to the relevant information. Should there be something in the faq? Anyways, I wrote the attached udev rule for my device, then /usr/share/pulseaudio/alsa-mixer/profile-sets/rme-babyface-pro.conf: [General] auto-profiles = no [Mapping headphone] device-strings = hw:%f channel-map = left,right paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic priority = 2 [Mapping speaker] device-strings = hw:%f channel-map = left,right paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic priority = 1 The device strings you get from `aplay -L`, right? I know there is no (alsa) mixer support for the device, so should I leave path-input blank or leave it out? How do I know what paths-output should be? There is a reference in the "pulseaudio paths" to /usr/share/lib/pulseaudio/alsa-mixer/paths which I don't have on my system. There is also no /proc/asound/card1/codec* files. The configuration (in pavucontrol) remains unchanged even after I `devadm control --reload-rules`, replug the device, and restart pulseaudio. In the debugging section it says `udevadm info -qall -p /sys/class/sound/card1` should tell me which profile is being used. What am I looking for specifically? P: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/sound/card1 E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/sound/card1 E: ID_BUS=usb E: ID_FOR_SEAT=sound-pci-0000_00_14_0-usb-0_6_1_0 E: ID_ID=usb-RME_Babyface_Pro__70793162__926E13156329DC8-00 E: ID_MODEL=Babyface_Pro__70793162_ E: ID_MODEL_ENC=Babyface\x20Pro\x20\x2870793162\x29 E: ID_MODEL_ID=3fb0 E: ID_PATH=pci-0000:00:14.0-usb-0:6:1.0 E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_6_1_0 E: ID_REVISION=0001 E: ID_SERIAL=RME_Babyface_Pro__70793162__926E13156329DC8 E: ID_SERIAL_SHORT=926E13156329DC8 E: ID_TYPE=audio E: ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device E: ID_USB_DRIVER=snd-usb-audio E: ID_USB_INTERFACES=:010120:010220:010300: E: ID_USB_INTERFACE_NUM=00 E: ID_USB_PROTOCOL_FROM_DATABASE=Interface Association E: ID_VENDOR=RME E: ID_VENDOR_ENC=RME E: ID_VENDOR_ID=2a39 E: SOUND_INITIALIZED=1 E: SUBSYSTEM=sound E: SYSTEMD_WANTS=sound.target E: TAGS=:systemd:seat: E: USEC_INITIALIZED=1139682166673 Is it not problematic that a customization has to live in /usr/share (opposed to /etc)? I don't get the whole /lib containing config files either but that is a different tree. > Once you have a 4-channel sink available, you'll need to use module- > remap-sink to create virtual stereo sinks on top of the 4-channel sink. > There's an example for doing that in the module-remap-sink > documentation: > > https://wiki.freedesktop.org/www/Software/PulseAudio/Documentation/User/Modules/#index12h3 With that suggestion, I think that I just need to use surround40:%f instead of hw:%f > It would be nice to be able to split multichannel sinks into multiple > stereo sinks in some more straightforward way, but currently such > feature doesn't exist. For pro-audio, I think the logical organization is a set of mono input, and a set of mono outputs, then user group those as needed. For me, it would be input 1 => microphone-1, 2 => microphone-2, 3 => keyboard-left, input 4 => keyboard-right, 5 through 11 => adat-input-1 through 8. You can run ADAT in double or quad speed in which case you only get 4 and 2 inputs respectively, or as two channel SPDIF. With output, it would be 1 => left, 2 => right, 3 => headphone-left, 3 => headphone-right, 5 through 11 => adat-output-1 through 8. /Allan -- Allan Wind Yaxto - Runs My Business <https://yaxto.com> -------------- next part -------------- SUBSYSTEM!="sound", GOTO="pulseaudio_end" ACTION!="change", GOTO="pulseaudio_end" KERNEL!="card*", GOTO="pulseaudio_end" SUBSYSTEMS!="usb", GOTO="pulseaudio_end" ATTRS{idVendor}=="2a39", ATTRS{idProduct}=="3fb0", ENV{PULSE_PROFILE_SET}="rme-babyface-pro.conf" LABEL="pulseaudio_end"