HP EliteDesk 800 G4, HDMI/DP and no sound

Running Debian 12 on a HP EliteDesk 800 G4 with

00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)

Monitor connected via DP->HDMI and no sound?

aplay -l shows no HDMI cards:

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

dmesg shows:

snd_hda_codec_hdmi hdaudioC0D2: HDMI: pin NID 0x6 not registered

kernel cmdline options not working?

intel_iommu=on,igfx_off
snd_hda_intel.power_save=0
snd_hda_codec_hdmi.enable_silent_stream=0

Either

  • Install alsa-tools-gui,
  • start hdajackretask,
  • for codec, select ‘… HDMI’,
  • enable ‘show unconnected pins’,
  • override all entries with ‘HDMI / DP’,
  • ‘Install Boot Override’,
  • reboot.

Or generate the files by hand:

# cat /usr/lib/firmware/hda-jack-retask.fw
[codec]
0x8086280b 0x80860101 2

[pincfg]
0x05 0x18560070
0x06 0x18560070
0x07 0x18560070

# cat /etc/modprobe.d/hda-jack-retask.conf
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw
root@tv:~#

and reboot.

Check dmesg for

snd_hda_intel 0000:00:1f.3: Applying patch firmware 'hda-jack-retask.fw'

and that

snd_hda_codec_hdmi hdaudioC0D2: HDMI: pin NID 0x6 not registered

no longer shows.

Now aplay -l shows HDMI cards:

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20632 Analog [CX20632 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI-0]
  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

Start pavucontrol, under ‘Configuration’ select an available HDMI profile.