Bug 499923 - Changing legacy X11 app scaling setting does not take effect in open apps immediately anymore
Summary: Changing legacy X11 app scaling setting does not take effect in open apps imm...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kscreen (show other bugs)
Version: 6.3.0
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords: regression, usability
Depends on:
Blocks:
 
Reported: 2025-02-12 20:46 UTC by kodatarule
Modified: 2025-03-04 22:37 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.3.3
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kodatarule 2025-02-12 20:46:14 UTC
SUMMARY
on a 4K screen when you have scaling to 150% and set "scaled by the system"(it is quite improved in plasma 6.3 even though some blur remains) it glitches all fullscreen/borderless windowed applications/games.

STEPS TO REPRODUCE
1. Have 4K screen set to 150% fractional scaling and set "scaled by the system" for legacy x11 applications 
2. Start a game for example which uses xwayland - most games on steam through proton

OBSERVED RESULT
The game gets locked to 1440p max resolution it doesn't let you pick 4K

EXPECTED RESULT
To be able to pick 4K resolution(3840x2160) without issues

SOFTWARE/OS VERSIONS
Operating System: CachyOS Linux 
KDE Plasma Version: 6.3.0
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.2
Kernel Version: 6.13.2-1-cachyos-bmq (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5800X3D 8-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3090
Comment 1 unhappy-ending 2025-02-17 13:58:50 UTC
I'm having this same exact issue. Games launched via Steam Proton are being rendered in 1440p at 150% for me which is actually breaking interlaced 3D that requires native resolution. I have not tested native games.
Comment 2 David Edmundson 2025-02-17 14:24:07 UTC
>1. Have 4K screen set to 150% fractional scaling and set "scaled by the system" for legacy x11 applications 

setting this means it is expected that the application will not see the native resolution, as the system is scaling it.
Comment 3 David Edmundson 2025-02-17 14:25:07 UTC
Choose the other scaling setting if you want games to have native resolution
Comment 4 unhappy-ending 2025-02-17 14:53:36 UTC
(In reply to David Edmundson from comment #3)
> Choose the other scaling setting if you want games to have native resolution

That was the first thing I tried and it still doesn't work.
Comment 5 unhappy-ending 2025-02-17 14:57:18 UTC
Had to log out and back in for the change to take effect. Maybe it should be noted somewhere when changing the setting?
Comment 6 kodatarule 2025-02-24 15:05:54 UTC
I have also observed that his affects native wayland(you can use proton cachyos to try the native wayland and the game is locked to 1440p regardless of the global scaling chosen)
Comment 7 Nate Graham 2025-03-03 21:20:24 UTC
My mistake: after talking with a KWin developer, it's actually not expected that it fails to take effect immediately. That's what should be fixed, so I'm changing the title to reflect it.
Comment 8 Zamundaaa 2025-03-04 16:10:04 UTC
Git commit 6913ab9e4f34a99cc1e07077a9d85feacc05dc10 by Xaver Hugl.
Committed on 04/03/2025 at 15:54.
Pushed by zamundaaa into branch 'master'.

workspace: watch kdeglobals and update Xwayland scale accordingly

The code assumed that KScreen would send KWin a new output configuration, and thus
Workspace::applyOutputConfiguration would run when the Xwayland scale setting is changed.

If you only change that setting and no other output setting though, that doesn't happen,
so until this setting is moved into the normal configuration mechanism, we have to update
the Xwayland scale when the config value in kdeglobals changes.

M  +1    -0    src/main.cpp
M  +6    -0    src/main.h
M  +22   -11   src/workspace.cpp
M  +2    -0    src/workspace.h

https://invent.kde.org/plasma/kwin/-/commit/6913ab9e4f34a99cc1e07077a9d85feacc05dc10
Comment 9 Zamundaaa 2025-03-04 17:19:11 UTC
Git commit 86264ec740cb035fb1213771fe686af2b9099c80 by Xaver Hugl.
Committed on 04/03/2025 at 17:03.
Pushed by zamundaaa into branch 'Plasma/6.3'.

workspace: watch kdeglobals and update Xwayland scale accordingly

The code assumed that KScreen would send KWin a new output configuration, and thus
Workspace::applyOutputConfiguration would run when the Xwayland scale setting is changed.

If you only change that setting and no other output setting though, that doesn't happen,
so until this setting is moved into the normal configuration mechanism, we have to update
the Xwayland scale when the config value in kdeglobals changes.
(cherry picked from commit 6913ab9e4f34a99cc1e07077a9d85feacc05dc10)

M  +1    -0    src/main.cpp
M  +6    -0    src/main.h
M  +22   -11   src/workspace.cpp
M  +2    -0    src/workspace.h

https://invent.kde.org/plasma/kwin/-/commit/86264ec740cb035fb1213771fe686af2b9099c80