I think I solved the problem with my Framework laptop and Linux intermittent HDMI audio.
(update) I did not.
Actually not a problem with Framework or Fedora 35 Linux, but with the KVM switch.
(update) maybe not the KVM switch…
Connecting the Framework HDMI and USB directly to the receiver seems to have solved the problem.
(update) Still having intermittent problems. Maybe caused by the receiver (Denon AVR-X4000 circa 2013) because I cycled power on it (unplugged) and HDMI audio started working again.
“TESmart Updated HDMI KVM Switcher2x1 4K@60Hz 18Gbps, HDR10, Dolby Vision, Dolby/DTS, HDCP2.2, 2 Computer to 1 Monitor/TV × 1”
1 Like
Update: HDMI audio disconnect is reproducible by changing PulseAudio configuration from Digital Stereo (working) to 5.1 Digital Surround, then back to Digital Stereo (not working).
To get the audio working again requires the HDMI cable disconnected and/or the computer restarted.
(I don’t know what the following message is telling me but it doesn’t look good)
dmesg | grep snd
…
[ 4.563847] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 4.563916] snd_hda_intel 0000:00:1f.3: enabling device (0000 → 0002)
[ 4.564266] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.676223] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC295: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 4.676229] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 4.676232] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 4.676234] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 4.676235] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 4.676237] snd_hda_codec_realtek hdaudioC0D0: Headset Mic=0x19
[ 4.676239] snd_hda_codec_realtek hdaudioC0D0: Headphone Mic=0x1a
[ 4.676241] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12
[ 5.377549] snd_hda_codec_hdmi hdaudioC0D2: Monitor plugged-in, Failed to power up codec ret=[-13]
[ 5294.703213] snd_hda_intel 0000:00:1f.3: Unstable LPIB (352800 >= 176400); disabling LPIB delay counting
…
This error message leads me to believe the audio problem is related to DRM.
dmesg | grep i915
…
[ 1.880586] i915 0000:00:02.0: [drm] VT-d active for gfx access
[ 1.880592] fb0: switching to i915 from EFI VGA
[ 1.880673] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 1.880711] i915 0000:00:02.0: [drm] Transparent Hugepage mode ‘huge=within_size’
[ 1.882154] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 1.883922] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
[ 2.004740] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[ 2.010965] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[ 3.347039] fbcon: i915drmfb (fb0) is primary device
[ 3.347044] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[ 8.491267] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 8.491474] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[ 8.491538] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[21093.002827] i915 0000:00:02.0: [drm] ERROR Atomic update failure on pipe B (start=246676 end=246677) time 135 us, min 1073, max 1079, scanline start 1072, end 1081
[68893.295910] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[68893.299538] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
…