tildearrow / kwin-lowlatency

archived - X11 full-screen unredirection and lots'a settings for KWin
373 stars 10 forks source link

Unredirection getting temporarily disabled by invisible notifications #119

Closed SeongGino closed 2 years ago

SeongGino commented 2 years ago

In the title.

To elaborate, it makes sense that a notification overlay would temporarily stop unredirection in a full screen application (games namely). However, even with Normal notifications' Show over full screen windows disabled, the screen flickers and compositor effects/vsync is reenacted for the duration of the (effectively invisible) notif until it's cleared and the fullscreen app regains unredirection.

This does not occur when Do Not Disturb is enabled.

Using Kwin-lowlatency 5.23.4. This has been observed with both Wine and Native fullscreen game windows in conjunction with Discord notifications.

tildearrow commented 2 years ago

Thanks for reporting this bug!

Run KWin-lowlatency in a terminal kwin_x11 --replace, then enable "debug full-screen unredirection" and trigger invisible notification. Report the output.

SeongGino commented 2 years ago

Happy Holidays, and sorry for the delay!

After looking at the log:

...
-----------------------
Testing window of size 1920x1080...
Scanning 0x562904da7590
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
Unredirection stopped
FOR CRASH: THE TOPLEVEL IS 0x562904b7d820
FOR CRASH: THE CLIENT IS 0x562904b7d820
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Effect blocks DS.
-----------------------
Testing window of size 1920x1080...
Scanning 0x562904da7590
Unredirection started
-----------------------
Testing window of size 1920x1080...
Scanning 0x562904da7590
-----------------------

...

...I checked my desktop effects, and it seems like the Fading Popups effect is the cause. Disabling this alleviates the mode switching on invisible popups.

tildearrow commented 2 years ago

Bug reproduced! I will try to fix it very soon. Thank you for the feedback!

tildearrow commented 2 years ago

Bad news: the Fading Popups is a JavaScript effect....

tildearrow commented 2 years ago

Please try 5.23.5. It should fix the issue (remember that it has to be installed as the culprit is a JavaScript effect)

SeongGino commented 2 years ago

Checked, and indeed it doesn't kill unredirection anymore.

Still a small visible judder when notifs do happen but I think that's somewhere else on Plasma's end and not necessarily Kwin.

tildearrow commented 2 years ago

Great! Closing issue then.