You are not logged in.

#1 2023-11-23 04:14:42

angelobdev
Member
Registered: 2023-11-23
Posts: 3

[SOLVED] No HDMI Audio on Philips TV (Intel HDA Sound)


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 129

7. Output of 'cat /proc/asound/card0/codec* | grep Codec'

Codec: Realtek ALC283
Codec: Intel Skylake HDMI

8. 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_pci

9. 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:7325

10. 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	SUSPENDED

11. 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__sink

12. 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 #0

13. 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): HiFi

14. 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

#2 2023-11-23 11:05:57

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,233

Re: [SOLVED] No HDMI Audio on Philips TV (Intel HDA Sound)

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

#3 2023-11-23 11:20:57

angelobdev
Member
Registered: 2023-11-23
Posts: 3

Re: [SOLVED] No HDMI Audio on Philips TV (Intel HDA Sound)

V1del wrote:

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

Board footer

Powered by FluxBB