Bug 498669

Summary: Dialer's "active call list" screen remains visible after dialer has exited
Product: [Plasma] kwin Reporter: Marco Mattiolo <marco.mattiolo>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: brisk.wing4197, luis.buechi
Priority: NOR    
Version First Reported In: 6.2.4   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 6.3.5
Sentry Crash Report:
Attachments: journal log with KWin debug logs enabled
journal log with KWin debug logs enabled and triple buffering disabled

Description Marco Mattiolo 2025-01-14 20:48:58 UTC
SUMMARY
Please check [1]: when an incoming call is accepted in plasma-dialer on top of the lockscreen (i.e. through the kde_lockscreen_overlay_v1 protocol [2]), at the end of the call plasma-dialer exits but the "active call list" ghost window remains on top of the shell. As shown in the video in [1], it is still possible to interact with the shell underneath.
A reboot is needed to get back to a normal system on Mobian, while this is reported not to be enough e.g. on pmOS, where the workaround is to disable "session restore" feature. Main difference is that Mobian features a login manager, while pmOS launches plasma-mobile service automatically at boot.

[1] https://invent.kde.org/plasma-mobile/plasma-dialer/-/issues/89#note_1110009
[2] https://invent.kde.org/plasma/kwin/-/merge_requests/2385

STEPS TO REPRODUCE
1. press power button to get system locked (or wait for the lockscreen timeout to expire)
2. phone call is received on the plasma-mobile system, "incoming call" screen is shown on top of lockscreen
3. accept call, then close it

OBSERVED RESULT
"active call list" screen remains on top of the screen

EXPECTED RESULT
no dialer-related screen should be shown after the call is ended

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Mobian testing on op6-enchilada (Linux 6.12-qcom)
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.7.2

ADDITIONAL INFORMATION
The issue seems related to the Qt6 transition in plasma-dialer, then it could very well be that the dialer's invocation of the lockscreen_overlay protocol needs to be ported. Generally, it's not clear whether the issue is on the dialer's or on kwin's side, then any hint on getting additional logs is welcome.
Comment 1 Marco Mattiolo 2025-02-16 17:06:37 UTC
Created attachment 178443 [details]
journal log with KWin debug logs enabled

I hope some log with KWin debug output can help: IMO those 2 lines

feb 16 17:56:18 mobian kwin_wayland_wrapper[1250]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaad31f4570: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.011 ms)
feb 16 17:56:18 mobian kwin_wayland_wrapper[1250]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaad1d6f480: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.036 ms)

show something in the system being overloaded?
Comment 2 Marco Mattiolo 2025-02-16 17:14:31 UTC
Created attachment 178444 [details]
journal log with KWin debug logs enabled and triple buffering disabled

Another log, now setting KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1 before rebooting. Those
feb 16 18:07:53 mobian kwin_wayland_wrapper[1221]: kwin_scene_opengl: 0x1: fd_acc_get_query_result: a busy "0xaaaaeac74b40: target=buffer, format=r8_unorm, 4096x1x1, array_size=1, last_level=0, nr_samples=0, usage=0, bind=40000, flags=0" BO stalled (0.027 ms)
lines at the end refer to the "active call list" screen being stuck on the display: I tap on the screen at random places, sometime I get a vibration feedback (like if I'm interacting with an invisible Plasma shell under the ghost screen) and those lines are triggered in the logs.
Comment 3 Luis B 2025-04-25 17:03:18 UTC
This is now fixed with https://invent.kde.org/plasma/kwin/-/merge_requests/7552 (cherry-pick for 6.3 in: https://invent.kde.org/plasma/kwin/-/merge_requests/7556 )