Bug 523353 - virtual screen - fullscreen is broken in chromium-based browsers
Summary: virtual screen - fullscreen is broken in chromium-based browsers
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (other bugs)
Version First Reported In: 6.7.3
Platform: openSUSE Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2026-07-21 17:23 UTC by Paulo Dias
Modified: 2026-07-22 14:07 UTC (History)
3 users (show)

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


Attachments
info.log (134.08 KB, text/x-log)
2026-07-21 17:23 UTC, Paulo Dias
Details
kwin.log (3.57 KB, text/x-log)
2026-07-21 17:23 UTC, Paulo Dias
Details
0001-backends-drm-restore-virtual-output-scanout-checks.patch (1.96 KB, patch)
2026-07-21 17:55 UTC, Paulo Dias
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paulo Dias 2026-07-21 17:23:42 UTC
Created attachment 194500 [details]
info.log

DESCRIPTION
virtual screen - fullscreen is broken in chromium based browsers

STEPS TO REPRODUCE
1. run any chromium based browser in a virtual screen
2. run any video full screen (youtube for ex)
3. video freezes after a few seconds, sound continues, UI is frozen until the browser is killed

OBSERVED RESULT
video freezes after a few seconds, sound continues, UI is frozen until the browser is killed

EXPECTED RESULT
video should run normally

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20260718
KDE Plasma Version: 6.7.3
KDE Frameworks Version: 6.28.0
Qt Version: 6.11.1
Kernel Version: 7.1.3-1-default (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 8945HS w/ Radeon 780M Graphics
Memory: 32 GiB of RAM (30,7 GiB usable)
Graphics Processor: AMD Radeon 780M Graphics

ADDITIONAL INFORMATION
until and up to 6.7.2 , adding KWIN_DRM_NO_DIRECT_SCANOUT=1 fixed the issue.
starting with 6.7.3 something changed and the video is frozen IN VIRTUAL SCREENS ONLY.
the "physical" screen aka my monitor works just fine, if i move the browser to the virtual screen, video freezes.

> drm_info > info.log
and
> journalctl --user-unit plasma-kwin_wayland --boot 0 > kwin.log
in attachment
Comment 1 Paulo Dias 2026-07-21 17:23:57 UTC
Created attachment 194501 [details]
kwin.log
Comment 2 Paulo Dias 2026-07-21 17:28:04 UTC
further testing:
haruna and firefox in fullscreen work fine, this "bug" only affects chromium based apps AFAIK.
Comment 3 Paulo Dias 2026-07-21 17:54:46 UTC Comment hidden (spam)
Comment 4 Paulo Dias 2026-07-21 17:55:23 UTC
Created attachment 194503 [details]
0001-backends-drm-restore-virtual-output-scanout-checks.patch
Comment 5 Zamundaaa 2026-07-21 20:12:32 UTC
Don't submit patches on bugzilla, and especially don't dump LLM output in here.

Removing the check wasn't accidental. In the long term, the "direct scanout" from the virtual outputs will be removed entirely, in favor of just never rendering at all (since you literally can't see the result anyways).
The virtual outputs don't interact with KMS drivers or even asks apps to re-allocate, if there's any problem with it that doesn't happen with rendering, that problem is almost certainly in KWin and needs to be fixed, not worked around.
Comment 6 Bug Janitor Service 2026-07-21 20:18:37 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9618
Comment 7 Zamundaaa 2026-07-22 12:44:17 UTC
Git commit 05df3e5199ec6f18386456df51d1675eed66da09 by Xaver Hugl.
Committed on 22/07/2026 at 11:01.
Pushed by zamundaaa into branch 'master'.

backends/drm: release the scanout buffer of virtual layers in beginFrame

Otherwise we just keep the client buffer until the next scanout cycle, which is
quite broken.

M  +2    -1    src/backends/drm/drm_virtual_egl_layer.cpp

https://invent.kde.org/plasma/kwin/-/commit/05df3e5199ec6f18386456df51d1675eed66da09
Comment 8 Zamundaaa 2026-07-22 13:40:11 UTC
Git commit a3e7e71dca0c9c3008d6a309fe96d6e4f0d8ec75 by Xaver Hugl.
Committed on 22/07/2026 at 12:55.
Pushed by zamundaaa into branch 'Plasma/6.7'.

backends/drm: release the scanout buffer of virtual layers in beginFrame

Otherwise we just keep the client buffer until the next scanout cycle, which is
quite broken.


(cherry picked from commit 05df3e5199ec6f18386456df51d1675eed66da09)

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

M  +2    -1    src/backends/drm/drm_virtual_egl_layer.cpp

https://invent.kde.org/plasma/kwin/-/commit/a3e7e71dca0c9c3008d6a309fe96d6e4f0d8ec75
Comment 9 Zamundaaa 2026-07-22 14:04:20 UTC
Git commit b5be7a6a81eceb33b603d6500d7435bf4e96bdbd by Xaver Hugl.
Committed on 22/07/2026 at 12:55.
Pushed by zamundaaa into branch 'Plasma/6.6'.

backends/drm: release the scanout buffer of virtual layers in beginFrame

Otherwise we just keep the client buffer until the next scanout cycle, which is
quite broken.


(cherry picked from commit 05df3e5199ec6f18386456df51d1675eed66da09)

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

M  +2    -1    src/backends/drm/drm_virtual_egl_layer.cpp

https://invent.kde.org/plasma/kwin/-/commit/b5be7a6a81eceb33b603d6500d7435bf4e96bdbd