External screen goes to sleep permanently after upgrade to kernel 6.4

Hello,

after upgrading to kernel 6.4.* the external screen which is connected to a docking station via Display Port goes to sleep after GRUB and never wakes up again. On kernel 6.3.* everything works as expected.

This ist my system:

Machine:
  Type: Laptop System: LENOVO product: 20MX000HGE v: ThinkPad A285
    serial: <superuser required>
  Mobo: LENOVO model: 20MX000HGE v: SDK0J40697 WIN
    serial: <superuser required> UEFI: LENOVO v: R0XET70W (1.47 )
    date: 06/30/2020

I’m thankful for any advice to help investigate this situation.

Please be more specific on what happens.

Does this happen on a cold boot, a restart, waking from suspend, or ?

It happens on cold and warm boot. Suspend I didn’t check because it doesn’t wake up in the first place.

What happens if you unplug the docking station before restarting then plug it back in after the system has booted?

Please post the output of inxi -Fzxx

If I do that the internal screen goes blank and the external screen stays asleep. There’s no more input feedback afterwards. When plugging the docking station back out the internal screen awakes and the external stays asleep as well. Not fixed in kernel 6.4.6.

Is there a way to force sleep modes on monitors via command line?

Here’s the inxi output:

System:
  Kernel: 6.3.12-200.fc38.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.39-9.fc38 Desktop: GNOME v: 44.3 tk: GTK v: 3.24.38 wm: gnome-shell
    dm: GDM Distro: Fedora release 38 (Thirty Eight)
Machine:
  Type: Laptop System: LENOVO product: 20MX000HGE v: ThinkPad A285
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 20MX000HGE v: SDK0J40697 WIN
    serial: <superuser required> UEFI: LENOVO v: R0XET70W (1.47 )
    date: 06/30/2020
Battery:
  ID-1: BAT0 charge: 34.7 Wh (77.3%) condition: 44.9/47.9 Wh (93.7%)
    volts: 11.7 min: 11.4 model: LGC 01AV470 serial: <filter>
    status: not charging
