Summary: | [Wayland] DisplayPort monitor doesn't wake up if the PC wakes up from suspend first | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | valdikss |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | jpetso, kdedev, natalie_clarius, nate, xaver.hugl |
Priority: | NOR | Keywords: | wayland-only |
Version First Reported In: | 6.2.4 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=493974 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
drm_info when external DP monitor will not display
kscreen-doctor -o output from 2nd attempt files video demo |
Description
valdikss
2024-07-21 21:38:50 UTC
Still the issue as of KDE Neon neon-unstable-20240930-0323.iso 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. >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). 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 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. 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 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? (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. I temporarily "fixed" it by allowing suspend on the lock screen with an external hotkey daemon (Plasma lockscreen does not react on power button). 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 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. (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. 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
Created attachment 185284 [details]
kscreen-doctor -o output from 2nd attempt
This is from the 2nd attempt to reproduce
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)
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.
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
If no display is detected, then that's a different problem, which you can report at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues 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 (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. In Gnome, when I unplug the cable, it's disabled,disconnected In KDE, it's enabled,disconnected. (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. (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. |