Bug 521960 - Poor performance in fullscreen video in Chromium browsers
Summary: Poor performance in fullscreen video in Chromium browsers
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.7.80
Platform: KDE Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-22 02:05 UTC by Matthew Vinton
Modified: 2026-06-25 13:38 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.7.2
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Vinton 2026-06-22 02:05:01 UTC
DESCRIPTION
In KDE Linux, when using a Chromium browser (Google Chrome in Flatpak, for instance), when trying to play full screen video it is unable to, appearing to freeze.

STEPS TO REPRODUCE
1. Install Google Chrome
2. Find a Youtube video
3. Click the "Full screen" button

OBSERVED RESULT
The video zooms to full screen, but maybe gets 2 or 3 frame advances before it freezes.

EXPECTED RESULT
The video plays smoothly.

SOFTWARE/OS VERSIONS
Operating System (available in the Info Center app, or by running `kinfo` in a terminal window):
KDE Plasma Version: 6.7.80
KDE Frameworks Version: 6.28.0
Qt Version: 6.11.1

ADDITIONAL INFORMATION
Using an Radeon 9070XT graphics card. I used live distributions to confirm that, for instance, Fedora KDE Plasma 44 was able to play the videos correctly. I also rebooted using a KDE Linux live USB to observe that the issue occurred there. Firefox works correctly.
Comment 1 Zamundaaa 2026-06-23 17:13:41 UTC
Git commit a379d1d66f9a7902fe64e4e57a12ce50ef483968 by Xaver Hugl.
Committed on 23/06/2026 at 16:42.
Pushed by zamundaaa into branch 'master'.

scene/surfaceitem_wayland: immediately update the release point of the texture

The texture's buffer and release point will be changed before the next time it's
accessed, so keeping the old release point referenced just unnecessarily keeps a
buffer from being re-used by the client.

This works around some freezes in Chromium, which doesn't deal well with buffers
being kept referenced by KWin after it sets a different one on the surface.
Related: bug 521687

M  +4    -0    src/scene/surfaceitem_wayland.cpp
M  +5    -0    src/scene/texture.cpp
M  +1    -0    src/scene/texture.h

https://invent.kde.org/plasma/kwin/-/commit/a379d1d66f9a7902fe64e4e57a12ce50ef483968
Comment 2 Zamundaaa 2026-06-23 19:18:11 UTC
Git commit 83e413ab71aac79c14de7e90e941fb2a0b314477 by Xaver Hugl.
Committed on 23/06/2026 at 17:26.
Pushed by zamundaaa into branch 'Plasma/6.7'.

scene/surfaceitem_wayland: immediately update the release point of the texture

The texture's buffer and release point will be changed before the next time it's
accessed, so keeping the old release point referenced just unnecessarily keeps a
buffer from being re-used by the client.

This works around some freezes in Chromium, which doesn't deal well with buffers
being kept referenced by KWin after it sets a different one on the surface.
Related: bug 521687


(cherry picked from commit a379d1d66f9a7902fe64e4e57a12ce50ef483968)

Co-authored-by: Xaver Hugl <xaver.hugl@kde.org>

M  +4    -0    src/scene/surfaceitem_wayland.cpp
M  +5    -0    src/scene/texture.cpp
M  +1    -0    src/scene/texture.h

https://invent.kde.org/plasma/kwin/-/commit/83e413ab71aac79c14de7e90e941fb2a0b314477
Comment 3 Matthew Vinton 2026-06-25 01:10:33 UTC
I can confirm that resolved the issue on my end. Also seems to have resolved issues I was having with Electron apps exhibiting jittery scrolling when acceleration was enabled.