CPU:
  Info: quad core model: AMD Ryzen 7 PRO 2700U w/ Radeon Vega Mobile Gfx
    bits: 64 type: MT MCP arch: Zen rev: 0 cache: L1: 384 KiB L2: 2 MiB
    L3: 4 MiB
  Speed (MHz): avg: 1517 high: 1600 min/max: 1600/2200 boost: enabled cores:
    1: 1368 2: 1402 3: 1368 4: 1600 5: 1600 6: 1600 7: 1600 8: 1600
    bogomips: 35134
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Raven Ridge [Radeon Vega Series / Radeon Mobile Series]
    vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5 pcie: speed: 8 GT/s
    lanes: 16 ports: active: DP-4,eDP-1 empty: DP-1, DP-2, DP-3, DP-5,
    HDMI-A-1 bus-ID: 06:00.0 chip-ID: 1002:15dd temp: 60.0 C
  Device-2: Chicony Integrated IR Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 4-2.1:5 chip-ID: 04f2:b605
  Device-3: Chicony Integrated Camera (1280x720@30) driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 4-2.4:8
    chip-ID: 04f2:b604
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 22.1.9
    compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
  Monitor-1: DP-4 model: Dell P2214H res: 1920x1080 dpi: 102
    diag: 547mm (21.5")
  Monitor-2: eDP-1 model: InfoVision Optronics/Kunshan 0x04e6 res: 1920x1080
    dpi: 177 diag: 317mm (12.5")
  API: OpenGL v: 4.6 Mesa 23.1.4 renderer: AMD Radeon Vega 10 Graphics
    (raven LLVM 16.0.6 DRM 3.52 6.3.12-200.fc38.x86_64) direct-render: Yes
Audio:
  Device-1: AMD Raven/Raven2/Fenghuang HDMI/DP Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 06:00.1 chip-ID: 1002:15de
  Device-2: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel pcie: speed: 8 GT/s lanes: 16 bus-ID: 06:00.6 chip-ID: 1022:15e3
  Device-3: Dell AC511 Sound Bar driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 bus-ID: 2-4.4.2.4:8
    chip-ID: 413c:a503
  Device-4: Lenovo ThinkPad Dock USB Audio
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 bus-ID: 2-4.4.4:6 chip-ID: 17ef:306f
  API: ALSA v: k6.3.12-200.fc38.x86_64 status: kernel-api
  Server-1: PipeWire v: 0.3.76 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1
    port: 2400 bus-ID: 04:00.0 chip-ID: 10ec:8168
  IF: enp4s0f0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: wlp2s0 state: down mac: <filter>
  IF-ID-2: wwan0 state: down mac: N/A
Bluetooth:
  Device-1: Realtek RTL8822BE Bluetooth 4.2 Adapter driver: btusb v: 0.8
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 bus-ID: 4-2.2:6
    chip-ID: 0bda:b023
  Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 169.63 GiB (35.6%)
  ID-1: /dev/nvme0n1 vendor: Lenovo model: LENSE30512GMSP34MEAT3TA
    size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 40.9 C
Partition:
  ID-1: / size: 474.92 GiB used: 169.26 GiB (35.6%) fs: btrfs dev: /dev/dm-0
    mapped: luks-db169c1e-a64b-4365-ab25-495d74b7bbc7
  ID-2: /boot size: 960 MiB used: 371.4 MiB (38.7%) fs: xfs
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 1023 MiB used: 7 MiB (0.7%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 474.92 GiB used: 169.26 GiB (35.6%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-db169c1e-a64b-4365-ab25-495d74b7bbc7
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 61.0 C mobo: N/A gpu: amdgpu temp: 60.0 C
  Fan Speeds (RPM): fan-1: 0 fan-2: 0
Info:
  Processes: 343 Uptime: 9m Memory: available: 14.5 GiB used: 2.4 GiB (16.5%)
  Init: systemd v: 253 target: graphical (5) default: graphical Compilers:
  gcc: 13.2.1 Packages: pm: rpm pkgs: N/A note: see --rpm pm: flatpak pkgs: 8
  Shell: Bash v: 5.2.15 running-in: gnome-terminal inxi: 3.3.27

i’ve a similar issue on my Yoga 7 14ARB7 with AMD Ryzen 7 6800U:
when connecting my TB3 dock (CalDigit TS3) all screens turn black, sometimes after disconnect all screens stay black, sometimes the internal monitor comes back up.

when plugging/unplugging my TS3 multiple times it seems to work at some point with the external monitors but its kind of a gamble.
currently i reverted to 6.3 kernel.

output of boltctl:

 ● CalDigit, Inc. TS3
   β”œβ”€ type:          peripheral
   β”œβ”€ name:          TS3
   β”œβ”€ vendor:        CalDigit, Inc.
   β”œβ”€ uuid:          d6010000-00a0-9f08-23c4-0d4a1d26b81d
   β”œβ”€ generation:    Thunderbolt 3
   β”œβ”€ status:        authorized
   β”‚  β”œβ”€ domain:     ee263804-a005-379a-ffff-ffffffffffff
   β”‚  β”œβ”€ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  β”œβ”€ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  └─ authflags:  none
   β”œβ”€ authorized:    Do 03 Aug 2023 11:12:41 UTC
   β”œβ”€ connected:     Do 03 Aug 2023 11:12:41 UTC
   └─ stored:        Mi 04 Jan 2023 16:06:36 UTC
      β”œβ”€ policy:     iommu
      └─ key:        no

I have the same issue. Instead of booting up, it goes to sleep and nothing wakes it up. I have this issue on Kernels 6.4.7 and 6.4.6, but 6.4.4. and earlier work fine.

update on 6.4 kernel when using the same machine on a caldigit TS3+ dock with 2 daisy chained DP monitors:
the monitors are not detected at all- using kernel 6.3 the displays are detected an can be used with the workaround described in this topic (switching on/off multiple times in gnome display settings): Problems with 2 Displays connected via DisplayPort DaisyChain / MST on Kernel 6.1

# boltctl
 ● CalDigit, Inc. TS3 Plus
   β”œβ”€ type:          peripheral
   β”œβ”€ name:          TS3 Plus
   β”œβ”€ vendor:        CalDigit, Inc.
   β”œβ”€ uuid:          cc030000-00b0-a508-a349-231808814122
   β”œβ”€ generation:    Thunderbolt 3
   β”œβ”€ status:        authorized
   β”‚  β”œβ”€ domain:     ee263804-a005-379a-ffff-ffffffffffff
   β”‚  β”œβ”€ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  β”œβ”€ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   β”‚  └─ authflags:  boot
   β”œβ”€ authorized:    Fr 04 Aug 2023 08:04:59 UTC
   β”œβ”€ connected:     Fr 04 Aug 2023 08:04:59 UTC
   └─ stored:        Mi 28 Dez 2022 02:36:08 UTC
      β”œβ”€ policy:     iommu
      └─ key:        no

since kernel 6.3 is not available anymore i had to find a new workaround for kernel 6.4 - currently i’m running 6.4.8.

currently when plugging / unplugging my dock or the DP cable from the first display (that disconnects both displays β†’ daisy chain)

but when connecting an external usb-c display one monitor got detected (i’ll guess it triggers a rescan or sth like that). this got me thinking.

i disconnected the power cable of one monitor multiple times until it was detected, then with the second one and when both are detected (but most of the time black) i’m back at turning it on/off in the gnome display settings until it works (as described in the post linked in my last comment).

hopefully this helps someone with the same problem…

does anybody know if theres a bug report for this? if not i’m willing to create one and supply the needed information, if somebody could point me to the right location on where to get started on creating a bug report :slight_smile:

greetings

1 Like

does anybody know if theres a bug report for this?

It looks like BZ 2227427 - External monitor don’t work since kernel 6.4.4 might be the same issue, maybe?

I, too, have been having monitor problems since my Fedora 38 on a ThinkPad T14s with Thunderbolt 3 docking station was updated to the 6.4 kernel. The operating system does not β€˜see’ the 2 external monitors connected through the dock (1 via HDMI, the other DisplayPort) when booting.

Sometimes I can get them to work if I power down the laptop, disconnect it from the dock, disconnect the dock from its power supply, wait 10 seconds and then plug it all back together and press the power button on the dock. Other times, I have to just keep unplugging/plugging the connection between the laptop and docking station while everything is powered on.

1 Like

issue might be right! thanks for sharing.

to the issue itself: thats exactly how it presents itself to me, start notebook and connect / disconnect the dock multiple times.

if im on the TS3+ Docking station with the daisy chained monitors i only disconnect the monitors multiple times for 10min etc. until it works…

A generic impression I have of this issue with a docking station and monitors is that the monitor cannot be configured unless the system receives the EDID data from that monitor.

Several docking stations and different configs in how things are connected seem to block the communication between system & monitor so either the data is not received at all or is is corrupted so the monitor does not get configured.

Certain docking stations seem to have few problems while others have many problems, and it seems mostly to be docking station specific.

One can test this by connecting the monitor directly to the laptop and if it works there but not when connected to the docking station it would seem to indicate a docking station issue.

But that does not explain the stark difference in external monitor handling between kernel 6.3 and kernel 6.4…

Actually it may.
Drivers get changed as well, and the docking station itself may or may not have drivers that interact with the newer kernel differently.

If the problem occurs only when using the docking station it surely would.

So, the monitor actually is discovered and available with all the tools (ddcutil, xrandr, you-name-it…) but it just goes to sleep after grub and doesn’t wake up. :face_with_raised_eyebrow: