You are not logged in.

#1 2025-10-11 23:36:51

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Window Scaling since KDE Update

I have two monitors, the primary is a 2560x1440 in a normal orientation, and the secondary is 1920x1080 rotated vertically, and with a .75 scaling to make things look right.

Since a recent KDE update, I think from 6.4.4 to 6.4.5, I noticed that certain apps (brave is one example, signal-desktop is another) look normal on the primary monitor, but if I drag it to the second monitor, their size shrinks suddenly, and some app elements become unresponsive. If I change focus to and from that app, it shrinks again. Dragging it back to the primary monitor keeps it at the new size, but fixes the issue.

I have no idea what is going on or how to even begin to search this bug. Things used to work fine (for years), this is definitely a new issue. Any advice on how to debug or solve this issue would be appreciated.

Here's a video roughly demonstrating the issue https://www.youtube.com/watch?v=p_DjVTm-sqQ

Offline

#2 2025-10-12 14:57:40

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

Looks like the vertical output runs at a higher resolution than the landscape one - do you (intend to) apply the 75% scaling on all outputs or only the vertical one?
On top of that electron (chromium, basis of brave and signal) seems to be trying to be extra-smart and shrink themselves to … errr… preserve the screen estate ratio?
(That one makes no sense to me at all)

qdbus6 org.kde.KWin /KWin supportInformation
kscreen-doctor

Offline

#3 2025-10-12 15:11:00

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

As I said, the vertical monitor is 1920x1080, but it's scaled at .75, which makes the DPI match the horizontal one. The video may appear a little funny because of the black background, but there's a little extra space above and below the horizontal monitor.

KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 6.4.5
Qt Version: 6.10.0
Qt compile version: 6.10.0
XCB compile version: 1.17.0

Operation Mode: Wayland

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12401008
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
RES: yes; Version: 0x12

Decoration
==========
Plugin: org.kde.kwin.aurorae
Theme: __aurorae__svg__Materia-Dark
Plugin recommends border size: No
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 9, 3, 4, 5
borderSize: 0
gridUnit: 10
font: LiterationSans Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true

Cursor
======
themeName: volantes_cursors
themeSize: 32

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 5
cornerBarrier: 1
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseOnReleaseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
doubleClickBorderToMaximize: true
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
compositingMode: 1
allowTearing: true
interactiveWindowMoveEnabled: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Number of Screens: 4

Screen 0:
---------
Name: HDMI-A-1
Enabled: 0
Screen 1:
---------
Name: DP-1
Enabled: 0
Screen 2:
---------
Name: DP-2
Enabled: 1
Geometry: 2560,0,1440x2560
Physical size: 597x336mm
Scale: 0.75
Refresh Rate: 60000
Adaptive Sync: incapable
Screen 3:
---------
Name: DP-3
Enabled: 1
Geometry: 0,560,2560x1440
Physical size: 597x336mm
Scale: 1
Refresh Rate: 143995
Adaptive Sync: automatic

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL version string: 3.1.0 NVIDIA 580.95.05
OpenGL platform interface: EGL
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 580.95.5
GPU class: Unknown
OpenGL version: 3.1
GLSL version: 1.40
X server version: 1.24.1
Linux kernel version: 6.17.1
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
shakecursor
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
logout
login
sessionquit
slidingpopups
windowaperture
slide
magiclamp
kwin4_effect_geometry_change
scale
fadingpopups
dimscreen
frozenapp
maximize
fullscreen
dialogparent
wobblywindows
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
systembell
screentransform
kscreen

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
shakecursor:

screenshot:

outputlocator:

colorpicker:

zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1

screenedge:

blur:

contrast:

logout:
pluginId: logout
isActiveFullScreenEffect: false

login:
pluginId: login
isActiveFullScreenEffect: false

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 200
slideOutDuration: 200

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

magiclamp:

kwin4_effect_geometry_change:
pluginId: kwin4_effect_geometry_change
isActiveFullScreenEffect: false

scale:
pluginId: scale
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

dimscreen:
pluginId: dimscreen
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

wobblywindows:
stiffness: 0.15
drag: 0.8
moveFactor: 0.1
xTesselation: 20
yTesselation: 20
minVelocity: 0
maxVelocity: 1000
stopVelocity: 0.5
minAcceleration: 0
maxAcceleration: 1000
stopAcceleration: 0.5
moveWobble: true
resizeWobble: true

windowview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
mode: 
partialActivationFactor: 0
gestureInProgress: false
searchText: 
selectedIds: 

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 300
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset: 
searchText: 

highlightwindow:

blendchanges:

startupfeedback:
type: 1

systembell:

screentransform:

kscreen:


Loaded Plugins:
---------------
BounceKeysPlugin
KeyNotificationPlugin
MouseKeysPlugin
StickyKeysPlugin
TouchpadShortcutsPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
MouseKeysPlugin
StickyKeysPlugin
TouchpadShortcutsPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast

Offline

#4 2025-10-12 15:13:33

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

I also probably should have realized the connection between those apps is that they are electron based. There have been some other apps acting funny, but I don't remember which ones. I'll try to note if they are all electron, in which case it's probably an issue there instead of with KDE specifically.

EDIT: One more update, running brave using the following command to force x11/xwayland over wayland works around the issue:

brave --enable-features=UseOzonePlatform --ozone-platform=x11

I would rather be using wayland though, of course. Not sure if there's a way to fix this behavior outside of running in x11 mode.

Last edited by HackBug (2025-10-12 15:36:51)

Offline

#5 2025-10-12 19:44:08

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

I was unclear whether

I have two monitors, the primary is a 2560x1440 in a normal orientation, and the secondary is 1920x1080 rotated vertically, and with a .75 scaling to make things look right.

the last block was covering the 3rd or the 1st block (I guess there's a rule to those commas…)

Name: DP-2
Geometry: 2560,0,1440x2560
Physical size: 597x336mm
Scale: 0.75
---------
Name: DP-3
Geometry: 0,560,2560x1440
Physical size: 597x336mm
Scale: 1

This is not reflected in the posted video - the pivoted output there is only ~82% of the landscape one - I assume the problem goes away when not scaling the output?

About electron resizing "itself", are those xwayland windows?
https://wiki.archlinux.org/title/Waylan … plications
https://wiki.archlinux.org/title/Chromi … er_Wayland (ignore the symptoms, just try to force the wayland ozone)

Offline

#6 2025-10-13 03:16:11

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

The video was a quick and dirty OBS job, the screens are not perfectly to scale in the recording, I just wanted to quickly capture the issue.

The problem does go away when keeping both monitors at 1.0 scaling. Electron is not running in XWayland. I double-checked and confirmed this. In fact, running them in XWayland fixes the issue (as I said in my edit above), but this isn't ideal as that's not the default behavior.

Offline

#7 2025-10-13 08:37:57

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

Ok, but then the only problem is electron windows resizing themselves? The other scaling is an artifact of the mis-scaled outputs in the video only?
Does "--force-device-scale-factor=1" (for the electron process, shouldn't™ have to be "1")  help you out here?

Offline

#8 2025-10-13 14:21:50

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

Yes, the only problem I'm having is the electron apps resizing themselves. I'm not sure what you mean by "other scaling". The vertical monitor has a scaling of 0.75 (on purpose). The video not being perfectly proportional was just a rush job to demonstrate the issue, because it was a little hard to describe.

The --force-device-scale-factor=1 flag does not seem to have any effect at all.

EDIT: I also tried with a couple of numbers other than 1, which changed the scaling of the app, but the resizing issue was still there.

Last edited by HackBug (2025-10-13 14:24:20)

Offline

#9 2025-10-13 20:40:01

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

I'm not sure what you mean by "other scaling".

Both windows visibly shrink in the video when crossing onto the pivoted monitor (as an artifact of the OBS rush)

Is chromium from the repos also affected?

x-ref, https://bbs.archlinux.org/viewtopic.php?id=309504

Offline

#10 Yesterday 13:13:59

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

It does also happen with chromium. I think you were on the money about it being an electron problem.

Offline

#11 Yesterday 14:46:11

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

To some extend this seems intended??
https://issues.chromium.org/issues/40813134

But something seems to be wrong (now) about the DPI interpretation - since the unscaled output would run at a lower resolution it should probably scale in that case, so afaiu since wayland clients are not supposed to be aware of their position, kwin would have to constantly hint the wrong DPI at chromium here, basically inverting the calculation (scaling 1.25 will likely constantly grow chromium?)
And on top of that this also seems to happen at every single window activation (what's kinda wrong for sure) so possibly kwin only just started hinting the DPI to clients (instead of hardcoding 1) - the windows didn't grow or shrink before at all?

Offline

#12 Today 08:15:35

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,056

Re: Window Scaling since KDE Update

Super-wide shot: https://bbs.archlinux.org/viewtopic.php … 4#p2267894

wp_color_manager_v1 => WaylandWpColorManagerV1
wp_fractional_scale_manager_v1 => WaylandWpFractionalScaleManagerV1 ?

chromium --ozone-platform=wayland --disable-features=WaylandWpFractionalScaleManagerV1

Regardless of such mitigation, there's very likely still a bug in the recent kwin_wayland (in doubt surrounding that protocol)

Offline

#13 Today 12:57:20

HackBug
Member
From: Seattle, WA
Registered: 2009-02-06
Posts: 30

Re: Window Scaling since KDE Update

seth wrote:

To some extend this seems intended??
https://issues.chromium.org/issues/40813134

That is exactly the issue I'm having, and doesn't seem to be intended given its on the bug tracker. Maybe I'm misunderstanding something in that thread? Regardless, hopefully that means it will eventually be addressed.

Using the flags to disable those features had no effect on the issue. Given that the bug you linked appears to be happening on MS Windows not KDE I think it's a bug with chromium at this point, not KDE/kwin. I just didn't notice that my chromium apps got updated around the same time.

Thanks for helping me hunt down where the issue was coming from.

Offline

Board footer

Powered by FluxBB