No stereo output with pipewire and external DAC

Hello.

Ever since I have migrated from pulseaudio to pipewire/wireplumber, my external DAC gives the same output signal on both Left/Right stereo channels. It did work before, so I know the driver supports it, in theory. I am using a Scarlett Solo 3 DAC. It is connected via USB. I am not looking to go back to pulseaudio, but to fix this issue. I have tried several options in the client.conf file of pipewire. I would appreciate some help, as I have not used pipewire before. I’ll put my system specs/relevant command outputs in the comments below, let me know if something is missing.

output from “wpctl status”:

PipeWire 'pipewire-0' [1.0.3, mrab@odin, cookie:3045753896]
└─ Clients:
31. pipewire                            [1.0.3, mrab@odin, pid:1001]
33. WirePlumber                         [1.0.3, mrab@odin, pid:1000]
34. WirePlumber [export]                [1.0.3, mrab@odin, pid:1000]
73. xdg-desktop-portal                  [1.0.3, mrab@odin, pid:1067]
74. Plasma PA                           [1.0.3, mrab@odin, pid:1231]
75. Chromium input                      [1.0.3, mrab@odin, pid:2261]
89. easyeffects                         [1.0.3, mrab@odin, pid:20637]
91. telegram-desktop                    [1.0.3, mrab@odin, pid:4521]
96. plasmashell                         [1.0.3, mrab@odin, pid:1231]
116. kwin_wayland                        [1.0.3, mrab@odin, pid:1057]
187. wpctl                               [1.0.3, mrab@odin, pid:22035]
190. Thunderbird                         [1.0.3, mrab@odin, pid:21654]

Audio
├─ Devices:
│      45. Yeti Stereo Microphone              [alsa]
│      46. Starship/Matisse HD Audio Controller [alsa]
│      47. Navi 21/23 HDMI/DP Audio Controller [alsa]
│      48. Scarlett Solo (3rd Gen.)            [alsa]
│
├─ Sinks:
│      32. Navi 21/23 HDMI/DP Audio Controller Digital Stereo (HDMI 4) [vol: 0.40]
│      49. Yeti Stereo Microphone Analog Stereo [vol: 1.00]
│      51. Starship/Matisse HD Audio Controller Digital Stereo (IEC958) [vol: 1.00]
│     120. Easy Effects Sink                   [vol: 1.00]
│  *  143. Scarlett Solo (3rd Gen.) Direct Scarlett Solo USB [vol: 1.00]
│
├─ Sink endpoints:
│
├─ Sources:
│  *   50. Yeti Stereo Microphone Analog Stereo [vol: 1.00]
│      52. Starship/Matisse HD Audio Controller Analog Stereo [vol: 1.00]
│      70. Easy Effects Source                 [vol: 1.00]
│     107. Scarlett Solo (3rd Gen.) Direct Scarlett Solo USB [vol: 1.00]
│
├─ Source endpoints:
│
└─ Streams:

Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
87. plasmashell
98. input_1         < kwin_wayland:output_1        [init]
97. kwin_wayland
82. output_1        > plasmashell:input_1  [init]

Settings
└─ Default Configured Node Names:
0. Audio/Sink    alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00.Direct__hw_USB__sink
1. Audio/Source  alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00.pro-input-0

output from “pactl list cards”:

