[Bug 2144363] [NEW] The HDMI port on the Lenovo ThinkPad T14s Gen 6 (LCD) intermittently fails to detect a connected display.

todd 2144363 at bugs.launchpad.net
Fri Mar 13 20:12:24 UTC 2026


Public bug reported:

# [X1E] HDMI output intermittently fails to detect connected display on
ThinkPad T14s Gen 6 (LCD)

## Summary

The HDMI port on the Lenovo ThinkPad T14s Gen 6 (LCD) intermittently
fails to detect a connected display. When the issue occurs, the HDMI
connector reports as "disconnected" in xrandr despite a monitor being
physically plugged in. No EDID is read from the sink device. The DP-to-
HDMI bridge path (PS883x + PTN3222) is loaded but the DP AUX channel
fails to communicate with the connected display, resulting in repeated
`msm_dp_bridge_get_modes` errors.

The failure is not consistent — the HDMI output sometimes works
correctly and sometimes does not, with no obvious trigger for the change
in behavior. When the issue is active, a ghost HDMI-1 output remains at
a fallback 1024x768 resolution, overlapping with the laptop panel at
position 0,0 and causing display duplication instead of proper extended
desktop.

USB-C DisplayPort (DP-1) works correctly with the same external monitor
and is unaffected by this issue.

## Environment

- **Machine**: Lenovo ThinkPad T14s Gen 6 (LCD) — 21N1001QUS
- **SoC**: Qualcomm X1E78100 (Snapdragon X Elite)
- **OS**: Ubuntu 25.04 (Plucky Puffin)
- **Kernel**: 6.17.0-8.8 (linux-qcom-x1e from ppa:ubuntu-concept/x1e)
- **Display server**: X11 (i3wm)

## Device tree compatible

```
lenovo,thinkpad-t14s-lcd
lenovo,thinkpad-t14s
qcom,x1e78100
qcom,x1e80100
```

## Symptoms

1. `xrandr --query` shows HDMI-1 as **disconnected** with no modes and
0mm x 0mm dimensions (no EDID):

```
HDMI-1 disconnected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
```

2. Despite being "disconnected", `xrandr --listmonitors` shows HDMI-1 as
an **active monitor**:

```
Monitors: 3
 0: +*DP-1 2560/597x1440/336+1920+0  DP-1
 1: +eDP-1 1920/302x1200/188+0+0  eDP-1
 2: +HDMI-1 1024/271x768/203+0+0  HDMI-1
```

3. HDMI-1 is positioned at 0,0 — same as eDP-1 — causing visual
duplication.

4. Forcing HDMI-1 "on" via `/sys/kernel/debug/dri/1/HDMI-A-1/force`
changes status to "connected" but still only produces generic fallback
modes (1024x768, 800x600, 848x480) with no EDID.

5. The DRM state shows HDMI-A-1 is assigned to crtc-2 with
`output_bpc=0` and `max_requested_bpc=0`, confirming no successful EDID
negotiation.

## Kernel log errors

Repeated DP bridge mode errors from boot onward:

```
[    1.385867] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[    1.997776] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[    3.607216] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[    3.619514] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[    3.740500] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[   14.996809] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[   14.998364] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[  617.299916] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
[  617.301053] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
```

Unexpected AUX IRQ:

```
[10603.867947] [drm:msm_dp_aux_isr [msm]] *ERROR* Unexpected DP AUX IRQ 0x00000008 when not busy
```

## Driver / module status

All relevant modules are loaded:

```
phy_nxp_ptn3222        12288  3
ps883x                 12288  12
display_connector      16384  0
msm                    (loaded, bound)
```

DRM bind messages at boot:

```
[    1.043438] msm_dpu ae01000.display-controller: bound aea0000.displayport-controller (ops msm_dp_display_comp_ops [msm])
[    1.044734] msm_dpu ae01000.display-controller: bound ae9a000.displayport-controller (ops msm_dp_display_comp_ops [msm])
```

The HDMI path uses `ae9a000.displayport-controller` → `phy at fdf000`
(PTN3222) → `hdmi-connector`.

## DRM connector sysfs

