Summary: | [X11] After the monitor turns off, the corner/edge effects retrigger without a delay | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | tgnff242 |
Component: | Hotcorners and edges | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | guido.iodice, kde, nate |
Priority: | NOR | Keywords: | qt6, X11-only |
Version First Reported In: | 6.0.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://codereview.qt-project.org/c/qt/qtbase/+/663811 | Version Fixed In: | Qt 6.8.4, 6.9.2, and 6.10.0 |
Sentry Crash Report: | |||
Attachments: |
glxinfo
Triggering a hot corner after turning off the monitor. Fix screenedge reactivation |
Description
tgnff242
2024-03-11 01:11:33 UTC
Also, it seems that triggering the effects is not blocked by fullscreen applications, when this happens. Still present in KWin 6.0.3 / Qt 6.6.3. I've attempted to find the commit that introduced it, but, presumably because I was only building KWin, compilation fails. I'm assuming this might be hardware-depended, since others would have stumble upon it by now. I'm on a desktop, with an AMD RDNA1 GPU using Mesa. I'm attaching glxinfo. Created attachment 168257 [details]
glxinfo
Reproducible on: KDE Plasma Version: 6.1.0 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 I cannot reproduce in X11, can you confirm what action you had in your corner and ideally a video of the issue triggering. Created attachment 174084 [details]
Triggering a hot corner after turning off the monitor.
I have the Overview effect on the upper right and the Grid effect on the bottom right corner. I have reproduce the issue using a new user to make sure it's not one of my user's settings.
In the attached video, I'm moving the cursor constantly toward the upper right corner. At the first part of it, you can see how the Overview effect is constantly re-triggered. Then, I restart kwin and show that triggering the corner works as expected.
By the way, this bug makes it difficult to use the effects using the corners, because you need to move the cursor toward the corner again and again until the effect stays "on".
๐๐งน โ ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone! Adding the x11-only keyword *** Bug 506882 has been marked as a duplicate of this bug. *** I am affected by the same bug. It only occurs in multi-screen configurations. For example, if I start with the external monitor switched on and the integrated monitor switched off. Restarting kwin_x11 the problem disappears, but if I reactivate the internal monitor, it reappears. I did a little debugging, this is what I found. Working fine log [canActivate] "19:58:10.700" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "null" now: 32046666000 [canActivate] "19:58:10.716" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32046666000" lastTrigger: "null" now: 32046682000 [canActivate] "19:58:10.733" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32046666000" lastTrigger: "null" now: 32046706000 [canActivate] "19:58:10.750" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32046666000" lastTrigger: "null" now: 32046722000 [canActivate] "19:58:10.767" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32046666000" lastTrigger: "null" now: 32046737000 [canActivate] "19:58:10.783" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32046666000" lastTrigger: "null" now: 32046754000 [canActivate] "19:58:11.621" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "32047122000" now: 32047594000 [canActivate] "19:58:11.621" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047594000 [canActivate] "19:58:11.632" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047602000 [canActivate] "19:58:11.650" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047617000 [canActivate] "19:58:11.666" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047634000 [canActivate] "19:58:11.683" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047649000 [canActivate] "19:58:11.700" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047666000 [canActivate] "19:58:11.717" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32047594000" lastTrigger: "32047122000" now: 32047690000 [canActivate] "19:58:12.550" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "32047873000" now: 32048522000 [canActivate] "19:58:12.550" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048523000 [canActivate] "19:58:12.566" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048538000 [canActivate] "19:58:12.583" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048554000 [canActivate] "19:58:12.600" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048570000 [canActivate] "19:58:12.617" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048586000 [canActivate] "19:58:12.633" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32048522000" lastTrigger: "32047873000" now: 32048602000 [canActivate] "19:58:13.600" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "32048786000" now: 32049570000 [canActivate] "19:58:13.617" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32049570000" lastTrigger: "32048786000" now: 32049586000 [canActivate] "19:58:13.633" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32049570000" lastTrigger: "32048786000" now: 32049601000 [canActivate] "19:58:13.650" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32049570000" lastTrigger: "32048786000" now: 32049618000 [canActivate] "19:58:13.666" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32049570000" lastTrigger: "32048786000" now: 32049633000 [canActivate] "19:58:13.683" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32049570000" lastTrigger: "32048786000" now: 32049650000 Bugged behavior log [canActivate] "19:58:28.973" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "null" now: 32064946000 [canActivate] "19:58:28.981" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064954000 [canActivate] "19:58:28.988" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064961000 [canActivate] "19:58:28.998" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064969000 [canActivate] "19:58:29.004" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064978000 [canActivate] "19:58:29.016" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064986000 [canActivate] "19:58:29.020" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32064993000 [canActivate] "19:58:29.032" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32065002000 [canActivate] "19:58:29.036" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32065010000 [canActivate] "19:58:29.048" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32065018000 [canActivate] "19:58:29.052" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32064946000" lastTrigger: "null" now: 32065025000 [canActivate] "19:58:29.132" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "null" now: 32065097000 [canActivate] "19:58:29.132" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065097000" lastTrigger: "null" now: 32065105000 [canActivate] "19:58:29.167" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065097000" lastTrigger: "null" now: 32065138000 [canActivate] "19:58:29.182" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065097000" lastTrigger: "null" now: 32065153000 [canActivate] "19:58:29.198" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065097000" lastTrigger: "null" now: 32065170000 [canActivate] "19:58:29.215" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065097000" lastTrigger: "null" now: 32065185000 [canActivate] "19:58:29.684" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "null" now: 32065657000 [canActivate] "19:58:29.698" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065665000 [canActivate] "19:58:29.700" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065674000 [canActivate] "19:58:29.708" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065681000 [canActivate] "19:58:29.717" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065689000 [canActivate] "19:58:29.724" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065697000 [canActivate] "19:58:29.732" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065706000 [canActivate] "19:58:29.740" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065713000 [canActivate] "19:58:29.749" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065722000 [canActivate] "19:58:29.756" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065729000 [canActivate] "19:58:29.765" timeThreshold: 75 reActivationThreshold: 350 lastReset: "32065657000" lastTrigger: "null" now: 32065737000 [canActivate] "19:58:29.796" timeThreshold: 75 reActivationThreshold: 350 lastReset: "null" lastTrigger: "null" now: 32065769000 So "lastTrigger" is always null. I can propose a patch shortly. Created attachment 183442 [details]
Fix screenedge reactivation
Please see the attached patch.
it forces m_lastTrigger init on edges we have created in ScreenEdges::recreateEdges()
Tested on kwin-x11 6.4.3
Best!
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin-x11/-/merge_requests/55 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin-x11/-/merge_requests/57 On my PC, looks like this: https://codereview.qt-project.org/c/qt/qtbase/+/663811 resolve (also) this bug. This was apparently fixed in Qt with https://codereview.qt-project.org/c/qt/qtbase/+/663811. |