Pipewire and external DAC

Had moved from Pulse to Pipewire and loving so far… up until the latest update broke the audio, well, not entirely since internal audio works, but not the external DAC in this case.

A quick look shows that both Pulse and Pipewire are working fine:

● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled)
     Active: active (running) since Sat 2022-09-24 08:22:15 CDT; 10min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1505 (pipewire)
      Tasks: 2 (limit: 38034)
     Memory: 6.8M
        CPU: 778ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1505 /usr/bin/pipewire

Sep 24 08:22:15 titan systemd[1270]: Started PipeWire Multimedia Service.

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: enabled)
     Active: active (running) since Sat 2022-09-24 08:22:15 CDT; 10min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1507 (pipewire-pulse)
      Tasks: 2 (limit: 38034)
     Memory: 3.7M
        CPU: 1.135s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─1507 /usr/bin/pipewire-pulse

Sep 24 08:22:15 titan systemd[1270]: Started PipeWire PulseAudio.
Sep 24 08:22:15 titan pipewire-pulse[1511]: 536870912

However, sound is not audible on the DAC, even after selecting the right card with alsamixer.
aplay -l shows:

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ES [Schiit Unison Modius ES], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

So, the DAC is detected but there’s no sound being sent to it.
Should I nuke and reinstall Pipe or is there anything else I’m missing here…

Here’s the installed packages as well:

extra/gst-plugin-pipewire 1:0.3.58-1 [installed]
extra/pipewire 1:0.3.58-1 [installed]
extra/pipewire-alsa 1:0.3.58-1 [installed]
extra/pipewire-jack 1:0.3.58-1 [installed]
extra/pipewire-pulse 1:0.3.58-1 [installed]
extra/wireplumber 0.4.11-4 [installed]
community/easyeffects 6.3.0-1 [installed]
community/qpwgraph 0.3.5-1 [installed]

pactl info:

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 72
Tile Size: 65472
User Name: xulin
Host Name: titan
Server Name: PulseAudio (on PipeWire 0.3.58)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Schiit_Audio_Schiit_Unison_Modius_ES-00.iec958-stereo
Default Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Cookie: ba39:0505

SOLVED: Re-installing Pipewire did the trick.

This is a kernel bug not Pipewire, there should be a fix relatively soon

kernel 5.19.8 should work fine

EDIT

nice, so does that mean youre on the latest kernel and usb audio isnt broken?

Hi,
I am newbee in EOS just jump from W11 to EOS as daly driver Alienware Area 51m with i9-9900K, RTX2080, 64GB HyperX, 2x 512GB Samsung 970Pro, 1x 1.0GB Samsung 870Evo, Alienware AW2721D.
I tried many distros and only Manjaro and EOS run on A51m perfectly and fastest the on W11, but i have issue with external USB sound card EPOS/Sannheiser GSX1200Pro pure hardware 7.1 DAC.
I have sound, however channels are not match standard, FL is on CL, FR is on CR, FC in on FL, CL and CR are on correct positions, RL and RR are on RC and RC is on RR.
Suported samples:
Main audio:
7.1: 44.1 kHz @ 16 bit
7.1: 48.0 kHz @ 16 bit
Main Audio HD:
2.0: 44.1 kHz @ 16 bit
2.0: 48.0 kHz @ 16 bit
2.0: 96.0 kHz @ 24 bit
Communication Audio:
1.0: 16.0 kHz @ 16 bit

I find solution for Manjaro with PulseAudio and traied some experimets but it led to reinstall whole EOS.
There are outputs:
[alien@ware ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC215 Analog [ALC215 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [Dell AW2721D ]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [GSX 1200 Pro Main Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Audio [GSX 1200 Pro Main Audio], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0

[alien@ware ~]$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 18991
Tile Size: 65472
User Name: alien
Host Name: ware
Server Name: PulseAudio (on PipeWire 0.3.58)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Sennheiser_GSX_1200_Pro_Main_Audio_A001970203203688-00.an
alog-output-surround71
Default Source: alsa_input.usb-Sennheiser_GSX_1200_Pro_Main_Audio_A001970203203688-00.a
nalog-chat-input
Cookie: c7a6:1c35
[alien@ware ~]$

I don’t want give up because of this issue and jump to Manjaro which running with PulseAudio so I am researching any sources information how to fix 7.1 channels and correct them to right positions.
If somebody have ideas pls share with me Ill test it and share result.
Thanks

future of gaming is on EOS (Arch Linux)

I find SOLUTION
to fix channels mapping for DAC external soundcard Sennhaiser GSX1200Pro 7.1
Source come from PulseAudio which already support Sennhaiser GSX1000 and GSX1200Pro 7.1
The Pipewire was develop for main reason to replace PulseAudio and I doubted about, that developers will not take in account products from Sennhaiser DACs because is it high quality German product and is it pure real 7.1 channels and need not any drivers and has many abilities for playing games and giving huge advantage mainly in multiplayer games particularity with Sennhaiser or EPOS headphones. (Some can say that is cheating hardware, my opinion - Yes it is, you have huge advantage in sound against windows players and who is not use this DAC).
PIPEWIRE included support also for GSX1000 and GSX1200Pro however is not working for GSX1200Pro because has probably different channel mapping.

Solution:

  1. open with nano or with Kate sennheiser-gsx.conf in

    /etc/usr/share/alsa-card-profile/mixer/profile-sets/sennheiser-gsx.conf

  2. read all text and find:
    [Mapping analog-output-surround71]

  3. replace line with this correct mapping:

    channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right,side-left,side-right

    or use # to stop use incorrect line to use it, and create new line and copy there correct mapping

  4. save file

  5. restart comp

  6. test it with:
    1st test
    speaker-test -c 8
    2nd test - go to Configure Audio Devices and test 7.1
    3rd test - LST 3D Surround Sound Test HD || Use Headphones - YouTube

That is it :+1: :wink:

It is work perfectly with GSX1200Pro 7.1, now i hear exactly and clearly positions all opponents in any games.
Bonus - with this solution knob on GSX1200Pro will behave as GAIN independently.

Study, research and patience has always positive outcome.

Newbie Marshal - Alien@ware

1 Like

Correct. Using the latest kernel version and re-installing pipewire did it for me. Weird.

Still not working for me, stuck on 5.19.8 for the moment. Should be fixed for 6.0 though