Skip to content

[BUG] Intel Tiger Lake HDMI Audio fails on boot via USB-C adapter inside Hybrid GPU setup (NUC11PHi7) #11291

Open

Description

@87fox87

Description:

On an Intel NUC 11 Enthusiast (Phantom Canyon, NUC11PHi7) running CachyOS (Arch-based), HDMI Audio over the USB-C port (using an active Type-C to HDMI 2.1 adapter [UGREEN USB C to HDMI Cable, HDMI 2.1, 8K 60Hz, 4K 240/144/120Hz, 2M] connected to a Samsung The Frame TV) completely fails to output any sound upon a cold boot or normal reboot.
The audio device is successfully detected by ALSA and PipeWire/WirePlumber, but the stream remains dead. Inspecting the state via wpctl status shows that the playback streams are permanently stuck in the [init] state.

The Workaround (Hotplugging):

If the USB-C adapter is physically unplugged for 10-15 seconds while audio (e.g., a YouTube video) is attempting to play in the background, and then plugged back in, an electrical hotplug interrupt is triggered. Immediately after plugging it back in, the stream state jumps from [init] to [active] and crystal-clear audio is outputted flawlessly until the next reboot.
Manually toggling the profiles via wpctl set-profile off and back to 1 digitally does not fix the issue; only a physical power/hotplug event on the connector wakes up the hardware audio clock.

Hardware Environment:

• Device: Intel NUC 11 Enthusiast (NUC11PHi7)
• CPU/iGPU: Intel Core i7-1165G7 / TigerLake-LP GT2 [Iris Xe Graphics] (PCI ID 8086:9a49)
• dGPU: NVIDIA Corporation TU106M [GeForce RTX 2060 Mobile] (PCI ID 10de:1f15)
• Audio Device: Intel Corporation 500 Series Chipset Family On-Package HD Audio (PCI ID 8086:a0c8)
• Kernel Driver: snd_hda_intel
• Kernel Modules: snd_soc_avs, snd_sof_pci_intel_tgl, snd_hda_intel
• Display Connection: UGREEN Active USB-C to HDMI 2.1 Adapter (DisplayPort Alt-Mode routed through Intel iGPU block)
• Sink Endpoint: Samsung The Frame TV (4K @ 120Hz / 60Hz)

Software Environment:

• OS: CachyOS (Rolling Release, latest packages as of October 2026)
• Kernel: linux-cachyos (7.2.9-1) / linux-cachyos-lts (6.18.55-1)
• Sound Server: PipeWire (1:1.6.9-1) / WirePlumber (0.5.18-1.1)
• Firmware: sof-firmware (2026.09.1-1)
• ALSA Config: alsa-ucm-conf (1.2.16.1-1)

Relevant System Diagnostics:

aplay -l outputs:
text
card 1: PCH [HDA Intel PCH], device 3: HDMI 0 [SAMSUNG]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
Verwende Code mit Vorsicht.
During the broken state right after booting, wpctl status shows:
text
Audio
 ├─ Devices: 
 │      44. Built-in Audio                     [alsa] 
 │  
 ├─ Sinks: 
 │  *   55. Built-in Audio Digital Stereo (HDMI) [SAMSUNG] [vol: 0.35] 
 │  
 └─ Streams: 
        64. Firefox                                                     
            70. output_FL       > SAMSUNG:playback_FL  [init] 
            71. output_FR       > SAMSUNG:playback_FR  [init]

At the exact same time, Kernel dmesg logs throw this hardware timing/bus conflict between the Hybrid GPUs:
text

kernel: snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
kernel: nvidia-gpu 0000:01:00.3: i2c timeout error e0000000

