You are not logged in.

#1 2022-01-02 22:21:11

x_driver
Member
Registered: 2019-02-05
Posts: 14

[SOLVED] Pipewire playback device default/selection

I'm trying to get pipewire to route audio to the HDA NVidia playback device.  Using the helvum GUI whenever an audio stream is started it is routed to HDA Intel PCH playback_AUX0 and playback_AUX1. From there I can manually "drag" the output to HDA NVidia playback_FL and playback_FR and the sound is output correctly.  Not sure what I need to change, something in ALSA or something in pipewire?

[htpc@htpc ~]$ aplay -lL
null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 3
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=4
    HDA NVidia, HDMI 4
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=5
    HDA NVidia, HDMI 5
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=6
    HDA NVidia, HDMI 6
    HDMI Audio Output
usbstream:CARD=NVidia
    HDA NVidia
    USB Stream Output
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front output / input
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    HDMI Audio Output
usbstream:CARD=PCH
    HDA Intel PCH
    USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 3: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Last edited by x_driver (2022-01-03 02:46:24)

Offline

#2 2022-01-02 23:02:08

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,840

Re: [SOLVED] Pipewire playback device default/selection

Tried changing the default device in a pulse client like pavucontrol/pactl?

Offline

#3 2022-01-02 23:12:50

x_driver
Member
Registered: 2019-02-05
Posts: 14

Re: [SOLVED] Pipewire playback device default/selection

I edited /etc/asound.conf to use the HDMI output as default.

Pulseaudio is not installed. Trying to figure out how to make it work with just ALSA and pipewire.

Trying to find/edit a conf file that has playback definitions.

Offline

#4 2022-01-03 01:03:28

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,840

Re: [SOLVED] Pipewire playback device default/selection

You don't want to do that. The ALSA conf should be what's provided by pipewire-alsa and nothing else.

Pavucontrol is not pulseaudio but pipewire in general uses pulse heuristics to select the default device so you can use pulse client/mixer utilities to manipulate which default device should be chosen.

If you want to do this with "just" pipewire, see https://gitlab.freedesktop.org/pipewire … ault-nodes for pipewire-media-session not sure what the relevant wireplumber equivalent would be

Last edited by V1del (2022-01-03 01:16:59)

Offline

#5 2022-01-03 01:10:44

x_driver
Member
Registered: 2019-02-05
Posts: 14

Re: [SOLVED] Pipewire playback device default/selection

Huh, had no idea. I'll mess around with it and report back. Thanks.

Offline

#6 2022-01-03 01:14:47

x_driver
Member
Registered: 2019-02-05
Posts: 14

Re: [SOLVED] Pipewire playback device default/selection

Do I need to install pipewire-pulse to access that utility?

Offline

#7 2022-01-03 01:17:43

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,840

Re: [SOLVED] Pipewire playback device default/selection

Yes, you'll likely want to install that anyway, since there are a load of clients with just pulse support.

Offline

#8 2022-01-03 02:45:39

x_driver
Member
Registered: 2019-02-05
Posts: 14

Re: [SOLVED] Pipewire playback device default/selection

V1del,

Installed pipewire-pulse as well as pavucontrol.  I was able to select the appropriate sound card and it works.  I never would have thought to install pipewire-pulse on a system that didn't use pulseaudio.  So now I'm able to have multiple applications running at the same time sharing the same audio device.  Thanks.

A few questions.

1.  Should I delete my asound.conf file where I defined a default device?

2.  If I need to make any future changes you're saying I should do it via the pipewire config files, not ALSA, correct?

Offline

#9 2022-01-03 03:06:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,840

Re: [SOLVED] Pipewire playback device default/selection

1. Yes, by creating a manual config any application still using standard ALSA for audio will bypass pipewire and lead to conflicts. Remove the config install pipewire-alsa instead which will correctly handle integration with pipewire

2. Yes. The point of the sound server is that it takes care of all audio clients and their relation to the actual audio cards. So pipewire needs to intercept whatever ALSA, pulse or jack clients are present and handle them via it's own system.

The main reason something like this has to happen because you normally can only have "one" application accessing any given sound card at a time. Pipewire/pulseaudio are sound server applications that take that job and then mix multiple audio streams into a single sound stream that gets passed to the card.

Last edited by V1del (2022-01-03 03:14:05)

Offline

Board footer

Powered by FluxBB