My RME Fireface 802 is only being recognized as a two output channel device by PulseAudio while it has up to 22 input and output channels in class-compliant mode. All these channels can be accessed from ALSA (tested with Reaper and Bitwig). Yet, PulseAudio thinks of it as merely a stereo output device.
PulseAudio appears to be able to see more than 2 capture inputs using the input:multichannel-input sink
But this sink is only configured for 4 channels in /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
But your interface is not able to use the sink profile [Mapping multichannel-output]
I suspect this is because either that interface output channels have a different channel map, or ALSA has multiple mono/stereo subdevices
I suggest you check out the comment notes at the beginning of file /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf that explain how to create custom profiles
Check out this previous post to see how another user created surround sound profiles for a different audio interface - Pulseaudio custom profile for Focusrite 18i8
(and how to create the udev rule to load any custom profiles created)
and check some of the other custom profiles in folder /usr/share/pulseaudio/alsa-mixer/profile-sets/ to see other examples of surround and multiple stereo profiles
If the interface is not visible I would suspect the udev rule is working but the analog-surround-51 port mapping has incorrect settings for device-strings and/or channel map
please post more information about the ALSA subdevices and channels on the interface:
aplay -l && amixer -c2
I suggest you copy the previously detected PulseAudio profiles from /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf to /usr/share/pulseaudio/alsa-mixer/profile-sets/ rme-fireface802.conf to restore the original audio ports and profiles
The solution, not only to this specific audio interface but any sound card not properly communicating this to PulseAudio, was to use JACK via QjackCtl with the following script (needs adaption to your sound card and channel configuration):
Place this somewhere you like, make it executable and add it to QjackCtl as a post-start script under “Settings->Options”. This will create a 5.1 sink in PulseAudio that routes all your normal audio software’s output into JACK and from there to your sound card’s output.
The only other thing I had to configure in JACK was the input and output device under Settings->Advanced.
You can add QjackCtl to your session’s autostart so it’ll be there as soon as you log in. There’s also an option to start it minimized and to start the JACK server automatically upon starting QjackCtl, so you won’t have to manually interfere with it after setting it up.