Weird pipewire virtual device issue

I’m having an annoying issue with pipewire. I have a Scarlett 8i6 audio interface. I have it set to Pro Audio so that I can access all the input and output channels, and I have virtual devices defined to allow applications to access groups of channels as discrete devices.

For some reason, all applications keep automatically switching to my secondary (mono) output. I can sometimes get them to switch to my primary stereo output, but it’s only ever a one-off and they will switch back when the current media is done playing. any thoughts?

config:


<span style="color:#323232;">context.modules = [
</span><span style="color:#323232;">    {   name = libpipewire-module-loopback
</span><span style="color:#323232;">        args = {
</span><span style="color:#323232;">            node.description = "Primary - Focusrite Scarlett 8i6"
</span><span style="color:#323232;">            capture.props = {
</span><span style="color:#323232;">                node.name = "scarlett_8i6_primary"
</span><span style="color:#323232;">                media.class = "Audio/Sink"
</span><span style="color:#323232;">                audio.position = [ FL FR ]
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">            playback.props = {
</span><span style="color:#323232;">                node.name = "playback.scarlett_8i6_primary"
</span><span style="color:#323232;">                audio.position = [ AUX0 AUX1 ]
</span><span style="color:#323232;">                target.object = "alsa_output.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-output-0"
</span><span style="color:#323232;">                stream.dont-remix = true
</span><span style="color:#323232;">                node.passive = true
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">    {   name = libpipewire-module-loopback
</span><span style="color:#323232;">        args = {
</span><span style="color:#323232;">            node.description = "Secondary (Mono) - Focusrite Scarlett 8i6"
</span><span style="color:#323232;">            capture.props = {
</span><span style="color:#323232;">                node.name = "scarlett_8i6_secondary"
</span><span style="color:#323232;">                media.class = "Audio/Sink"
</span><span style="color:#323232;">                audio.position = [ MONO ]
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">            playback.props = {
</span><span style="color:#323232;">                node.name = "playback.scarlett_8i6_secondary"
</span><span style="color:#323232;">                audio.position = [ AUX2 ]
</span><span style="color:#323232;">                target.object = "alsa_output.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-output-0"
</span><span style="color:#323232;">                stream.dont-remix = true
</span><span style="color:#323232;">                node.passive = true
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">    {   name = libpipewire-module-loopback
</span><span style="color:#323232;">        args = {
</span><span style="color:#323232;">            node.description = "Microphone - Focusrite Scarlett 8i6"
</span><span style="color:#323232;">            capture.props = {
</span><span style="color:#323232;">                node.name = "capture.scarlett_8i6_mic"
</span><span style="color:#323232;">                audio.position = [ AUX0 ]
</span><span style="color:#323232;">                stream.dont-remix = true
</span><span style="color:#323232;">                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
</span><span style="color:#323232;">                node.passive = true
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">            playback.props = {
</span><span style="color:#323232;">                node.name = "scarlett_8i6_mic"
</span><span style="color:#323232;">                media.class = "Audio/Source"
</span><span style="color:#323232;">                audio.position = [ MONO ]
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">    {   name = libpipewire-module-loopback
</span><span style="color:#323232;">        args = {
</span><span style="color:#323232;">            node.description = "Instrument - Focusrite Scarlett 8i6"
</span><span style="color:#323232;">            capture.props = {
</span><span style="color:#323232;">                node.name = "capture.scarlett_8i6_inst"
</span><span style="color:#323232;">                audio.position = [ AUX1 ]
</span><span style="color:#323232;">                stream.dont-remix = true
</span><span style="color:#323232;">                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
</span><span style="color:#323232;">                node.passive = true
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">            playback.props = {
</span><span style="color:#323232;">                node.name = "scarlett_8i6_inst"
</span><span style="color:#323232;">                media.class = "Audio/Source"
</span><span style="color:#323232;">                audio.position = [ MONO ]
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">    {   name = libpipewire-module-loopback
</span><span style="color:#323232;">        args = {
</span><span style="color:#323232;">            node.description = "Mix - Focusrite Scarlett 8i6"
</span><span style="color:#323232;">            capture.props = {
</span><span style="color:#323232;">                node.name = "capture.scarlett_8i6_mix"
</span><span style="color:#323232;">                audio.position = [ AUX2 AUX3 ]
</span><span style="color:#323232;">                stream.dont-remix = true
</span><span style="color:#323232;">                target.object = "alsa_input.usb-Focusrite_Scarlett_8i6_USB_F8CEK2H1B8391D-00.pro-input-0"
</span><span style="color:#323232;">                node.passive = true
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">            playback.props = {
</span><span style="color:#323232;">                node.name = "scarlett_8i6_mix"
</span><span style="color:#323232;">                media.class = "Audio/Source"
</span><span style="color:#323232;">                audio.position = [ FL FR ]
</span><span style="color:#323232;">            }
</span><span style="color:#323232;">        }
</span><span style="color:#323232;">    }
</span><span style="color:#323232;">]
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • fightinggames
  • All magazines