Summary: | After disabling laptop screen while external screen is connected, re-enabling laptop screen using KScreen KCM (not the applet) makes it lose its Plasma containment until system is rebooted | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Nate Graham <nate> |
Component: | multi-screen | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | notmart, xaver.hugl |
Priority: | NOR | Keywords: | multiscreen, qt6, wayland |
Version: | master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=476340 https://bugs.kde.org/show_bug.cgi?id=476342 |
||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/c1312a555169c801b2c116a7b333443730092e07 | Version Fixed In: | |
Sentry Crash Report: |
Description
Nate Graham
2023-10-30 20:58:25 UTC
Rebooting the computer makes the Plasma containment come back. I assume rebooting KWin itself would do the same. Reducing severity to only Major. After that reboot, the manifestation of the bug I experienced here is now different: at step 4, the entire system experiences a visual freeze (not a functional freeze; I can still interact with things). If I switch to VT3 and then back to 2, the visual freeze on the external monitor is fixed, but the laptop screen remains visually frozen. See Bug 476342. After Bug 476340 and Bug 476342 are fixed, I'll re-test this to see if it's still happening as originally described. Found the way to reproduce it reliably: 1. Have a laptop (it has a 4k screen normally run at 200% scale) 2. Plug in an external HDMI screen, either directly, or via a DisplayPort dongle (doesn't seem to make a difference) 3. Use the KScreen applet to invoke "Switch to External Screen" mode. The laptop screen correctly turns off 4. Open the KScreen KCM (*not* the applet) and manually re-enable the disabled laptop screen 5. Experiencing the freeze described in Bug 476342; switch to another VT and then back to recover Result: the laptop screen is turned on, but its' lost its containment. So what happens to the Plasma containment is different when enabling that containment's screen from the KCM vs using the applet's "Extend to left" or "Extend to right" feature. Git commit c1312a555169c801b2c116a7b333443730092e07 by Xaver Hugl. Committed on 09/11/2023 at 12:35. Pushed by zamundaaa into branch 'master'. backends/drm: fix pageflip events getting lost when outputs get turned off When a display gets turned off while a pageflip event was still pending, the pending state gets changed immediately, without waiting for the pageflip event to arrive first. When this happens, activePending() returns false, and so the pageflip event gets discarded. This commit changes the logic to only check for activePending() when the pageflip is for a modeset, avoiding that issue. Related: bug 476340, bug 476342, bug 437520, bug 475146 M +10 -2 src/backends/drm/drm_commit.cpp M +2 -0 src/backends/drm/drm_commit.h M +5 -2 src/backends/drm/drm_pipeline.cpp M +2 -1 src/backends/drm/drm_pipeline.h https://invent.kde.org/plasma/kwin/-/commit/c1312a555169c801b2c116a7b333443730092e07 |