Skip to content

[Bug] HDMI hotplug detection broken on CometLake-U (UHD Graphics) — kernel 6.18.7-76061807 #406

@ALanguillaume

Description

@ALanguillaume

System

  • Hardware: System 76 Lemur Laptop with Intel CometLake-U GT2 UHD Graphics (device ID 9b41)
  • OS: Pop OS 24.04
  • Kernel: 6.18.7-76061807-generic
  • Desktop: COSMIC (Wayland)
  • Driver: i915 (built-in)

Description

HDMI external display is not detected when the cable is plugged in after boot (cold boot with cable disconnected). If the HDMI cable is already connected at boot time, the monitor is detected correctly and hot-unplug/replug works for the rest of the session. This worked correctly on Pop OS 22.04.

Steps to reproduce

  1. Boot the laptop with no HDMI cable connected
  2. After boot, connect an HDMI cable to an external monitor
  3. Monitor is not detected — no display output, no xrandr entry

Expected behaviour

External monitor is detected and activated when HDMI cable is plugged in after boot, with correct EDID read and native resolution applied.

Actual behaviour

  • cat /sys/class/drm/card1-HDMI-A-2/status returns disconnected at all times when booted without cable
  • sudo udevadm monitor --kernel --subsystem-match=drm produces zero events on plug/unplug
  • cat /proc/interrupts | grep i915 counter does not increment on plug/unplug
  • Workaround: echo on > /sys/class/drm/card1-HDMI-A-2/status forces the port awake and detection works for the rest of the session

Secondary issue: monitor and resolution not properly detected after workaround

Even when the monitor is detected via the echo on workaround, EDID is not read correctly:

  • Monitor reported as "0.0" HDMI-A-2 external display" instead of its actual name
  • Resolution capped at 1024x768 (generic fallback) instead of native resolution on a 27" monitor

Additional findings

  • i915 loads DMC firmware kbl_dmc_ver1_04.bin (Kabylake) instead of a CometLake equivalent — no cml_dmc firmware file is present or requested
  • cosmic-comp logs "Unable to become drm master, assuming unprivileged mode" on boot (resolved after clean reboot)
  • HPD storm protection is disabled (/sys/kernel/debug/dri/1/i915_hpd_storm_ctl shows Enabled: no)
  • DRM polling (/sys/module/drm_kms_helper/parameters/poll=1) does not resolve the issue
  • The correct connector is card1-HDMI-A-2 (not HDMI-A-1)

Regression

This worked on Pop OS 22.04. Likely a kernel regression in i915 HPD handling for CometLake-U introduced in kernel 6.x.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions