Bug 519129 - Icons and Plasma Style are blurry with fractional scaling
Summary: Icons and Plasma Style are blurry with fractional scaling
Status: RESOLVED FIXED
Alias: None
Product: Breeze
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.6.4
Platform: Fedora RPMs Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-04-19 02:03 UTC by warren
Modified: 2026-06-17 07:25 UTC (History)
2 users (show)

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


Attachments
same panel size visually at 100 and 125 scaling (107.19 KB, image/png)
2026-04-19 02:03 UTC, warren
Details

Note You need to log in before you can comment on or make changes to this bug.
Description warren 2026-04-19 02:03:49 UTC
Created attachment 191627 [details]
same panel size visually at 100 and 125 scaling

SUMMARY
I notice blurry icons were a reported issue but there's a second problem that the entire panel and application launcher has visual artifacts from being stretched. The indicator of an active window is meant to be a sharp line but instead it has a pillow appearance. It kind of ruins the intended look of breeze.

STEPS TO REPRODUCE
1. set scaling to 125%
2. wish you had a different monitor

OBSERVED RESULT
the entire panel and application launcher is blurry and has interpolation artifacts.
EXPECTED RESULT
sharpness to not be affected when using a common scaling

SOFTWARE/OS VERSIONS
Fedora 43
KDE Plasma Version: 6.6.4
KDE Frameworks Version: 6.25.0
Qt Version: 6.10.3
Comment 1 Akseli Lahtinen 2026-04-20 09:58:32 UTC
Can confirm this happens

Operating System: KDE Linux 2026-04-20
KDE Plasma Version: 6.6.80
KDE Frameworks Version: 6.26.0
Qt Version: 6.11.0
Kernel Version: 6.19.11-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 16 GiB of RAM (15.5 GiB usable)
Graphics Processor: AMD Radeon RX 6600
Comment 2 Bug Janitor Service 2026-06-16 14:27:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/2115
Comment 3 Marco Martin 2026-06-17 07:25:08 UTC
Git commit 3c8de8d17dd16dd97866576adbdb8456840fc1cf by Marco Martin, on behalf of Arjen Hiemstra.
Committed on 17/06/2026 at 07:24.
Pushed by mart into branch 'master'.

primitives: Base Icon's node size on icon size, not item size

To avoid artifacts, we need to make sure we try as best as possible to
match the rendered geometry to texture size. Any deviation results in
the GPU having to do interpolation on the texture which can lead to
artifacts like blurriness.

Since we already calculate the expected size we paint at in
updatePaintedSize(), we can use that value as size and only need to
center the resulting geometry. The shader will then take care of
ensuring we don't end up at fractional pixels.
Related: bug 391315, bug 518041, bug 408215

M  +4    -16   src/primitives/icon.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/3c8de8d17dd16dd97866576adbdb8456840fc1cf
Comment 4 Marco Martin 2026-06-17 07:25:46 UTC
Git commit 0a6cb3ecda707e6e4bb40a7344d9c3a842075f2f by Marco Martin.
Committed on 17/06/2026 at 07:25.
Pushed by mart into branch 'Frameworks/6.24'.

primitives: Base Icon's node size on icon size, not item size

To avoid artifacts, we need to make sure we try as best as possible to
match the rendered geometry to texture size. Any deviation results in
the GPU having to do interpolation on the texture which can lead to
artifacts like blurriness.

Since we already calculate the expected size we paint at in
updatePaintedSize(), we can use that value as size and only need to
center the resulting geometry. The shader will then take care of
ensuring we don't end up at fractional pixels.
Related: bug 391315, bug 518041, bug 408215


(cherry picked from commit 3c8de8d17dd16dd97866576adbdb8456840fc1cf)

Co-authored-by: Arjen Hiemstra <[email protected]>

M  +4    -16   src/primitives/icon.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/0a6cb3ecda707e6e4bb40a7344d9c3a842075f2f