Bug 490623 - [Wayland] DisplayPort monitor doesn't wake up if the PC wakes up from suspend first
Summary: [Wayland] DisplayPort monitor doesn't wake up if the PC wakes up from suspend...
Status: CONFIRMED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.2.4
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland-only
Depends on:
Blocks:
 
Reported: 2024-07-21 21:38 UTC by valdikss
Modified: 2025-09-26 20:51 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
drm_info when external DP monitor will not display (422.62 KB, text/plain)
2025-09-25 19:36 UTC, TraceyC
Details
kscreen-doctor -o output from 2nd attempt (3.66 KB, text/plain)
2025-09-25 19:36 UTC, TraceyC
Details
files (9.95 KB, application/zip)
2025-09-26 15:21 UTC, valdikss
Details
video demo (3.34 MB, video/mp4)
2025-09-26 16:17 UTC, valdikss
Details

Note You need to log in before you can comment on or make changes to this bug.
Description valdikss 2024-07-21 21:38:50 UTC
SUMMARY

When the monitor is powered off and the PC is suspended, turning the PC on first, then the monitor, results in no picture on the display, which most of the time could not be fixed by any regular means: powering off/on the monitor or replugging the cable to another USB-C port does not work.

This happens only in Wayland session, on both Fedora 39 (Plasma 5.27.11) and Neon 2024 07 18 (Plasma 6.1.2). No such issues with HDMI connection.

STEPS TO REPRODUCE
1. Run KDE Plasma 5 or 6 with DisplayPort monitor
2. Suspend the PC, turn the monitor off
3. Wake up the PC, turn the monitor on (in this order)

OBSERVED RESULT
No signal on the display

EXPECTED RESULT
The monitor displays lock screen

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 39 (also tested on Neon 2024 07 18)
KDE Plasma Version: 5.27.11 (also tested on Neon's 6.1.2)
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.9.9-100.fc39.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 13th Gen Intel® Core™ i5-1340P
Memory: 28,9 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: Intel(R) Client Systems
Product Name: NUC13ANKi5
System Version: N11211-203

ADDITIONAL INFORMATION

The issue happens only in Wayland session, only with KDE. No issues with KDE@X11, or Gnome@Wayland.
I have DELL P2415Q 4K monitor connected to NUC13ANKi5 via USB-C → DisplayPort cable. No issues with HDMI connection.
`kscreen-doctor -o` over SSH shows no displays when this happens.
100% reproducibility.
Comment 1 valdikss 2024-10-02 04:04:58 UTC
Still the issue as of KDE Neon neon-unstable-20240930-0323.iso
Comment 2 Nate Graham 2024-10-02 16:03:32 UTC
I'm not able to reproduce this issue with current git master on my setup (laptop docked with DP monitor) because I run into another bug: at step 2, when I put my laptop to sleep, both it and its DP-connected external screen immediately wake up again. I don't have a desktop system I can use to test your exact use case.

I've opened Bug 493974 about this. Possibly one or both are actually KWin issues, but for now let's keep them in Powerdevil for initial triage.
Comment 3 valdikss 2024-10-02 16:16:30 UTC
>when I put my laptop

First of all I'd like to stress that most probably this bug is visible only with a single monitor, which gets disconnected. With 2 monitors connected to the PC I don't see it (one DP, one HDMI). That's why you probably won't see it on the laptop, which has internal screen.

Also when this issue happens, I switch to TTY (blindly), if I connect HDMI monitor, the DP monitor wakes up and works as expected. But as soon as I disconnect HDMI monitor, DP monitor also stops working.

>when I put my laptop to sleep, both it and its DP-connected external screen immediately wake up again

I don't have this issue, but if I leave the PC suspended with the monitor not powered off using the button on the monitor, it wakes up every 3-5 minutes with the blank screen and goes to sleep shortly afterwards This may be related, may be not. The PC itself does not wake up (but it's s0ix, not s3).
Comment 4 TraceyC 2024-10-30 15:54:11 UTC
I'm having similar issues. They started with Plasma 6.1.5 and continue with 6.2.2. If this is completely unrelated, let me know and I'll open a separate report. 

