You are not logged in.
Pages: 1
Topic closed
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
Post
sudo fuser -v /dev/snd/*
pactl list cards
pactl list sinks
pactl list sink-inputswhile reproducing
This could very much be a bug in which case you should either file one or check whether a report exists
Offline
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
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
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
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
Good to hear! So, where should we open a ticket for this? pipewire? or could it be an underlying alsa or kernel issue?
Offline
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 -lit'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
speaker-test -Dhw:0,3 -c2produces 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
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
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.servicePipewire 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
### **Step 1: Find Your HDMI Audio Device**
First, you need the specific name and hardware address of your HDMI audio output (sink).
1. List all audio sinks:
```
pactl list sinks
```
2. Find your HDMI device in the output. Note down the following properties:
* **Name:** e.g., `alsa_output.pci-0000_00_1f.3.hdmi-stereo`
* **alsa.card:** e.g., `"0"`
* **alsa.device:** e.g., `"3"`
-----
### **Step 2: Manually Test Your Device**
Next, we'll bypass PipeWire to find a format your hardware understands. We will test both 16-bit (`S16_LE`) and 32-bit (`S32_LE`) formats, as one of them will likely work.
*(Note: If you don't have `speaker-test`, it's part of the `alsa-utils` package. Install it with `sudo pacman -S alsa-utils`)*
1. Run `speaker-test` using the card and device numbers you found in Step 1.
```
# Test with 16-bit format
speaker-test -c 2 -D hw:0,3 -F S16_LE
# Test with 32-bit format
speaker-test -c 2 -D hw:0,3 -F S32_LE
```
2. Listen for a "front-left" / "front-right" voice from your display's speakers. When you hear sound, **make a note of which format (`S16_LE` or `S32_LE`) worked.**
read more
https://man.archlinux.org/man/speaker-test.1.en
https://gitlab.freedesktop.org/pipewire … ssues/4845
-----
### **Step 3: Create a Custom WirePlumber Rule**
Now we'll create a rule to force PipeWire to use the format that worked.
1. Create the necessary directory and a new configuration file:
```
mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
touch ~/.config/wireplumber/wireplumber.conf.d/99-hdmi-format-fix.conf
```
2. Open the file (`99-hdmi-format-fix.conf`) with your favorite editor and add the following.
* **Important:**
* Replace the `node.name` with the one you found in **Step 1**.
* Change `audio.format` to the value that worked for you in **Step 2**.
<!-- end list -->
```lua
-- Force a specific audio format for a problematic HDMI device
monitor.alsa.rules = [
{
matches = [
{
-- Replace this with the "Name:" you found in Step 1
node.name = "~alsa_output.pci-0000_00_1f.3.hdmi-stereo"
}
]
actions = {
update-props = {
-- Replace this with the format that worked in speaker-test ("S16LE" or "S32LE")
audio.format = "S16LE"
audio.channels = 2
audio.position = "FL,FR"
}
}
}
]
```
in our example
```
monitor.alsa.rules = [
{
matches = [
{
node.name = "alsa_output.*"
}
]
actions = {
update-props = {
audio.format = "S16LE"
audio.channels = 2
audio.position = "FL,FR"
}
}
}
]```
read more
https://wiki.archlinux.org/title/WirePlumber
-----
### **Step 4: Apply the Changes and Verify**
Finally, restart the audio services to load your new rule.
1. Restart PipeWire and WirePlumber:
```
systemctl --user restart pipewire pipewire-pulse wireplumber
```
2. Check the status to ensure they restarted cleanly:
```
systemctl --user status pipewire pipewire-pulse wireplumber
```
3. Verify the new property was applied. Replace the device name with your own:
```
pw-cli list-objects | grep -A 30 "alsa_output.pci-0000_00_1f.3.hdmi-stereo"
```
In the output for your device, you should see `audio.format = "S16LE"` (or whichever format you set).
Your HDMI audio should now work system-wide. Hope this helps\!
Offline
Moderator Note
This thread is almost 2 years old and OP has solved their issue.
Also a generic list of steps that isn't tailored to details OP posted is near useless .
Frankly, this looks very much like an AI post.
I might be wrong, so I'm giving you a 1 week ban to read https://wiki.archlinux.org/title/Code_of_conduct and https://wiki.archlinux.org/title/General_guidelines .
Closing this old thread.
Last edited by Lone_Wolf (2025-09-19 10:09:08)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Pages: 1
Topic closed