Focusrite Scarlett 4i4 surround 4.0 split to 2 stereo sinks, reconfigure profile
Matthew Barrera
I've updated my linux kernel to 5.15 on Ubuntu Studio and enabled the ALSA mixer to work with my Focusrite Scarlett 4i4 3rd Gen audio interface. The problem is, PulseAudio sees the device as 4.0 surround, when in reality it's for output to two different stereo devices like headphones and a studio monitor. I've looked into this, and before this is marked as a duplicate, I've adapted the solution from this question and ensured I did everything right. Adding the following lines to /etc/pulse/default.pa has worked:
load-module module-remap-sink sink-name=Scarlett4i4-12 sink_properties="device.description='Scarlett\ 4i4\ Output\ 1/2\ (Headphones)'" remix=no master=alsa_output.usb-Focusrite_Scarlett_4i4_USB_D883CN709870C3-00.analog-surround-40 channels=2 master_channel_map=front-left,front-right channel_map=front-left,front-right
load-module module-remap-sink sink-name=Scarlett4i4-34 sink_properties="device.description='Scarlett\ 4i4\ Output\ 3/4\ (Speakers)'" remix=no master=alsa_output.usb-Focusrite_Scarlett_4i4_USB_D883CN709870C3-00.analog-surround-40 channels=2 master_channel_map=rear-left,rear-right channel-map=front-left,front-rightThe problem is, the surround sink is still there. Ok, fine. I'll find the roots of the problem and stop it. The profiles of the card are listed below:
Profiles: input:multichannel-input: Multichannel Input (sinks: 0, sources: 1, priority: 1, available: yes) output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 1200, available: yes) output:analog-surround-40+input:multichannel-input: Analog Surround 4.0 Output + Multichannel Input (sinks: 1, sources: 1, priority: 1201, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes)Here's another problem: no inputs are listed in pavucontrol for my 4i4. Despite having a profile for multichannel input enabled, it's nowhere to be found. The only recording device is the built-in microphone. This is low-priority because I'll be using JACK to deal with recording anyway.
Back to my main issue, I've adapted and followed this answer to reconfigure the profile set for the Scarlett 4i4. It doesn't do what I want, it only combines everything to one 4 channel device. I've also configured the input in this profile as well, and it still doesn't show up. It's essentially the same as the default profile but with several things renamed. I'd like to use the profile method rather than the sink remapping method to create two different stereo sinks and map them to outputs 1/2 and 3/4 on the 4i4, and if possible, I'd also like to get the inputs working with separate sources for each channel, 1-4, and a stereo source for the loopback channels 5/6.
I'd really appreciate any help, I've spent two whole days working on this and typing out my process here as I go in case the time comes that I need help. The time is now.
1 Answer
I don't have a solution yet and would normally use a comment for this, but I don't have enough Karma for that yet.
My setup and problem is basically the same.
After messing around with PulseAudio and getting to the same point as you (additional devices just for the headphones/speakers, surround still there) I gave up on the PulseAudio front and switched to pipewire.
Pipewire works for me, however I still have to read into virtual devices to split the 4.0 device. Once I get that working, I'll update this answer. However, that might take me a few days.
Pipewire basically does the job of PulseAudio and Jack together, unifying them into a solution that's way easier to work with. Together with a GUI like Helvum or Catia, it's very easy to debug problems. Also, another pro for pipewire is EasyEffects, which is a very useful tool to improve your microphone recording.
I hope we'll be able to fix these problems together.
Edit 1:
Seems like I've found the problem.
There is a bug report on bugzilla which is very likely our problem as well. I'll try to revert my kernel to 5.10, however I think support for 3rd gen interfaces from focusrite was added in 5.13 which would obviously create problems.
In the meantime it'd be great if you could comment on that bug report as well, that way it'll get pushed higher. (That's at least according to a guy on a pipewire gitlab issue, that's where I've found this report.)
Basically, this isn't an issue with PulseAudio neither PipeWire, the problem stems from Alsa if I got it right. I can confirm that I had the same issue on PulseAudio and PipeWire. There's also a very ugly workaround to get it to work temporarily in that gitlab issue.
Edit 2:
I can happily report that this issue has been resolved by the new Kernel versions. My audio interface is finally working as intended, with more options than on Windows :D
This issue was a real blocker for my full switch to Linux, since using the microphone was impossible without jumping through a lot of hoops every time I reboot the pc/stop using the microphone. Now I can stay on Linux full time ^^