Hardware setup:
Laptop connected via USB-C dock to 2 external monitors (DP & HDMI)
All 3 displays were working OK at system boot.
Sleep was invoked with a shortcut, laptop was disconnected from the dock.
Laptop was woken from sleep. I could hear system sounds, but the built-in screen received no display. 
After plugging the laptop into the dock, the external monitors had a display but not the built in screen. (Display Configuration showed the built-in screen enabled.)
I was not able to get to TTY, the laptop display remains black (no power).
The only way to get a display on the laptop screen again is to reboot no matter what else I do

I tried these workarounds but nothing changed:
- Disabling and re-enabling the laptop screen in Display Configuration
- Reseating the dock cable
- Reseating the HDMI cable from the dock (which has resolved similar issues in the past)
- Changing display priorities

Even with no external displays active, with only the laptop screen active, the laptop screen has no display. 

Also, after disabling the second external monitor, the first external monitor then had no display. The timer to accept the new config timed out but all displays remained blank. I was left with no active displays. I had to connect the second monitor (HDMI) with a different HDMI cable plugged into its other port. Then both external monitors had a display. I still was unable to get to TTY.

Operating System: Solus 4.6
KDE Plasma Version: 6.2.2
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.3
Kernel Version: 6.11.5-307.current (64-bit)
Graphics Platform: Wayland
Processors: 16 × 11th Gen Intel® Core™ i7-11800H @ 2.30GHz
Memory: 62.5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics
Manufacturer: Dell Inc.
Product Name: XPS 17 9710
Comment 5 TraceyC 2024-10-30 17:17:40 UTC Comment hidden (spam)
Comment 6 TraceyC 2024-10-30 17:20:01 UTC
Does the monitor from the original report have adaptive sync? I have additional problems on one external monitor if that's enabled.

