Bug 421237 - Changing Activities effect broken on Wayland ( from kwin master )
Summary: Changing Activities effect broken on Wayland ( from kwin master )
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: activities (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-09 17:51 UTC by Alexandre Pereira
Modified: 2021-01-03 22:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandre Pereira 2020-05-09 17:51:05 UTC
SUMMARY
I think it started this week (4~10 May 2020), but the effect of changing activities on kwin on wayland is broken. somehow now it has some pixels cut off from the wallpaper at the borders.
I don't know how to "screenshot it", but what happens is: some 40 pixels from all borders (left, top, right, bottom borders) are cut black. When the effect ends, the black borders disappear.

I am using multiple monitors. It doesn't happen on X11.

I am using opensuse kde git packages.

STEPS TO REPRODUCE
1. Login on git packages kwin wayland
2. Change activity
3. Notice the effect

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Vlad Zahorodnii 2020-05-12 06:12:40 UTC
Hmm, activities are unsupported on Wayland. Did you mean that the default virtual desktop switching animation (the slide effect) is broken on wayland?
Comment 2 Alexandre Pereira 2020-05-12 07:18:44 UTC
(In reply to Vlad Zahorodnii from comment #1)
> Hmm, activities are unsupported on Wayland. Did you mean that the default
> virtual desktop switching animation (the slide effect) is broken on wayland?

yes, sorry for the bad wording. I mean the slide effect.
Comment 3 Vlad Zahorodnii 2020-05-12 07:24:33 UTC
Hmm, could it be the gap between virtual desktops? Have you tried settings gap values in the kcm of the slide effect to 0?
Comment 4 Vlad Zahorodnii 2020-05-12 07:24:45 UTC
setting*
Comment 5 Alexandre Pereira 2020-05-12 07:44:06 UTC
no, its not that. but i did set to 0 the gaps on that effect.

I am trying to upload a video that I did with the mobile phone to youtube to show what happens. I will post the link here as soon as it is uploaded.
Comment 6 Alexandre Pereira 2020-05-12 08:29:50 UTC
here it is: https://youtu.be/sVQB_JWcOr4

sorry for the bad quality, hope you can understand it ( see the corners disappear (turn black) while in the effect )
Comment 7 Thiago Sueto 2020-09-03 03:13:32 UTC
I can't reproduce this on current master branch.
Comment 8 Alexandre Pereira 2020-09-03 11:14:23 UTC
(In reply to Thiago Sueto from comment #7)
> I can't reproduce this on current master branch.

I just updated opensuse git packages and its still present.
I will test it again tomorrow.
Comment 9 Vlad Zahorodnii 2020-09-03 14:16:30 UTC
From the video, it looks like the rendering issues are present only on the secondary monitor, right?
Comment 10 Vlad Zahorodnii 2020-09-03 14:18:13 UTC
Are screen edges clipped when the blur effect is disabled?
Comment 11 Alexandre Pereira 2020-09-03 20:42:52 UTC
(In reply to Vlad Zahorodnii from comment #10)
> Are screen edges clipped when the blur effect is disabled?

Nailed, that is it ! without blur, it doesn't clip them !
Comment 12 Vlad Zahorodnii 2020-09-07 09:42:35 UTC
After a bit more thorough look at paintSimpleScreen(), I haven't found anything suspicious. Furthermore, it looks like only parts that contain old desktop contents are clipped. It can be easily verified by reducing the animation speed.

My assumption is that plasma creates a new texture during the switch animation and renders only desktop contents on the new activity. The area that contains the old desktop contents is left uninitialized.
Comment 13 Bug Janitor Service 2020-10-02 16:04:34 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/318
Comment 14 Alexandre Pereira 2020-10-02 16:09:47 UTC
Thanks !
Vlad, I will test and report back as soon as opensuse git daily packages release the daily package with this fix !
Comment 15 Vlad Zahorodnii 2020-12-14 14:09:50 UTC
Git commit 3e1443e003bf5fc0e20dd7de49505fd0227bdce4 by Vlad Zahorodnii.
Committed on 14/12/2020 at 14:09.
Pushed by vladz into branch 'master'.

wayland: Don't force a bpp of 24 for desktop windows

plasmashell provides the compositor buffers with an alpha channel and
without indicating the opaque region. Given that, kwin forces a bpp of
24 for desktop windows to improve performance. Unfortunately, there are
legit cases where plasma may attach a buffer that is not fully opaque,
for example when switching between activities.
Related: bug 423545

M  +1    -1    waylandclient.cpp

https://invent.kde.org/plasma/kwin/commit/3e1443e003bf5fc0e20dd7de49505fd0227bdce4
Comment 16 Alexandre Pereira 2020-12-16 12:48:46 UTC
awesome :) just tested it  on git master and its awesome :)
thank you !
Comment 17 David Edmundson 2021-01-03 22:18:24 UTC
Git commit 0d02ac8996db2d9fff8b3bf5e3e313a563a118af by David Edmundson.
Committed on 03/01/2021 at 22:18.
Pushed by davidedmundson into branch 'master'.

[shell] Set DesktopView to black when no contents are loaded

This is better than the ContainmentView default of clear as it means we
don't get garbage from the root window.
Related: bug 423545

M  +2    -0    shell/desktopview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/0d02ac8996db2d9fff8b3bf5e3e313a563a118af