Bug 517264 - Direct scanout doesn't work with many fractional scaling values
Summary: Direct scanout doesn't work with many fractional scaling values
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.6.2
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-03-07 23:03 UTC by Błażej Szczygieł
Modified: 2026-03-13 00:00 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Błażej Szczygieł 2026-03-07 23:03:02 UTC
SUMMARY
Direct scanout doesn't work with many fractional scaling values.

STEPS TO REPRODUCE
1. Set fractional scaling to e.g. 175% or 115% or 225% on 3840x2160 monitor.
2. Enable red-text which shows "Compositing".
3. Open full screen video player or game.

OBSERVED RESULT
Direct scanout is not working (red text is visible).

EXPECTED RESULT
Direct scanout is working.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 6.6.2
KDE Frameworks Version: 6.23.0
Qt Version: 6.10.2

ADDITIONAL INFORMATION
Direct scanout works with some other fractional scaling values like 150% or 125%.
Comment 1 Bug Janitor Service 2026-03-08 16:33:54 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8950
Comment 2 Vlad Zahorodnii 2026-03-10 11:13:02 UTC
Git commit 0e2e4258f61716c0e2c2386da389351d248cb858 by Vlad Zahorodnii, on behalf of Błażej Szczygieł.
Committed on 10/03/2026 at 10:42.
Pushed by vladz into branch 'master'.

scene/workspace: change rounding policy in 'addCandidates()'

Normal rounding matches how the renderer maps the surface coordinates
to the screen.

This allows direct scanout for various fractional scaling values.

M  +3    -3    src/scene/workspacescene.cpp

https://invent.kde.org/plasma/kwin/-/commit/0e2e4258f61716c0e2c2386da389351d248cb858
Comment 3 Vlad Zahorodnii 2026-03-10 12:12:19 UTC
Git commit efd01b1206bec39d69d35287d6bac976b52df48f by Vlad Zahorodnii.
Committed on 10/03/2026 at 11:20.
Pushed by vladz into branch 'Plasma/6.6'.

scene/workspace: change rounding policy in 'addCandidates()'

Normal rounding matches how the renderer maps the surface coordinates
to the screen.

This allows direct scanout for various fractional scaling values.


(cherry picked from commit 0e2e4258f61716c0e2c2386da389351d248cb858)

Co-authored-by: Błażej Szczygieł <mumei6102@gmail.com>

M  +3    -3    src/scene/workspacescene.cpp

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