```
/sys/class/drm/card1-HDMI-A-1/status: disconnected
/sys/class/drm/card1-HDMI-A-1/edid: (empty — no EDID data)
```

## Device tree HDMI nodes

The HDMI DTS nodes added in the SAUCE patch "arm64: dts: qcom:
x1e78100-lenovo-thinkpad-t14s: add HDMI nodes" (from LP #2121477) are
present in the loaded device tree:

```
/sys/firmware/devicetree/base/hdmi-connector
/sys/firmware/devicetree/base/soc at 0/pinctrl at f100000/hdmi-hpd-default-state
```

## Working reference

The same external monitor (Acer V277U, 2560x1440) works correctly when
connected via USB-C DisplayPort alt-mode on DP-1, with full EDID and
native resolution. The DP-1 path uses the other DisplayPort controller
at `aea0000`.

## Analysis

The PS883x (Parade PS8830) DP-to-HDMI bridge and PTN3222 HDMI PHY are
loaded and bound, but the DP AUX channel cannot successfully read EDID
from the HDMI sink. The `msm_dp_bridge_get_modes` function returns 0
modes (rc=0), meaning the bridge never receives valid mode data from the
connected display.

The issue appears to be in the HDMI-specific DP bridge path — the AUX
channel communication through the PS8830 retimer to the HDMI sink is not
completing the EDID handshake.

## Intermittent nature

This issue is intermittent. The HDMI output has worked correctly in the
past on this machine but periodically fails to detect the connected
display. When it fails, the condition persists across hotplug cycles
(unplug/replug) and remains until some unknown state change (possibly a
reboot or suspend/resume cycle) restores detection. The dmesg errors
appear from early boot, suggesting the failure state is established
during driver initialization.

## Expected behavior

HDMI-1 should reliably detect the connected monitor, read its EDID, and
allow configuration as a separate extended display at native resolution.

** Affects: ubuntu-concept
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-concept.
https://bugs.launchpad.net/bugs/2144363

Title:
  The HDMI port on the Lenovo ThinkPad T14s Gen 6 (LCD) intermittently
  fails to detect a connected display.

Status in ubuntu-concept:
  New

