You are not logged in.
I'm trying to play audio through HDMI. My Dell laptop doesn't have an HDMI port, so I use an adapter to USB-C.
pacman -Qs pipewire
----
local/libpipewire 1:1.2.7-1
Low-latency audio/video router and processor - client library
local/libwireplumber 0.5.8-1
Session / policy manager implementation for PipeWire - client library
local/pipewire 1:1.2.7-1
Low-latency audio/video router and processor
local/pipewire-alsa 1:1.2.7-1
Low-latency audio/video router and processor - ALSA configuration
local/pipewire-audio 1:1.2.7-1
Low-latency audio/video router and processor - Audio support
local/pipewire-jack 1:1.2.7-1
Low-latency audio/video router and processor - JACK replacement
local/pipewire-session-manager 1:1.2.7-1
Session manager for PipeWire (default provider)
local/qemu-audio-pipewire 9.2.0-2
QEMU PipeWire audio driver
local/wireplumber 0.5.8-1
Session / policy manager implementation for PipeWireThe HDMI device `hdmi:0` is visible:
aplay -L
-----
null
Discard all samples (playback) or generate zero samples (capture)
pipewire
PipeWire Sound Server
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=PCH
HDA Intel PCH, ALC3271 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, ALC3271 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, HDTV
HDMI Audio Output
hdmi:CARD=PCH,DEV=1
HDA Intel PCH, HDMI 1
HDMI Audio Output
hdmi:CARD=PCH,DEV=2
HDA Intel PCH, HDMI 2
HDMI Audio Output
hdmi:CARD=PCH,DEV=3
HDA Intel PCH, HDMI 3
HDMI Audio OutputTest with `speaker-test -Dhdmi:0 -c2` also works as expected.
However, the relevant audio output of WirePlumber is:
wpctl status
-----
Audio
├─ Devices:
│ 42. Built-in Audio [alsa]
│
├─ Sinks:
│ * 51. Built-in Audio Analog Stereo [vol: 0.60]
│
├─ Sources:
│ * 52. Built-in Audio Analog Stereo [vol: 1.00 MUTED]
│
├─ Filters:
│
└─ Streams:No HDMI. Indeed:
wpctl inspect 51
-----
id 51, type PipeWire:Interface:Node
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.class = "generic"
alsa.components = "HDA:10ec0299,10280a5c,00100002 HDA:80862812,80860101,00100000"
alsa.device = "0"
alsa.driver_name = "snd_hda_intel"
alsa.id = "ALC3271 Analog"
alsa.long_card_name = "HDA Intel PCH at 0x6079288000 irq 197"
alsa.mixer_name = "Realtek ALC3271"
alsa.name = "ALC3271 Analog"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "HDA Intel PCH at 0x6079288000 irq 197"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.path = "front:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "7"
* client.id = "41"
clock.quantum-limit = "8192"
device.api = "alsa"
device.class = "sound"
* device.id = "42"
device.profile.description = "Analog Stereo"
device.profile.name = "analog-stereo"
device.routes = "2"
* factory.id = "19"
factory.name = "api.alsa.pcm.sink"
library.name = "audioconvert/libspa-audioconvert"
* media.class = "Audio/Sink"
* node.description = "Built-in Audio Analog Stereo"
node.driver = "true"
node.loop.name = "data-loop.0"
* node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
* node.nick = "ALC3271 Analog"
node.pause-on-idle = "false"
* object.path = "alsa:acp:PCH:7:playback"
* object.serial = "51"
port.group = "playback"
* priority.driver = "1009"
* priority.session = "1009"As you can see, this is `hw:0`, not `hdmi:0`. Do you have any ideas? Laptop audio output also works.
Last edited by Gargantuar (2025-06-24 19:50:28)
Offline
It's part of the same card and thus if it's being differentiated it's going to be a separate profile or port. Check
pactl list cards
pactl list sinksif you find your hdmi under the profiles use
pactl set-card-profile $cardname $profilenameor
pactl set-sink-port $sinkname $portnamerespectively.
Offline
Sry for the late reply.
Thanks, the first options via profiles worked (`output:hdmi-stereo`). I still have two questions:
1. Is it possible to do this with `wpctl` only instead of `pactl`?
2. Is it possible to automate this upon plugging in an HDMI cable? (I'm using sway, btw.)
Offline
It is much simpler to do this with pactl because you can use actual sink names instead of indices, don't make this a hill to die on. Yes you could use wpctl, but since it doesn't support sink names you need to identify the correct id every time you're attempting to run wpctl.
Once set, this should™ be remembered, is it not?
Last edited by V1del (2025-06-25 00:51:41)
Offline
Once set, this should™️ be remembered, is it not?
You're right, it does.
Offline