You are not logged in.
Hi, I'm having a lot of troubles lately... I'm trying to figure out how to let the HDMI Audio to work on my fresh Arch install.
Here's the current state of the machine:
1. Output of 'uname -a'
Linux archlinux-nuc 6.1.63-1-lts #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 12:45:57 +0000 x86_64 GNU/Linux 2. I have installed and enabled: pipewire, pipewire-pulse (both socket and service) and wireplumber
3. No errors are reported from 'journalctl -u' of the previous mentioned services
4. I have installed alsa-card-profiles, alsa-firmware, alsa-lib, alsa-plugins, alsa-tools, alsa-topology-conf, alsa-utils (and lib32 too)
5. Output of 'sudo lspci -nn | grep -i audio'
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)6. Output of 'cat /proc/asound/cards'
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xdf140000 irq 1297. Output of 'cat /proc/asound/card0/codec* | grep Codec'
Codec: Realtek ALC283
Codec: Intel Skylake HDMI8. Output of 'lsmod | grep -A2 snd_hda_intel'
snd_hda_intel 61440 4
usbhid 73728 0
i915 3211264 23
snd_intel_dspcfg 36864 3 snd_soc_avs,snd_hda_intel,snd_soc_skl
aesni_intel 393216 4
crypto_simd 16384 1 aesni_intel
--
snd_hda_codec 188416 8 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
ee1004 20480 0
snd_hda_core 118784 10 snd_hda_codec_generic,snd_soc_avs,snd_hda_codec_hdmi,snd_soc_hda_codec,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_soc_skl
rapl 16384 0
drm_buddy 20480 1 i915
--
snd_pcm 172032 9 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
8250_dw 24576 0
intel_pmc_bxt 16384 1 iTCO_wdt
--
snd 131072 23 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
btrtl 28672 1 btusb
intel_lpss 16384 1 intel_lpss_pci9. Output of 'pactl info'
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 536
Tile Size: 65472
User Name: angelo
Host Name: archlinux-nuc
Server Name: PulseAudio (on PipeWire 0.3.85)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH_3__sink
Default Source: alsa_input.pci-0000_00_1f.3.HiFi__hw_PCH__source
Cookie: 8ec6:732510. Output of 'pactl list sinks short'
382 alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH_8__sink PipeWire s32le 2ch 48000Hz SUSPENDED
383 alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH_7__sink PipeWire s32le 2ch 48000Hz SUSPENDED
384 alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH_3__sink PipeWire s32le 2ch 48000Hz SUSPENDED
385 alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH__sink PipeWire s32le 2ch 48000Hz SUSPENDED11. Output of 'wpctl status'
PipeWire 'pipewire-0' [0.3.85, angelo@archlinux-nuc, cookie:2395370277]
└─ Clients:
31. pipewire [0.3.85, angelo@archlinux-nuc, pid:534]
33. WirePlumber [0.3.85, angelo@archlinux-nuc, pid:533]
34. WirePlumber [export] [0.3.85, angelo@archlinux-nuc, pid:533]
63. xdg-desktop-portal-hyprland [0.3.85, angelo@archlinux-nuc, pid:696]
64. waybar [0.3.85, angelo@archlinux-nuc, pid:632]
76. Firefox [0.3.85, angelo@archlinux-nuc, pid:1061]
101. wpctl [0.3.85, angelo@archlinux-nuc, pid:6467]
Audio
├─ Devices:
│ 40. Built-in Audio [alsa]
│
├─ Sinks:
│ 44. Built-in Audio HDMI / DisplayPort 2 Output [vol: 1.15]
│ 92. Built-in Audio Headphones [vol: 1.00]
│ 99. Built-in Audio HDMI / DisplayPort 3 Output [vol: 1.00]
│ * 133. Built-in Audio HDMI / DisplayPort 1 Output [vol: 1.08]
│
├─ Sink endpoints:
│
├─ Sources:
│ * 132. Built-in Audio Headphones Stereo Microphone [vol: 1.00]
│
├─ Source endpoints:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
0. Audio/Sink alsa_output.pci-0000_00_1f.3.HiFi__hw_PCH_3__sink12. Output of 'aplay -lL'
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=PCH
HDA Intel PCH, ALC283 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, ALC283 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=PCH,DEV=0
HDA Intel PCH, PHILIPS FTV
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
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [PHILIPS FTV]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #013. Output of 'pactl list cards'
Card #40
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 0xdf140000 irq 129"
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 = "4920357"
device.product.id = "0x9d70"
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 = "40"
object.serial = "40"
object.path = "alsa:pcm:0"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xdf140000 irq 129"
alsa.driver_name = "snd_hda_intel"
device.string = "0"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
HiFi: Play HiFi quality Music (sinks: 4, sources: 1, priority: 8000, available: yes)
pro-audio: Pro Audio (sinks: 4, sources: 1, priority: 1, available: yes)
Active Profile: HiFi
Ports:
[Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 1300, latency offset: 0 usec, availability group: HDMI/DP,pcm=8, not available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=8"
device.icon_name = "video-display"
card.profile.port = "0"
Part of profile(s): HiFi
[Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 1200, latency offset: 0 usec, availability group: HDMI/DP,pcm=7, not available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=7"
device.icon_name = "video-display"
card.profile.port = "1"
Part of profile(s): HiFi
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 1100, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=3"
device.icon_name = "video-display"
card.profile.port = "2"
device.product.name = "PHILIPS FTV"
Part of profile(s): HiFi
[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, not available)
Properties:
port.type = "headphones"
port.availability-group = "Headphone"
device.icon_name = "audio-headphones"
card.profile.port = "3"
Part of profile(s): HiFi
[In] Mic: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, available)
Properties:
port.type = "mic"
port.availability-group = "Mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "4"
Part of profile(s): HiFi14. Output of 'sudo fuser -v /dev/snd/*' while playing a YouTube video on Firefox
USER PID ACCESS COMMAND
/dev/snd/controlC0: angelo 532 F.... pipewire
angelo 533 F.... wireplumber
/dev/snd/pcmC0D3p: angelo 532 F...m pipewire
/dev/snd/seq: angelo 532 F.... pipewire
I tried a lot of fixes, typed a million different commands and edited a gazillion config files.
These are the ones that have worked best:
1. Editing of the file '/usr/share/alsa/ucm2/HDA/HDA.conf' (Define.Use was an empty string before)
Syntax 6
Define.Use "3" # a non-empty string to use UCM configuration for HDA devices
Define.Done "" # a non-empty string to skip the end error
Define.AcpCardId "$${find-card:field=name,return=id,regex='^acp(|6[23x])$'}"
Define.DeviceMic "Mic"
If.dualcodec {
Condition {
Type String
Haystack "${CardLongName}"
Needle "DualCodecs"
}
True {
Define.Done y
Define.AcpCardId ""
Include.dual.File "/HDA/DualCodecs/DualCodecs.conf"
}
}
If.acp {
Condition {
Type String
Empty "${var:AcpCardId}"
}
False {
Define.Use y
Define.DeviceMic "Mic2"
}
}
If.use {
Condition {
Type String
Empty "${var:Use}"
}
False {
Define.Done y
SectionUseCase."HiFi" {
File "/HDA/HiFi.conf"
Comment "Play HiFi quality Music"
}
If.analog {
Condition {
Type ControlExists
Control "name='Master Playback Switch'"
}
True {
Include.init.File "/HDA/init.conf"
FixedBootSequence [
cset-new "name='Mic ACP LED Capture Switch' type=bool,count=1 off"
exec "-/sbin/modprobe snd_ctl_led"
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/attach:Mic ACP LED Capture Switch"
sysw "-/class/sound/ctl-led/mic/card${CardNumber}/detach:Capture Switch"
]
}
}
}
}
If.err {
Condition {
Type String
Empty "${var:Done}"
}
True.Error "UCM is not supported for this HDA model (${CardLongName})"
}2. Modprobe config file '/etc/modprobe.d/50-alsa.conf' (Everything is commented because nothing have 100% worked really)
# blacklist snd-intel8x0m
# blacklist snd_soc_skl
# options snd-hda-intel model=dell-headset-multi
# options snd-hda-intel model=generic
# options snd-hda-intel probe_mask=1
# options snd-hda-intel probe_mask=8
# options snd-hda-intel dmic_detect=0
# options snd-hda-intel snd-intel-dspcfg.dsp_driver=1
# options snd-hda-intel index=1,0
At the moment the only thing that seems to work fine is the headphone jack...
I also tried:
- To switch between the various HDMI Outputs using 'pavucontrol' (duh...)
- Raise all the possible volumes using 'alsamixer'
- Following the Arch Wiki HDMI Fix for Intel Cards
- An old fix (which gave me actually the best results) : Intel HDA PCH with No Sound
- To install both Debian 11 and 12 (which worked flawlessly) and Fedora 38 and 39 (which didn't work)
- Following another guide at this link
NOTE:
Following the Arch Wiki I tried to set the card0 device3 to default (since both 'speaker-test -Dplug:hdmi' and 'aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav' worked)
All of these config files were able to let the HDMI1 Output go away... leaving me with only 2 and 3 (which weren't working)
~/.asoundrc
pcm.!default {
type hw
card 0
device 3
}~/.asoundrc
defaults.pcm.card 0
defaults.pcm.device 3
defaults.ctl.card 0~/.asoundrc
pcm.!default {
type plug
slave.pcm "hdmi"
}Last edited by angelobdev (2023-11-23 11:22:21)
Offline
Drop all of these asoundrc's they are irrelevant for pipewire. Generally drop all of the adjustments you made so far.
You have a Philips TV, which actually came up with some detection issues in a thread which mandates you configure a certain sample rate on pipewire: https://bbs.archlinux.org/viewtopic.php … 1#p2126461
Offline
Drop all of these asoundrc's they are irrelevant for pipewire. Generally drop all of the adjustments you made so far.
You have a Philips TV, which actually came up with some detection issues in a thread which mandates you configure a certain sample rate on pipewire: https://bbs.archlinux.org/viewtopic.php … 1#p2126461
I love you.
I've been struggling with this for days!
Thanks!
Offline