You are not logged in.
Pages: 1
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-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
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 -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
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
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.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
Pages: 1