You are not logged in.

#1 2025-05-17 20:08:36

gh4ever
Member
Registered: 2010-12-14
Posts: 2

Pipewire + Nvidia only outputs audio on first device

I just set up Arch on a new PC and am having a strange issue with audio through my Nvidia GPU. The GPU has three monitors attached, and I would like audio to play through one of them.

pavucontrol sees "Digital Stereo (HDMI x) Output" for x=1,2,3, as various profiles for the HDA NVidia card. I would like audio to play on the HDMI 2 output. However, regardless of which profile I choose, audio only plays to a single, fixed monitor (HDMI 1). If I unplug monitors 1 and 3, audio is correctly routed to HDMI 2. This is still true when I plug back in monitors 1 and 3. Once again, though, regardless of which profile I pick in pavucontrol, audio will only be routed through (now) HDMI 2. This same behavior is reproduced by disabling monitors 1 and 3 through Gnome's display settings. Running

speaker-test -D hdmi:1,1 -c 2 --test wav

correctly outputs audio to HDMI 2, even before I do the whole rigamarole of disabling monitors 1 and 3. I'll also note that this post over on the Fedora forums seems to describe the exact same problem that I'm encountering, though when I choose the Pro Audio profile in pavucontrol (their proposed solution) I get no sound at all (regardless of whether I've unplugged monitors 1 and 3).

Here are the relevant parts of the outputs of some relevant commands. They were run with HDMI 2 as the profile set in pavucontrol and Gnome's settings, before I disabled monitors 1 and 3. The outputs are identical after disabling/renabling monitors 1 and 3, however (up to some changed sink #s, etc.).

$ pactl list sinks
Sink #362
	State: IDLE
	Name: alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1
	Description: HDA NVidia Digital Stereo (HDMI 2)
	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.pci-0000_01_00.1.hdmi-stereo-extra1.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA NVidia"
		alsa.class = "generic"
		alsa.components = "HDA:10de00ab,10de0000,00100100"
		alsa.device = "7"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "HDMI 1"
		alsa.long_card_name = "HDA NVidia at 0x88080000 irq 17"
		alsa.mixer_name = "Nvidia Generic HDMI"
		alsa.name = "NS39DF510NA19"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.sync.id = "00000000:00000000:00000000:00000000"
		api.alsa.card.longname = "HDA NVidia at 0x88080000 irq 17"
		api.alsa.card.name = "HDA NVidia"
		api.alsa.path = "hdmi:1,1"
		api.alsa.pcm.card = "1"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "5"
		device.api = "alsa"
		device.class = "sound"
		device.icon_name = "audio-card-analog"
		device.id = "53"
		device.profile.description = "Digital Stereo (HDMI 2)"
		device.profile.name = "hdmi-stereo-extra1"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		iec958.codecs = "[\"PCM\",\"AC3\",\"EAC3\"]"
		media.class = "Audio/Sink"
		device.description = "HDA NVidia"
		node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1"
		node.nick = "NS39DF510NA19"
		node.pause-on-idle = "false"
		object.path = "alsa:acp:NVidia:5:playback"
		port.group = "playback"
		priority.driver = "632"
		priority.session = "632"
		factory.id = "19"
		clock.quantum-limit = "8192"
		client.id = "47"
		node.driver = "true"
		node.loop.name = "data-loop.0"
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "111"
		object.serial = "362"
		node.max-latency = "16384/48000"
		api.alsa.period-size = "1024"
		api.alsa.period-num = "32"
		api.alsa.headroom = "0"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "1"
		api.alsa.split-enable = "true"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio1"
		api.dbus.ReserveDevice1.Priority = "-20"
		device.bus = "pci"
		device.bus_path = "pci-0000:01:00.1"
		device.enum.api = "udev"
		device.name = "alsa_card.pci-0000_01_00.1"
		device.nick = "HDA NVidia"
		device.plugged.usec = "5662275"
		device.product.id = "0x22e9"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
		device.vendor.id = "0x10de"
		device.vendor.name = "NVIDIA Corporation"
		spa.object.id = "4"
		device.string = "1"
	Ports:
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, availability group: Legacy 2, available)
	Active Port: hdmi-output-1
	Formats:
		pcm
		ac3-iec61937, format.rate = "{ \"min\": 32000, \"max\": 48000 }"
$ wpctl status
PipeWire 'pipewire-0'

Audio
 ├─ Devices:
 │      53. HDA NVidia                          [alsa]
 │      54. Yeti Stereo Microphone              [alsa]
 │      55. USB Camera                          [alsa]
 │      56. USB Audio                           [alsa]
 │      57. Built-in Audio                      [alsa]
 │  
 ├─ Sinks:
 │      38. Yeti Stereo Microphone Analog Stereo [vol: 0.00]
 │      43. USB Audio Front Headphones          [vol: 1.00]
 │      45. USB Audio S/PDIF Output             [vol: 1.00]
 │      67. USB Audio Speakers                  [vol: 1.00]
 │  *  111. HDA NVidia Digital Stereo (HDMI 2)  [vol: 1.00]
 │  
 ├─ Sources:
 │      44. USB Camera Analog Stereo            [vol: 1.00]
 │  *   46. Yeti Stereo Microphone Analog Stereo [vol: 1.00]
 │      68. USB Audio Microphone                [vol: 1.00]
 │      69. USB Audio Line Input                [vol: 1.00]
 │  
 ├─ Filters:
 │  
 └─ Streams:

Video
 ├─ Devices:
 │      65. USB Camera                          [v4l2]
 │      66. USB Camera                          [v4l2]
 │  
 ├─ Sinks:
 │  
 ├─ Sources:
 │  *   98. USB Camera (V4L2)                  
 │  
 ├─ Filters:
 │  
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1
         1. Audio/Source  alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_REV8-00.analog-stereo
$ sudo fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  (username)   1968 F.... wireplumber
/dev/snd/controlC1:  (username)   1968 F.... wireplumber
/dev/snd/controlC2:  (username)   1968 F.... wireplumber
/dev/snd/controlC3:  (username)   1967 F.... pipewire
                     (username)   1968 F.... wireplumber
/dev/snd/controlC4:  (username)   1968 F.... wireplumber
/dev/snd/seq:        (username)   1967 F.... pipewire

Offline

Board footer

Powered by FluxBB