You are not logged in.

#1 2022-11-13 20:30:13

tcftbl
Member
Registered: 2021-06-24
Posts: 9

[SOLVED] Pipewire-pulse no sound on HDMI

Hi,

I'm having trouble with HDMI sound using pipewire. I get no audio with HDMI using pipewire as a replacement for pulseaudio. I've tested the HDMI with two different TVs and hdmi cables. Pulseaudio setup works correctly though. I've tested four different setups:

  • Full pipewire setup consisting of packages `pipewire-alsa`, `pipewire-pulse`, `pipewire-jack` and `wireplumber`. User services enabled are `pipewire` and `pipewire-pulse`. This setup works with laptop speakers and bluetooth headphones, but not with HDMI.

  • Pipewire alsa setup without `pipewire-pulse` package or user service. This setup works with HDMI when using proper settings in `.asoundrc` file.

  • Pulseaudio setup with `pulseaudio` and `pulseaudio-alsa` packages and `pulseaudio` user service running. With this setup I can change the profile to use HDMI with `pavucontrol` and it just works as expected.

  • Pure alsa setup. This works again with hdmi using the right `.asoundrc` file

This leads me to believe that there is something weird going on with `pipewire-pulse` as it doesn't work as the drop-in replacement it should. I've search this forum, the wiki, pipewire issues, and the internet for solutions, but haven't had much luck. I also find linux audio quite puzzling, which might be the reason why I haven't found a solution. I would appreciate if someone could point me to the right direction. Thanks in advance!

Last edited by tcftbl (2023-10-16 08:01:28)

Offline

#2 2022-11-13 21:00:04

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

Re: [SOLVED] Pipewire-pulse no sound on HDMI