Bug description:
  # [X1E] HDMI output intermittently fails to detect connected display
  on ThinkPad T14s Gen 6 (LCD)

  ## Summary

  The HDMI port on the Lenovo ThinkPad T14s Gen 6 (LCD) intermittently
  fails to detect a connected display. When the issue occurs, the HDMI
  connector reports as "disconnected" in xrandr despite a monitor being
  physically plugged in. No EDID is read from the sink device. The DP-
  to-HDMI bridge path (PS883x + PTN3222) is loaded but the DP AUX
  channel fails to communicate with the connected display, resulting in
  repeated `msm_dp_bridge_get_modes` errors.

  The failure is not consistent — the HDMI output sometimes works
  correctly and sometimes does not, with no obvious trigger for the
  change in behavior. When the issue is active, a ghost HDMI-1 output
  remains at a fallback 1024x768 resolution, overlapping with the laptop
  panel at position 0,0 and causing display duplication instead of
  proper extended desktop.

  USB-C DisplayPort (DP-1) works correctly with the same external
  monitor and is unaffected by this issue.

  ## Environment

  - **Machine**: Lenovo ThinkPad T14s Gen 6 (LCD) — 21N1001QUS
  - **SoC**: Qualcomm X1E78100 (Snapdragon X Elite)
  - **OS**: Ubuntu 25.04 (Plucky Puffin)
  - **Kernel**: 6.17.0-8.8 (linux-qcom-x1e from ppa:ubuntu-concept/x1e)
  - **Display server**: X11 (i3wm)

  ## Device tree compatible

  ```
  lenovo,thinkpad-t14s-lcd
  lenovo,thinkpad-t14s
  qcom,x1e78100
  qcom,x1e80100
  ```

  ## Symptoms

  1. `xrandr --query` shows HDMI-1 as **disconnected** with no modes and
  0mm x 0mm dimensions (no EDID):

  ```
  HDMI-1 disconnected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  ```

  2. Despite being "disconnected", `xrandr --listmonitors` shows HDMI-1
  as an **active monitor**:

  ```
  Monitors: 3
   0: +*DP-1 2560/597x1440/336+1920+0  DP-1
   1: +eDP-1 1920/302x1200/188+0+0  eDP-1
   2: +HDMI-1 1024/271x768/203+0+0  HDMI-1
  ```

  3. HDMI-1 is positioned at 0,0 — same as eDP-1 — causing visual
  duplication.

  4. Forcing HDMI-1 "on" via `/sys/kernel/debug/dri/1/HDMI-A-1/force`
  changes status to "connected" but still only produces generic fallback
  modes (1024x768, 800x600, 848x480) with no EDID.

  5. The DRM state shows HDMI-A-1 is assigned to crtc-2 with
  `output_bpc=0` and `max_requested_bpc=0`, confirming no successful
  EDID negotiation.

  ## Kernel log errors

  Repeated DP bridge mode errors from boot onward:

  ```
  [    1.385867] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [    1.997776] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [    3.607216] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [    3.619514] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [    3.740500] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [   14.996809] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [   14.998364] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [  617.299916] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  [  617.301053] [drm:msm_dp_bridge_get_modes [msm]] *ERROR* failed to get DP sink modes, rc=0
  ```

  Unexpected AUX IRQ:

  ```
  [10603.867947] [drm:msm_dp_aux_isr [msm]] *ERROR* Unexpected DP AUX IRQ 0x00000008 when not busy
  ```

  ## Driver / module status

  All relevant modules are loaded:

  ```
  phy_nxp_ptn3222        12288  3
  ps883x                 12288  12
  display_connector      16384  0
  msm                    (loaded, bound)
  ```

  DRM bind messages at boot:

  ```
  [    1.043438] msm_dpu ae01000.display-controller: bound aea0000.displayport-controller (ops msm_dp_display_comp_ops [msm])
  [    1.044734] msm_dpu ae01000.display-controller: bound ae9a000.displayport-controller (ops msm_dp_display_comp_ops [msm])
  ```

  The HDMI path uses `ae9a000.displayport-controller` → `phy at fdf000`
  (PTN3222) → `hdmi-connector`.

  ## DRM connector sysfs

  ```
  /sys/class/drm/card1-HDMI-A-1/status: disconnected
  /sys/class/drm/card1-HDMI-A-1/edid: (empty — no EDID data)
  ```

  ## Device tree HDMI nodes

  The HDMI DTS nodes added in the SAUCE patch "arm64: dts: qcom:
  x1e78100-lenovo-thinkpad-t14s: add HDMI nodes" (from LP #2121477) are
  present in the loaded device tree:

  ```
  /sys/firmware/devicetree/base/hdmi-connector
  /sys/firmware/devicetree/base/soc at 0/pinctrl at f100000/hdmi-hpd-default-state
  ```

  ## Working reference

  The same external monitor (Acer V277U, 2560x1440) works correctly when
  connected via USB-C DisplayPort alt-mode on DP-1, with full EDID and
  native resolution. The DP-1 path uses the other DisplayPort controller
  at `aea0000`.

  ## Analysis

  The PS883x (Parade PS8830) DP-to-HDMI bridge and PTN3222 HDMI PHY are
  loaded and bound, but the DP AUX channel cannot successfully read EDID
  from the HDMI sink. The `msm_dp_bridge_get_modes` function returns 0
  modes (rc=0), meaning the bridge never receives valid mode data from
  the connected display.

  The issue appears to be in the HDMI-specific DP bridge path — the AUX
  channel communication through the PS8830 retimer to the HDMI sink is
  not completing the EDID handshake.

  ## Intermittent nature

  This issue is intermittent. The HDMI output has worked correctly in
  the past on this machine but periodically fails to detect the
  connected display. When it fails, the condition persists across
  hotplug cycles (unplug/replug) and remains until some unknown state
  change (possibly a reboot or suspend/resume cycle) restores detection.
  The dmesg errors appear from early boot, suggesting the failure state
  is established during driver initialization.

  ## Expected behavior

  HDMI-1 should reliably detect the connected monitor, read its EDID,
  and allow configuration as a separate extended display at native
  resolution.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-concept/+bug/2144363/+subscriptions





More information about the foundations-bugs mailing list