In Display Configuration on your desktop, in the settings for that monitor, do you see "Adaptive sync"?
If so, can you reproduce the original issue if that is set to disabled?
Comment 7 valdikss 2024-10-30 20:27:43 UTC
(In reply to TraceyC from comment #6)
> Does the monitor from the original report have adaptive sync? I have
> additional problems on one external monitor if that's enabled.

It does not.
Comment 8 valdikss 2025-01-12 21:07:31 UTC
I temporarily "fixed" it by allowing suspend on the lock screen with an external hotkey daemon (Plasma lockscreen does not react on power button).
Comment 9 valdikss 2025-09-24 22:27:12 UTC
Still the issue, as of
Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.2
Kernel Version: 6.16.7-200.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 13th Gen Intel® Core™ i5-1340P
Graphics Processor: Intel® Iris® Xe Graphics
Comment 10 valdikss 2025-09-25 09:34:03 UTC
I tried to enable full debug for everything "screen" related with KDebugSettings, and according to it, as soon as I unplug the monitor's cable while the PC is on, replugging it in the same port does not generate any events.

If anyone could give me directions on where should I look and what to debug, please let me know. I had to remember not to switch off the monitor while PC is running, and switch on the monitor before waking it from sleep. This is annoying.
Comment 11 TraceyC 2025-09-25 19:26:20 UTC
(In reply to valdikss from comment #10)
> If anyone could give me directions on where should I look and what to debug,
> please let me know. 

What would be helpful is to get the output of the following two commands when the system is in the bugged state and the display won't wake. Feel free to paste inline or attach to the report.

drm_info
kscreen-doctor -o

Thanks.
Comment 12 TraceyC 2025-09-25 19:36:02 UTC
Created attachment 185283 [details]
drm_info when external DP monitor will not display

I experienced this twice today, both when resuming from sleep. The symptoms were only slightly different
Laptop, plugged into dock, connected to two external displays
M1 - Displayport
M2 - HDMI

Steps to reproduce
Disabled M2 from Display Configuration
Used system for a while, then put it to sleep and removed the docking cable
Woke system from sleep
Plugged in docking cable - laptop and DP monitor M1 should wake

Observed:
M1 black, with backlight, no cursor, no warning about no signal. Plasma acts as if the monitor is connected, Display Config shows its connected and enabled.

Ran drm_info
Enabled M2 in Display Configuration
Observed:
M2 enabled properly and displaying desktop
M1 now displays desktop

On the second attempt to reproduce, I ran through the same steps
This time, after enabling M2, M1 stayed blank in the same state as the prior attempt
After changing the refresh rate, M1 lit up
Comment 13 TraceyC 2025-09-25 19:36:44 UTC
Created attachment 185284 [details]
kscreen-doctor -o output from 2nd attempt

This is from the 2nd attempt to reproduce
Comment 14 Zamundaaa 2025-09-26 14:44:17 UTC
It looks like as far as KWin and KMS are concerned, the display is enabled properly.

Is there anything in KWin's log?
> journalctl --user-unit plasma-kwin_wayland --boot 0
(after reproducing the problem)
Comment 15 valdikss 2025-09-26 15:21:45 UTC
Created attachment 185295 [details]
files

I believe my issue is different: the display is not listed anywhere in my case.

What I did:
1. Wrote a script to run drm_info, kscreen-doctor, journalctl in the real seat session. The script waits for the file flag to be created to execute mentioned commands.
2. Disconnected the monitor, plug it again — no image on the screen
3. Connected over SSH and touched the file

Result:

* drm_info attached (shows no monitors connected)

* kscreen-doctor hang in ppoll() (strace'd it), with

    qt.qpa.wayland: There are no outputs - creating placeholder screen
    kscreen.kwayland: Connection to Wayland server timed out.
    kscreen.doctor: Invalid config.

Even after re-enabling the display (connected it to another port), it did not unhang.
Comment 16 valdikss 2025-09-26 16:17:43 UTC
Created attachment 185297 [details]
video demo

Just tested liveCDs, to make sure this is not a fault of my configuration or kernel version.

* Fedora-Workstation-Live-42-1.1.x86_64.iso — no issue, I can unplug the cable and plug it back again to the same port, the display will work
* Fedora-KDE-Desktop-Live-42-1.1.x86_64.iso — if I unplug the cable and plug it back into the same port, the display won't work
Comment 17 Zamundaaa 2025-09-26 16:45:56 UTC
If no display is detected, then that's a different problem, which you can report at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues
Comment 18 valdikss 2025-09-26 16:49:24 UTC
I found something!

/sys/class/drm/card1/card1-DP-*/{enabled,status}

As soon as I unplug the cable, on this port:
* status=disconnected
* enabled=enabled (!)

If I plug in the cable, it stays the same (no display output).

But if I plug the cable into different port, the previous port becomes

* status=disconnected
* enabled=disabled
Comment 19 valdikss 2025-09-26 16:49:57 UTC
(In reply to Zamundaaa from comment #17)
> If no display is detected, then that's a different problem, which you can
> report at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues

It works on Gnome, this doesn't seem a kernel issue.
Comment 20 valdikss 2025-09-26 16:57:49 UTC
In Gnome, when I unplug the cable, it's disabled,disconnected

In KDE, it's enabled,disconnected.
Comment 21 Zamundaaa 2025-09-26 20:38:11 UTC
(In reply to valdikss from comment #19)
> (In reply to Zamundaaa from comment #17)
> > If no display is detected, then that's a different problem, which you can
> > report at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues
> 
> It works on Gnome, this doesn't seem a kernel issue.
It doesn't matter if Gnome doesn't happen to trigger the kernel bug, it's still a kernel bug and not something we can fix.
Comment 22 valdikss 2025-09-26 20:51:55 UTC
(In reply to Zamundaaa from comment #21)
> (In reply to valdikss from comment #19)
> > (In reply to Zamundaaa from comment #17)
> > > If no display is detected, then that's a different problem, which you can
> > > report at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues
> > 
> > It works on Gnome, this doesn't seem a kernel issue.
> It doesn't matter if Gnome doesn't happen to trigger the kernel bug, it's
> still a kernel bug and not something we can fix.

All right, in order to report it efficiently to i915 developers, how could I debug it further? Is there anything I can use to collect the logs to understand what KDE does to trigger it, or at least in which subsystem it could be?
Any hits appreciated.