Bug 428594 - Firefox window thumbnails are sometimes empty
Summary: Firefox window thumbnails are sometimes empty
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland
: 433860 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-11-02 09:05 UTC by Vlad Zahorodnii
Modified: 2022-01-11 14:36 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.21


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vlad Zahorodnii 2020-11-02 09:05:46 UTC
STEPS TO REPRODUCE
1. Open several Firefox windows, make sure that native wayland support is enabled

OBSERVED RESULT
Some Firefox window thumbnails are empty.

EXPECTED RESULT
Proper window thumbnails.
Comment 1 Patrick Silva 2020-11-15 19:32:27 UTC
Window thumbnails of non-Qt/GTK3 apps are always empty, see bug 427245
Comment 2 Bug Janitor Service 2021-01-22 18:15:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/609
Comment 3 Bug Janitor Service 2021-01-25 15:41:19 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/618
Comment 4 Aleix Pol 2021-01-28 18:28:14 UTC
Git commit 92c00d1dc395f605d99f27a1bca757a315cbc73e by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 28/01/2021 at 18:24.
Pushed by apol into branch 'master'.

screencasting: generate the composed textures with the proper size

Don't neglect the scale of the buffer for windows that we are rendering
on the spot.
Otherwise we will be offering a smaller size to what we are generally
using. More importantly, the ScreencastManager expects the buffers
scaled. This causes glitches when the stream starts otherwise as the
first frame triggers a resize.

M  +2    -2    plugins/scenes/opengl/scene_opengl.cpp

https://invent.kde.org/plasma/kwin/commit/92c00d1dc395f605d99f27a1bca757a315cbc73e
Comment 5 Aleix Pol 2021-01-28 18:28:22 UTC
Git commit 38e656ba7ec6d6b7fbb04e499fb6c23319e95fc9 by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 28/01/2021 at 18:24.
Pushed by apol into branch 'master'.

screencast: Properly report the initial size of windowed streams

Otherwise we'll be triggering a resize request first thing and never
hear back from the stream until a new frame is requested (which is often
rare when looking at a thumbnail).

M  +1    -1    plugins/screencast/screencastmanager.cpp

https://invent.kde.org/plasma/kwin/commit/38e656ba7ec6d6b7fbb04e499fb6c23319e95fc9
Comment 6 Aleix Pol 2021-01-28 18:29:10 UTC
Git commit 2daa5a62610892d9d014e25c30f78e5d7befa549 by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 28/01/2021 at 18:29.
Pushed by apol into branch 'Plasma/5.21'.

screencasting: generate the composed textures with the proper size

Don't neglect the scale of the buffer for windows that we are rendering
on the spot.
Otherwise we will be offering a smaller size to what we are generally
using. More importantly, the ScreencastManager expects the buffers
scaled. This causes glitches when the stream starts otherwise as the
first frame triggers a resize.


(cherry picked from commit 92c00d1dc395f605d99f27a1bca757a315cbc73e)

M  +2    -2    plugins/scenes/opengl/scene_opengl.cpp

https://invent.kde.org/plasma/kwin/commit/2daa5a62610892d9d014e25c30f78e5d7befa549
Comment 7 Aleix Pol 2021-01-28 18:29:25 UTC
Git commit e1b89e849f932112af4c55844a789797a1fe747e by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 28/01/2021 at 18:29.
Pushed by apol into branch 'Plasma/5.21'.

screencast: Properly report the initial size of windowed streams

Otherwise we'll be triggering a resize request first thing and never
hear back from the stream until a new frame is requested (which is often
rare when looking at a thumbnail).


(cherry picked from commit 38e656ba7ec6d6b7fbb04e499fb6c23319e95fc9)

M  +1    -1    plugins/screencast/screencastmanager.cpp

https://invent.kde.org/plasma/kwin/commit/e1b89e849f932112af4c55844a789797a1fe747e
Comment 8 Vlad Zahorodnii 2021-03-05 10:12:14 UTC
*** Bug 433860 has been marked as a duplicate of this bug. ***
Comment 9 Vlad Zahorodnii 2021-03-05 10:12:34 UTC
This bug is still reproducible.
Comment 10 Aleix Pol 2021-04-16 16:59:50 UTC
Git commit b68cd3110a2f6a706543f8f38d3a8eede6ba57b1 by Aleix Pol.
Committed on 16/04/2021 at 15:18.
Pushed by apol into branch 'master'.

Fix streaming of windows when we are using a mix of scales

At the moment a streamed screen when the screen scale was differnt
buffer scale would render wrong. This change addresses it by
compensating it.

This change compensates it resizing the rendered viewport to their
difference.

M  +7    -6    src/plugins/scenes/opengl/scene_opengl.cpp

https://invent.kde.org/plasma/kwin/commit/b68cd3110a2f6a706543f8f38d3a8eede6ba57b1
Comment 11 Patrick Silva 2021-04-23 11:48:19 UTC
it's still reproducible when I have several instances of Firefox grouped in the
task manager.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.21.80
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Graphics Platform: Wayland
Comment 12 Vlad Zahorodnii 2021-04-23 11:56:38 UTC
Reopening the bug report as per comment 11.
Comment 13 Nate Graham 2021-04-23 13:21:50 UTC
See also Bug 427826.
Comment 14 Vlad Zahorodnii 2021-12-17 10:12:41 UTC
Haven't seen this issue in a while.
Comment 15 Patrick Silva 2021-12-17 12:14:16 UTC
Weird. It's still happening on my neon unstable when I have Firefox instances grouped in the classic task manager.
Comment 16 Vlad Zahorodnii 2022-01-11 13:56:27 UTC
> grouped in the classic task manager.

what's that?
Comment 17 Patrick Silva 2022-01-11 14:36:06 UTC
(In reply to Vlad Zahorodnii from comment #16)
> > grouped in the classic task manager.
> 
> what's that?

Right-click on task manager, choose 'Show alternatives...'.
The option 'Task manager' is the 'classic task manager'.