Attempts made to resolve this via configuration (all failed):

  1. Forcing options snd_intel_dspcfg dsp_driver=1 or 3 (Crashes ALSA endpoint completely on boot, leading to "No devices found").
  2. Forcing options snd_hda_intel power_save=0 power_save_controller=N combined with disable_power_well=0 on i915/xe modules (Causes the driver to lose the EDID container brackets entirely, stripping [SAMSUNG] away from the sink name string, remaining muted).
  3. Freezing the 256-byte EDID matrix via drm.edid_firmware=DP-4:edid/samsung_frame.bin. While this successfully locks the display connection to connected during boot, the audio clock sub-resource remains dead and requires a physical hotplug power cycle to initialize the digital clock synchronization.

Any guidance or experimental patches to keep the audio controller fully powered in D0 state during early boot or enforcing an asynchronous driver-probe delay would be highly appreciated.

Activity

  1. added
    bugSomething isn't working as expected
    on Oct 9, 2026
  2. lgirdwood commented on Oct 10, 2026

    @lgirdwood
    Member

    @87fox87 can you share kernel log and clarify which GPU is rendering audio to your TV.

  3. 87fox87 commented on Oct 10, 2026

    @87fox87
    Author

    2. @87fox87 can you share kernel log and clarify which GPU is rendering audio to your TV.

    sudo dmesg | grep -E "snd|hda|hdmi|i915|xe|nvidia" | head -n 100
    [    0.000000] NX (Execute Disable) protection: active
    [    0.000458] MTRR map: 5 entries (3 fixed + 2 variable; max 23), built from 10 variable MTRRs
    [    0.124398] ... fixed-purpose counters:    4
    [    0.124398] ... fixed-purpose bitmap:      000000000000000f
    [    0.635384] pci 0000:00:1f.4: BAR 4 [io  0xefa0-0xefbf]
    [    1.339200] nvidia: loading out-of-tree module taints kernel.
    [    1.414196] nvidia-nvlink: Nvlink Core is being initialized, major device number 239
    [    1.420258] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
    [    2.569116] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64  615.71.09  Release Build  (notroot@)  Sat Oct  3 23:43:11 UTC 2026
    [    2.650369] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
    [    2.697646] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 1
    [    2.698040] nvidia 0000:01:00.0: [drm] Cannot find any crtc or sizes
    [    3.923136] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
    [    4.183165] nvidia-gpu 0000:01:00.3: enabling device (0000 -> 0002)
    [    4.646759] i915 0000:00:02.0: [drm] Found tigerlake/uy (device ID 9a49) integrated display version 12.00 stepping C0
    [    4.647298] i915 0000:00:02.0: [drm] VT-d active for gfx access
    [    4.659652] i915 0000:00:02.0: vgaarb: deactivate vga console
    [    4.659721] i915 0000:00:02.0: [drm] Using Transparent Hugepages
    [    4.661263] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
    [    4.668835] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io:owns=io+mem
    [    4.687066] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
    [    4.687858] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
    [    4.687930] snd_hda_intel 0000:01:00.1: Disabling MSI
    [    4.687936] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
    [    4.696050] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
    [    4.704948] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
    [    4.790429] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
    [    4.811126] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
    [    4.875942] i915 0000:00:02.0: [drm] Registered 4 planes with drm panic
    [    4.875945] [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 2
    [    4.918350] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
    [    4.949629] i915 0000:00:02.0: [drm] Allocating fbdev: Stolen memory not preferred.
    [    4.953219] fbcon: i915drmfb (fb0) is primary device
    [    4.953223] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
    [    4.958009] snd_hda_codec_alc269 hdaudioC1D0: autoconfig for ALC700: line_outs=1 (0x1b/0x0/0x0/0x0/0x0) type:line
    [    4.958013] snd_hda_codec_alc269 hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
    [    4.958014] snd_hda_codec_alc269 hdaudioC1D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
    [    4.958016] snd_hda_codec_alc269 hdaudioC1D0:    mono: mono_out=0x0
    [    4.958017] snd_hda_codec_alc269 hdaudioC1D0:    dig-out=0x1e/0x0
    [    4.958018] snd_hda_codec_alc269 hdaudioC1D0:    inputs:
    [    4.958019] snd_hda_codec_alc269 hdaudioC1D0:      Internal Mic=0x12
    [    4.958020] snd_hda_codec_alc269 hdaudioC1D0:      Internal Mic=0x13
    [    6.330358] nvidia-gpu 0000:01:00.3: i2c timeout error e0000000`
    

    So to my understanding it is the Intel Iris igpu rendering and routing the audio stream to my tv via said adapter.

    i also tried to get you logs of the hotplug event that fixes audio. but sudo dmesg -w | grep -E -i "(usb|thunderbolt|typec|ucsi|connector|hpd)" remained completely silent during hotplugging.

  4. lgirdwood commented on Oct 10, 2026

    @lgirdwood
    Member

    @87fox87 are you able to render directly to the device after boot using aplay -Dhw:card.pcm. Just want to know whether this is driver not detecting at boot or whether userspace not detecting at boot.
    @kv2019i fyi.

  5. 87fox87 commented on Oct 10, 2026

    @87fox87
    Author

    4. aplay -Dhw:card.pcm

    no sound output. i cold booted in the mean time

    ❯ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 0: ALC700 Analog [ALC700 Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 3: HDMI 0 [SAMSUNG]
      Subdevices: 0/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    
    ~
    ❯ aplay -D hw:1,3
    ^CAborted by signal Interrupt...
    ^C⏎                                                                                                                                 
    ~ 30s
    ❯ speaker-test -D hw:1,3 -c 2 -r 48000
    
    
    speaker-test 1.2.16
    
    Playback device is hw:1,3
    Stream parameters are 48000Hz, S16_LE, 2 channels
    Using 16 octaves of pink noise
    Rate set to 48000Hz (requested 48000Hz)
    Buffer size range from 64 to 1048576
    Period size range from 32 to 524288
    Periods = 4
    was set period_size = 12000
    was set buffer_size = 48000
     0 - Front Left
     1 - Front Right
    Time per period = 5,001250
     0 - Front Left
     1 - Front Right
    Time per period = 5,999827
     0 - Front Left
     1 - Front Right
    ^CTime per period = 4,021652
    
    ~ 15s
    ❯ 
    
  6. lgirdwood commented on Oct 12, 2026

    @lgirdwood
    Member

    @87fox87 so the Samsung TV looks normal in the PCM list, the playback looks like its OK too since it ran for 30 secs and had to be stopped via ctrl-c. Have you tried another monitor ? Have you tried to execute the insert/remove event handling in software after boot ?

  7. 87fox87 commented on Oct 12, 2026

    @87fox87
    Author

    6. @87fox87 so the Samsung TV looks normal in the PCM list, the playback looks like its OK too since it ran for 30 secs and had to be stopped via ctrl-c. Have you tried another monitor ? Have you tried to execute the insert/remove event handling in software after boot ?

    yeah. on paper this setup seems to be working perfectly fine. its weird.

    I got this teeny tiny 7 inch monitor that features speakers. no issues there at all. reboot. no problem.

    With the Samsung its a different story. first connection while cachyos is on desktop no problem. but reboot and my sound issue is back.

    what do you mean execute? simulating the hotplugging in the console? i tried

    ❯ echo 1 | sudo tee /sys/class/drm/card0/engine/instance0/force_probe 2>/dev/null || echo "detect" | sudo tee /sys/class/drm/card2-DP-4/status
    
    1
    detect
    
    ~ 8s
    ❯ echo "0000:00:1f.3" | sudo tee /sys/bus/pci/devices/0000:00:1f.3/driver/unbind; sleep 2; echo "0000:00:1f.3" | sudo tee /sys/bus/pci/drivers_probe
    
    0000:00:1f.3
    0000:00:1f.3
    

    it didn't work. Do you have suggestions for other ways to try that?

    thanks btw for your efforts :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions