Hi @Philix!
Congrats on your new Scarlett 4i4 4th Gen! I hope I can point you in the right direction!
Regarding your mention of "use pro audio mode and jack" vs. "without pro audio mode and with alsa", it's essential to clarify that if you're using PipeWire, then you're always using the ALSA kernel driver regardless of the Pro Audio configuration (which is a PipeWire thing), and JACK doesn't come into play in this scenario.
Here's a breakdown of the pieces involved:
ALSA Kernel Driver: Constant across all configurations/combinations of Babyface, Scarlett, ALSA(API), JACK, PulseAudio, or PipeWire, this driver is what communicates with your audio hardware. It only supports one application at a time.
Sound Servers (PulseAudio, JACK, PipeWire): These allow multiple applications to use a sound device simultaneously.
PipeWire's Role: PipeWire implements the ALSA, PulseAudio, and JACK user-space APIs. So applications may think they're using one of these, but it's actually PipeWire handling the audio.
Your applications' path to the hardware looks like this:
Application → ALSA(userspace API) implemented by PipeWire → ALSA(kernel driver) → hardware
or this
Application → JACK(userspace API) implemented by PipeWire → ALSA(kernel driver) → hardware
or this
Application → PulseAudio(userspace API) implemented by PipeWire → ALSA(kernel driver) → hardware
So, any variation in latency in these cases is to do with the application or PipeWire or how it is using ALSA. If you're not seeing all the channels on your devices, then this is most easily fixed by selecting the Pro Audio configuration. Maybe there's another way to do this, but I don't know enough about PipeWire to say more.
In pavucontrol (interestingly, a PulseAudio app that doesn't realise that it's configuring PipeWire, not PulseAudio), selecting "Pro Audio" uses IRQ based scheduling for low latency, same as what you can get with JACK. For more on this, check the PipeWire FAQ.
Re. your specific questions:
Scarlett2 Mixer Driver: The mixer driver functions independently of any audio profile, including the Pro Audio profile. Its purpose is to configure the Scarlett's internal routing, mixing, and other settings. This functionality is separate from and unaffected by the process of audio data transfer managed by the ALSA USB sound driver.
Profiles and Channel Naming: The mixer driver does not influence the channel naming. As the playback and recording channels are arbitrarily reassignable (using the Scarlett2 Mixer Driver & alsa-scarlett-gui), PipeWire presenting them as "AUX0" to "AUX5" is appropriate, though starting from 1 might have made more sense.
Your questions are far from stupid — audio configuration in Linux can be complex! PipeWire + the Pro Audio profile is a massive improvement on how things were not so long ago though.
Also, if you're interested in testing the mixer driver, I'd love if you would reach out to me via email or private message and we can chat more.
Regards,
Geoffrey.