External monitor stopped working after kernel 6.2.9

I’m using Fedora 37 KDE on a Thinkpad P14s (no dedicated GPU) with two identical external monitors.

Until kernel 6.2.9, this setup worked fine. With kernel 6.2.11 and above (tested with .12, .13, .14), the second external monitor won’t turn on, even though it is recognized by and enabled within the system.

Here is the output of inxi -MGxxS --edid — except for kernel version and temperatures, it looks identical with all the kernels I’ve tried:

System:
  Host: skellige Kernel: 6.2.14-200.fc37.x86_64 arch: x86_64 bits: 64
    compiler: gcc v: 2.38-26.fc37
    parameters: BOOT_IMAGE=(hd0,gpt2)/vmlinuz-6.2.14-200.fc37.x86_64
    root=UUID=ee9b82d9-29ea-4d47-9eed-db5f383fdb70 ro rootflags=subvol=root
    rd.luks.uuid=luks-b58a10ef-dfa4-48fe-8fc0-125a491bec96 rhgb quiet
  Desktop: KDE Plasma v: 5.27.4 tk: Qt v: 5.15.9 wm: kwin_x11 vt: 2 dm: SDDM
    Distro: Fedora release 37 (Thirty Seven)
Machine:
  Type: Laptop System: LENOVO product: 21A0004WMX v: ThinkPad P14s Gen 2a
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 21A0004WMX v: SDK0J40697 WIN
    serial: <superuser required> UEFI: LENOVO v: R1MET53W (1.23 )
    date: 02/23/2023
Graphics:
  Device-1: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5 code: Vega
    process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s ports: active: DP-5,DP-6,eDP-1 empty: DP-1,
    DP-2, DP-3, DP-4, DP-7, HDMI-A-1 bus-ID: 07:00.0 chip-ID: 1002:1638
    class-ID: 0300 temp: 39.0 C
  Device-2: Chicony Integrated Camera type: USB driver: uvcvideo
    bus-ID: 1-2:2 chip-ID: 04f2:b6d0 class-ID: fe01 serial: 0001
  Device-3: Generalplus GENERAL WEBCAM type: USB
    driver: snd-usb-audio,uvcvideo bus-ID: 3-1.4.4.2:10 chip-ID: 1b3f:2247
    class-ID: 0102 serial: JH0319_20210727_v017
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 22.1.9
    compositor: kwin_x11 driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 7039x1440 s-dpi: 96 s-size: 1862x381mm (73.31x15.00")
    s-diag: 1901mm (74.83")
  Monitor-1: DP-5 mapped: DisplayPort-4 pos: primary,top-center
    model: Philips PHL 275B1 serial: UK02237028974 built: 2022 res: 2560x1440
    hz: 60 dpi: 109 gamma: 1.2 chroma: red: x: 0.667 y: 0.314 green: x: 0.290
    y: 0.655 blue: x: 0.153 y: 0.047 white: x: 0.314 y: 0.329
    size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9
    modes: 2560x1440, 1920x1080, 1680x1050, 1280x1024, 1440x900, 1280x960,
    1280x720, 1024x768, 832x624, 800x600, 720x576, 720x480, 640x480, 720x400
  Monitor-2: DP-6 mapped: DisplayPort-5 pos: top-right
    model: Philips PHL 275B1 serial: UK02237028975 built: 2022 res: 2560x1440
    dpi: 109 gamma: 1.2 chroma: red: x: 0.667 y: 0.314 green: x: 0.290
    y: 0.655 blue: x: 0.153 y: 0.047 white: x: 0.314 y: 0.329
    size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9
    modes: 2560x1440, 1920x1080, 1680x1050, 1280x1024, 1440x900, 1280x960,
    1280x720, 1024x768, 832x624, 800x600, 720x576, 720x480, 640x480, 720x400
  Monitor-3: eDP-1 mapped: eDP pos: bottom-l model: AU Optronics 0x573d
    built: 2021 res: 1920x1080 hz: 60 dpi: 158 gamma: 1.2 chroma: red: x: 0.647
    y: 0.329 green: x: 0.302 y: 0.604 blue: x: 0.153 y: 0.055 white: x: 0.314
    y: 0.329 size: 309x174mm (12.17x6.85") diag: 355mm (14") ratio: 16:9
    modes: 1920x1080, 1680x1050, 1280x1024, 1440x900, 1280x800, 1280x720,
    1024x768, 800x600, 640x480
  API: OpenGL v: 4.6 Mesa 23.0.3 renderer: AMD Radeon Graphics (renoir LLVM
    15.0.7 DRM 3.49 6.2.14-200.fc37.x86_64) direct-render: Yes

It is “Monitor-2” in this output that won’t turn on with kernels 6.2.11 or higher, but works fine with 6.2.9.

Any pointers as to how I can start debugging this problem? Or does this point to a kernel issue that I can’t fix myself?

I bet there is a docking station in between ? If yes what brand/model?
Mostly it is the driver/firmware where is not compatible anymore with the newer kernel.

I bet there is a docking station in between ? If yes what brand/model?

Yes, indeed: Lenovo ThinkPad Universal Thunderbolt 4 Dock (40B0).

The firmware is on the latest version available via fwupdmgr, but I now saw that the latest official Lenovo firmware is not available through this yet. So I guess most likely I’ll have to wait for a firmware update to come through there and see if that resolves the problem.

A strong indicator for a low-level driver/firmware issue is that the display stays black already at the stage when I enter the harddrive LUKS encryption password, i.e. before the majority of the system has even loaded.

You could use the LTS kernel that you not have to keep back the 6.2 kernels. And just check from time to time if the 6.2 is working when new firmware appears.

kwizart/kernel-longterm-6.1 Copr

Thanks. Looks like I need to disable EFI Secure Boot to use this longterm kernel, but I didn’t know that this option exists!

That is done within the UEFI bios which is usually available either with a function key during boot (most often F1, F2, Del) or from the grub boot menu