[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