Card #48
Name: alsa_card.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "3"
api.alsa.card.longname = "Focusrite Scarlett Solo USB at usb-0000:08:00.3-3, high speed"
api.alsa.card.name = "Scarlett Solo USB"
api.alsa.path = "hw:3"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio3"
device.api = "alsa"
device.bus = "usb"
device.bus-id = "usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00"
device.bus_path = "pci-0000:08:00.3-usb-0:3:1.0"
device.description = "Scarlett Solo (3rd Gen.)"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00"
device.nick = "Scarlett Solo USB"
device.plugged.usec = "8558210"
device.product.id = "0x8211"
device.product.name = "Scarlett Solo (3rd Gen.)"
device.serial = "Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-3/3-3:1.0/sound/card3"
device.vendor.id = "0x1235"
device.vendor.name = "Focusrite-Novation"
media.class = "Audio/Device"
factory.id = "14"
client.id = "34"
object.id = "48"
object.serial = "48"
object.path = "alsa:pcm:3"
alsa.card = "3"
alsa.card_name = "Scarlett Solo USB"
alsa.long_card_name = "Focusrite Scarlett Solo USB at usb-0000:08:00.3-3, high speed"
alsa.driver_name = "snd_usb_audio"
device.string = "3"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
HiFi: Default (sinks: 1, sources: 2, priority: 8000, available: yes)
Direct: Direct Scarlett Solo USB (sinks: 1, sources: 1, priority: 1, available: yes)
pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
Active Profile: Direct
Ports:
[Out] Direct: Direct Scarlett Solo USB (type: Unknown, priority: 1000, latency offset: 0 usec, availability unknown)
Properties:
port.type = "unknown"
device.icon_name = "audio-speakers"
card.profile.port = "0"
Part of profile(s): Direct
[In] Direct: Direct Scarlett Solo USB (type: Unknown, priority: 1000, latency offset: 0 usec, availability unknown)
Properties:
port.type = "unknown"
device.icon_name = "audio-input-microphone"
card.profile.port = "1"
Part of profile(s): Direct
[Out] Line1: Headphones / Line 1-2 (type: Line, priority: 200, latency offset: 0 usec, availability unknown)
Properties:
port.type = "line"
device.icon_name = "audio-speakers"
card.profile.port = "2"
Part of profile(s): HiFi
[In] Mic2: Input 2 Inst/Line (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "3"
Part of profile(s): HiFi
[In] Mic1: Input 1 Mic (type: Mic, priority: 200, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "4"

output from “pactl list sinks”:

Sink #1456
State: RUNNING
Name: alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00.Direct__hw_USB__sink
Description: Scarlett Solo (3rd Gen.) Direct Scarlett Solo USB
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00.Direct__hw_USB__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "3"
alsa.card_name = "Scarlett Solo USB"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "Focusrite Scarlett Solo USB at usb-0000:08:00.3-3, high speed"
alsa.mixer_device = "_ucm0007.hw:USB"
alsa.name = "USB Audio"
alsa.resolution_bits = "32"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "Focusrite Scarlett Solo USB at usb-0000:08:00.3-3, high speed"
api.alsa.card.name = "Scarlett Solo USB"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:USB"
api.alsa.pcm.card = "3"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "0"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "Direct Scarlett Solo USB"
device.profile.name = "Direct: hw:USB: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Scarlett Solo (3rd Gen.)"
node.name = "alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00.Direct__hw_USB__sink"
node.nick = "Scarlett Solo USB"
node.pause-on-idle = "false"
object.path = "alsa:pcm:3:hw:USB:playback"
priority.driver = "1000"
priority.session = "1000"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "143"
object.serial = "1456"
node.max-latency = "16384/48000"
api.alsa.period-size = "512"
api.alsa.period-num = "64"
api.alsa.headroom = "512"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "3"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio3"
device.bus = "usb"
device.bus-id = "usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00"
device.bus_path = "pci-0000:08:00.3-usb-0:3:1.0"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF-00"
device.nick = "Scarlett Solo USB"
device.plugged.usec = "8558210"
device.product.id = "0x8211"
device.product.name = "Scarlett Solo (3rd Gen.)"
device.serial = "Focusrite_Scarlett_Solo_USB_Y74NGH1012A1DF"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:08:00.3/usb3/3-3/3-3:1.0/sound/card3"
device.vendor.id = "0x1235"
device.vendor.name = "Focusrite-Novation"
device.string = "3"
Ports:
[Out] Direct: Direct Scarlett Solo USB (type: Unknown, priority: 1000, availability unknown)
Active Port: [Out] Direct
Formats:
pcm

Can you ckeck with Profile Pro Audio ?

is in the repos

I have tried all 3 modes, “Default”, “Direct Scarlett Solo USB” and “Pro Audio”. All three modes give the same behavior. For the GUI, all it allows me to do is toggle the settings of the hardware buttons via software.

Did you change the usb port you plug you external DAC in ?
i have also an usb DAC, and when i plug it in another usb input, there is no sound anymore, it’s not detected, even after rebooting.

I still do not know why and how to self-detect it, so i always plug it in the same port…

1 Like