Post

 sudo fuser -v /dev/snd/*
pactl list cards
pactl list sinks
pactl list sink-inputs

while reproducing

This could very much be a bug in which case you should either file one or check whether a report exists

Offline

#3 2022-11-14 23:06:49

tcftbl
Member
Registered: 2021-06-24
Posts: 9

Re: [SOLVED] Pipewire-pulse no sound on HDMI

Commands and outputs for pipewire playing an audio file over hdmi (sound not working):

$ sudo fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  tcftbl      616 F.... pipewire
                     tcftbl      617 F.... wireplumber
/dev/snd/pcmC0D7p:   tcftbl      616 F...m pipewire
/dev/snd/seq:        tcftbl      616 F.... pipewire
$ pactl list cards
Card #44
	Name: alsa_card.pci-0000_00_1f.3
	Driver: alsa
	Owner Module: n/a
	Properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "HDA Intel PCH at 0xe8248000 irq 163"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "hw:0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		device.api = "alsa"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1f.3"
		device.description = "Built-in Audio"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1f.3"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "10331412"
		device.product.id = "0x9d71"
		device.product.name = "Sunrise Point-LP HD Audio"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		media.class = "Audio/Device"
		factory.id = "14"
		client.id = "34"
		object.id = "43"
		object.serial = "44"
		object.path = "alsa:pcm:0"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xe8248000 irq 163"
		alsa.driver_name = "snd_hda_intel"
		device.string = "0"
	Profiles:
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
		output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
		output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
		output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5965, available: no)
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
		output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: yes)
		output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
		output:hdmi-stereo-extra3+input:analog-stereo: Digital Stereo (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
		output:hdmi-stereo-extra4+input:analog-stereo: Digital Stereo (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: yes)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
		output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround-extra3+input:analog-stereo: Digital Surround 5.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround71-extra3+input:analog-stereo: Digital Surround 7.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround-extra4+input:analog-stereo: Digital Surround 5.1 (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround71-extra4+input:analog-stereo: Digital Surround 7.1 (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: yes)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
		input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: yes)
		pro-audio: Pro Audio (sinks: 6, sources: 1, priority: 1, available: yes)
	Active Profile: output:hdmi-stereo-extra1
	Ports:
		analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, latency offset: 0 usec, availability group: Legacy 1, availability unknown)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 1"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "0"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4+input:analog-stereo
		analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability group: Legacy 2, not available)
			Properties:
				port.type = "mic"
				port.availability-group = "Legacy 2"
				device.icon_name = "audio-input-microphone"
				card.profile.port = "1"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4+input:analog-stereo
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability group: Legacy 3, availability unknown)
			Properties:
				port.type = "speaker"
				port.availability-group = "Legacy 3"
				device.icon_name = "audio-speakers"
				card.profile.port = "2"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 4, not available)
			Properties:
				port.type = "headphones"
				port.availability-group = "Legacy 4"
				device.icon_name = "audio-headphones"
				card.profile.port = "3"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 5, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 5"
				device.icon_name = "video-display"
				card.profile.port = "4"
			Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71, output:hdmi-surround71+input:analog-stereo
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 6, available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 6"
				device.icon_name = "video-display"
				card.profile.port = "5"
				device.product.name = "PHILIPS FTV"
			Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1, output:hdmi-surround-extra1+input:analog-stereo
		hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 7, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 7"
				device.icon_name = "video-display"
				card.profile.port = "6"
			Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2, output:hdmi-surround71-extra2+input:analog-stereo
		hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 8, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 8"
				device.icon_name = "video-display"
				card.profile.port = "7"
			Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3, output:hdmi-surround71-extra3+input:analog-stereo
		hdmi-output-4: HDMI / DisplayPort 5 (type: HDMI, priority: 5500, latency offset: 0 usec, availability group: Legacy 9, not available)
			Properties:
				port.type = "hdmi"
				port.availability-group = "Legacy 9"
				device.icon_name = "video-display"
				card.profile.port = "8"
			Part of profile(s): output:hdmi-stereo-extra4, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4, output:hdmi-surround71-extra4+input:analog-stereo
$ pactl list sinks
Sink #270
	State: RUNNING
	Name: alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1
	Description: Built-in Audio 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_00_1f.3.hdmi-stereo-extra1.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "7"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "HDMI 1"
		alsa.long_card_name = "HDA Intel PCH at 0xe8248000 irq 163"
		alsa.name = "PHILIPS FTV"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0xe8248000 irq 163"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "hdmi:0,1"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "12"
		device.api = "alsa"
		device.class = "sound"
		device.id = "43"
		device.profile.description = "Digital Stereo (HDMI 2)"
		device.profile.name = "hdmi-stereo-extra1"
		device.routes = "1"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Built-in Audio"
		node.name = "alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1"
		node.nick = "PHILIPS FTV"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:0:hdmi:0,1:playback"
		priority.driver = "632"
		priority.session = "632"
		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 = "50"
		object.serial = "270"
		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 = "0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1f.3"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1f.3"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "10331412"
		device.product.id = "0x9d71"
		device.product.name = "Sunrise Point-LP HD Audio"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "0"
	Ports:
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, availability group: Legacy 6, available)
	Active Port: hdmi-output-1
	Formats:
		pcm
$ pactl list sink-inputs
Sink Input #490
	Driver: PipeWire
	Owner Module: n/a
	Client: 489
	Sink: 270
	Sample Specification: float32le 2ch 44100Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32ne\""  format.rate = "44100"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	Buffer Latency: 0 usec
	Sink Latency: 0 usec
	Resample method: PipeWire
	Properties:
		media.type = "Audio"
		media.category = "Playback"
		node.name = "mpv"
		device.description = "mpv"
		application.name = "mpv"
		application.id = "mpv"
		application.icon_name = "mpv"
		node.always-process = "true"
		node.latency = "882/44100"
		node.rate = "1/44100"
		media.name = "test.mp3 - mpv"
		stream.is-live = "true"
		node.autoconnect = "true"
		node.want-driver = "true"
		media.class = "Stream/Output/Audio"
		adapt.follower.spa-node = ""
		object.register = "false"
		factory.id = "7"
		clock.quantum-limit = "8192"
		factory.mode = "split"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		client.id = "52"
		media.role = "music"
		object.id = "54"
		object.serial = "490"
		module-stream-restore.id = "sink-input-by-media-role:music"

Commands and output for pulseaudio playing an audio file over hdmi (sound works):

$ sudo fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  tcftbl      885 F.... pulseaudio
/dev/snd/pcmC0D7p:   tcftbl      885 F...m pulseaudio
$ pactl list cards
Card #0
	Name: alsa_card.pci-0000_00_1f.3
	Driver: module-alsa-card.c
	Owner Module: 6
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xe8248000 irq 166"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9d71"
		device.product.name = "Sunrise Point-LP HD Audio"
		device.form_factor = "internal"
		device.string = "0"
		device.description = "Built-in Audio"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 32833, available: yes)
		output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 39268, available: yes)
		output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 39333, available: yes)
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
		output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5965, available: yes)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: yes)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
		output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: yes)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 38468, available: yes)
		output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 38533, available: yes)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 33368, available: yes)
		output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 33433, available: yes)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: yes)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-stereo-extra3+input:analog-stereo: Digital Stereo (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: yes)
		output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround-extra3+input:analog-stereo: Digital Surround 5.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra3+input:analog-stereo: Digital Surround 7.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (sinks: 1, sources: 0, priority: 5700, available: no)
		output:hdmi-stereo-extra4+input:analog-stereo: Digital Stereo (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: yes)
		output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround-extra4+input:analog-stereo: Digital Surround 5.1 (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (sinks: 1, sources: 0, priority: 600, available: no)
		output:hdmi-surround71-extra4+input:analog-stereo: Digital Surround 7.1 (HDMI 5) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: output:hdmi-stereo-extra1
	Ports:
		analog-input-internal-mic: Internal Microphone (type: Mic, priority: 8900, latency offset: 0 usec, availability unknown)
			Properties:
				device.icon_name = "audio-input-microphone"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4+input:analog-stereo
		analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "audio-input-microphone"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4+input:analog-stereo
		analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability unknown)
			Properties:
				device.icon_name = "audio-speakers"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "audio-headphones"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71, output:hdmi-surround71+input:analog-stereo
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, available)
			Properties:
				device.icon_name = "video-display"
				device.product.name = "PHILIPS FTV"
			Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1, output:hdmi-surround-extra1+input:analog-stereo
		hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2, output:hdmi-surround71-extra2+input:analog-stereo
		hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3, output:hdmi-surround71-extra3+input:analog-stereo
		hdmi-output-4: HDMI / DisplayPort 5 (type: HDMI, priority: 5500, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra4, output:hdmi-stereo-extra4+input:analog-stereo, output:hdmi-surround-extra4, output:hdmi-surround-extra4+input:analog-stereo, output:hdmi-surround71-extra4, output:hdmi-surround71-extra4+input:analog-stereo
$ pactl list sinks
Sink #8
	State: RUNNING
	Name: alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1
	Description: Built-in Audio Digital Stereo (HDMI 2)
	Driver: module-alsa-card.c
	Sample Specification: s16le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 6
	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_00_1f.3.hdmi-stereo-extra1.monitor
	Latency: 60246 usec, configured 60000 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "PHILIPS FTV"
		alsa.id = "HDMI 1"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "7"
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0xe8248000 irq 166"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "9d71"
		device.product.name = "Sunrise Point-LP HD Audio"
		device.form_factor = "internal"
		device.string = "hdmi:0,1"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "hdmi-stereo-extra1"
		device.profile.description = "Digital Stereo (HDMI 2)"
		device.description = "Built-in Audio Digital Stereo (HDMI 2)"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Ports:
		hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, available)
	Active Port: hdmi-output-1
	Formats:
		pcm
$ pactl list sink-inputs
Sink Input #0
	Driver: protocol-native.c
	Owner Module: 8
	Client: 5
	Sink: 8
	Sample Specification: float32le 2ch 48000Hz
	Channel Map: front-left,front-right
	Format: pcm, format.sample_format = "\"float32le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
	Corked: no
	Mute: no
	Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
	        balance 0.00
	Buffer Latency: 77666 usec
	Sink Latency: 60242 usec
	Resample method: copy
	Properties:
		media.icon_name = "mpv"
		media.name = "test.mp3 - mpv"
		application.name = "mpv Media Player"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "35"
		application.process.id = "3598"
		application.process.user = "tcftbl"
		application.process.host = "thinkpad"
		application.process.binary = "mpv"
		application.language = "C"
		application.process.machine_id = "62c182b68a9b4529b0f895e97220ae0a"
		application.process.session_id = "1"
		application.icon_name = "mpv"
		module-stream-restore.id = "sink-input-by-application-name:mpv Media Player"

I can't make much of the output, but atleast it would seem that the pipewire setup detects the right output device "PHILIPS FTV".

Offline

#4 2023-01-22 19:43:41

derhagen
Member
Registered: 2023-01-22
Posts: 3

Re: [SOLVED] Pipewire-pulse no sound on HDMI

Fedora user on pipwire, here.
Interestingly, I also don't get HDMI audio on my Philips FTV. However, it works with other screens.

My TV shows up here:

pactl list cards 

but not here:

pactl list sinks

.

I've already opened a ticket at askfedora and tried to debug it somehow: https://ask.fedoraproject.org/t/make-pi … ange/20498

Not sure if it helps, somehow. Have you made any progress?

Offline

#5 2023-01-22 20:50:25

tcftbl
Member
Registered: 2021-06-24
Posts: 9

Re: [SOLVED] Pipewire-pulse no sound on HDMI

derhagen wrote:

Have you made any progress?

Unfortunately not much. However I ran across your post previously while troubleshooting and I realised that both TVs I had this issue with were Philips. I don't have any other devices to test this issue on right know, but I wouldn't be suprised if HDMI sound worked on a non-Philips TV.

I will post the results if I can find a different device to test this on. If it turns out that we have the same problem then this is probably an upstream issue and not Arch (or Fedora) specific.

Offline

#6 2023-01-31 18:00:54

tcftbl
Member
Registered: 2021-06-24
Posts: 9

Re: [SOLVED] Pipewire-pulse no sound on HDMI

I had the opportunity to test this issue with a non-Philips TV and HDMI sound works perfectly. Therefore this seems to be an upstream issue and not an issue with Arch (or Fedora).

Offline

#7 2023-02-01 08:10:43

derhagen
Member
Registered: 2023-01-22
Posts: 3

Re: [SOLVED] Pipewire-pulse no sound on HDMI

Good to hear! So, where should we open a ticket for this? pipewire? or could it be an underlying alsa or kernel issue?

Offline

#8 2023-02-01 08:25:46

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

Re: [SOLVED] Pipewire-pulse no sound on HDMI

If it works with pulseaudio or direct kernel access (don't play back anything sudo fuser -v /dev/snd/* should not list a pcm device) via

speaker-test -Dhw:0,3 #Replace with correct index as stated by aplay -l

it's likely a pipewire issue, but that it's that limited to a specific philips brand sounds weird. What I'd try first here is whether philips potentially advertises support for a a sampling rate it can't play back, maybe try configuring pipewire to default to 44100 instead of 48000 for the sampling rate: https://wiki.archlinux.org/title/PipeWi … ample_rate or the sample rate specifically for the hdmi card with e.g. wireplumber config https://pipewire.pages.freedesktop.org/ … /alsa.html

Offline

#9 2023-02-01 12:06:05

tcftbl
Member
Registered: 2021-06-24
Posts: 9

Re: [SOLVED] Pipewire-pulse no sound on HDMI

speaker-test -Dhw:0,3 -c2

produces a sound on a Philips TV on which pipewire setup doesn't work. I also tried changing the sample rate to 44100, but that had no effect.

Offline

#10 2023-02-06 11:16:56

derhagen
Member
Registered: 2023-01-22
Posts: 3

Re: [SOLVED] Pipewire-pulse no sound on HDMI

I opened an issue and already received a response from WT: https://gitlab.freedesktop.org/pipewire … ssues/3016

I'll give it a chance later this week. Keep me updated if you have any luck!

Offline

#11 2023-10-16 06:43:13

tcftbl
Member
Registered: 2021-06-24
Posts: 9

Re: [SOLVED] Pipewire-pulse no sound on HDMI

There was a fix posted to the upstream issue by derhagen which also works for me (thanks!). I'll summarize it here:

Copy /usr/share/wireplumber/main.lua.d/50-alsa-config.lua to ~/.config/wireplumber/main.lua.d/50-alsa-config.lua
Add this rule to alsa_monitor.rules:

  {
    matches = {
      {
        -- Matches PHILIPS FTV.
        { "alsa.name", "matches", "PHILIPS FTV" },
        { "node.name", "matches", "alsa_output.*" },
      }
    },
    apply_properties = {
      ["audio.format"]           = "S16LE",
      ["audio.channels"]         = 2,
      ["audio.position"]         = "FR,FL"
    },
  },

Lastly restart pipewire

systemctl --user restart pipewire.service

Pipewire needs to be restarted every time when plugging in the HDMI cable, so there might be a more complete solution out there. Alternatively one can just use 16bit audio with pipewire. Anyway this seems to be an issue with these specific TVs.

Last edited by tcftbl (2023-10-16 08:00:46)

Offline

Board footer

Powered by FluxBB