Bug 464902 - On X11, lowering the resolution of a display in a multi-display configuration squishes the screen
Summary: On X11, lowering the resolution of a display in a multi-display configuration...
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.26.90
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-27 15:42 UTC by chupathingy
Modified: 2023-03-08 03:45 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Picture of the affected screen showing the "squish" (3.31 MB, image/jpeg)
2023-02-04 11:41 UTC, chupathingy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description chupathingy 2023-01-27 15:42:12 UTC
SUMMARY
***
When lowering the resolution of any display, the screen gets "squished" to 50% the monitor's height.
My monitor setup consists of 3 monitors with mixed resolutions (1920x1080, 2560x1440, 1920x1080).

I also tried switching a display to vertical mode and it got squished from the sides rather than top and bottom (still 50% height of the monitor)
***


STEPS TO REPRODUCE
1. Set up multiple displays
2. Go to System Settings > Display and Monitor > Display Configuration
3. Lower the resolution of one display (aspect ratio does not seem to matter)

OBSERVED RESULT
Width of the display covers the entirety of the monitor while the height gets "squished" down to 50% the height of the monitor.

EXPECTED RESULT
Resolution should be properly scaled to the monitor.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux, 6.1.8-zen
(available in About System)
KDE Plasma Version: 5.26.90
KDE Frameworks Version: 5.102.0
Qt Version: 5.15.8
Graphics Platform: X11

ADDITIONAL INFORMATION
GPU: Radeon RX 580, MESA 22.3.3
Comment 1 Nate Graham 2023-01-27 19:59:13 UTC
Does it also happen in the Wayland session?
Comment 2 chupathingy 2023-01-27 21:46:11 UTC
(In reply to Nate Graham from comment #1)
> Does it also happen in the Wayland session?

No, Wayland seems fine on that regard.
Comment 3 Vlad Zahorodnii 2023-02-03 08:46:47 UTC
Please run `qdbus org.kde.KWin /KWin supportInformation` after changing the screen resolution while the screen is squashed and post the output here. Can you also share a screenshot? What if you restart kwin after changing screen resolution?
Comment 4 chupathingy 2023-02-04 11:40:16 UTC
(In reply to Vlad Zahorodnii from comment #3)
> Please run `qdbus org.kde.KWin /KWin supportInformation` after changing the
> screen resolution while the screen is squashed and post the output here. Can
> you also share a screenshot? What if you restart kwin after changing screen
> resolution?

Screenshot looks normal, but I took a picture of the screen with my phone.

Output:
KWin Support Information:
The following information should be used when requesting support on e.g. https://forum.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: 5.26.90
Qt Version: 5.15.8
Qt compile version: 5.15.8
XCB compile version: 1.15

Operation Mode: X11 only

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

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

Decoration
==========
Plugin: org.kde.kwin.aurorae
Theme: __aurorae__svg__Freeze
Plugin recommends border size: No
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 1, 2, 8, 9
decorationButtonsRight: 6, 7, 3, 4, 5
borderSize: 1
gridUnit: 10
font: Noto Sans,10,-1,0,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: KWin::X11StandaloneBackend

Cursor
======
themeName: breeze_cursors
themeSize: 24

Options
=======
focusPolicy: 1
xwaylandCrashPolicy: 
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 750
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: true
placement: 
activationDesktopPolicy: 0
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 27
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 0
commandInactiveTitlebar2: 28
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 28
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777250
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: 101
glPlatformInterface: 1
windowsBlockCompositing: true
latencyPolicy: 
renderTimeEstimator: 
allowTearing: true

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

Screens
=======
Active screen follows mouse:  yes
Number of Screens: 3

Screen 0:
---------
Name: HDMI-1
Enabled: 1
Geometry: 1920,0,1920x1080
Scale: 1
Refresh Rate: 60007
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-2
Enabled: 1
Geometry: 3840,0,1920x1080
Scale: 1
Refresh Rate: 144000
Adaptive Sync: incapable
Screen 2:
---------
Name: HDMI-2
Enabled: 1
Geometry: 0,0,1920x1080
Scale: 1
Refresh Rate: 60000
Adaptive Sync: incapable

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 580 Series (polaris10, LLVM 15.0.7, DRM 3.49, 6.1.9-zen1-1-zen)
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.4
OpenGL platform interface: GLX
OpenGL shading language version string: 4.60
Driver: Unknown
GPU class: Unknown
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 22.3.4
X server version: 1.21.1
Linux kernel version: 6.1.9
Direct rendering: Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
kwin4_effect_rubberband_maximize
colorpicker
outputlocator
screenshot
screenedge
blur
contrast
kwin4_effect_login
kwin4_effect_logout
kwin4_effect_sessionquit
slidingpopups
kwin4_effect_windowaperture
kwin4_effect_translucency
magiclamp
slide
kwin4_effect_maximize
kwin4_effect_morphingpopups
kwin4_effect_frozenapp
kwin4_effect_fullscreen
kwin4_effect_fadingpopups
kwin4_effect_scale
kwin4_effect_dimscreen
sheet
kwin4_effect_dialogparent
desktopgrid
highlightwindow
overview
tileseditor
windowview
wobblywindows
blendchanges
startupfeedback
kscreen

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

Effect Settings:
----------------
kwin4_effect_rubberband_maximize:
pluginId: kwin4_effect_rubberband_maximize
isActiveFullScreenEffect: false

colorpicker:

outputlocator:

screenshot:

screenedge:

blur:

contrast:

kwin4_effect_login:
pluginId: kwin4_effect_login
isActiveFullScreenEffect: false

kwin4_effect_logout:
pluginId: kwin4_effect_logout
isActiveFullScreenEffect: false

kwin4_effect_sessionquit:
pluginId: kwin4_effect_sessionquit
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 150
slideOutDuration: 250

kwin4_effect_windowaperture:
pluginId: kwin4_effect_windowaperture
isActiveFullScreenEffect: false

kwin4_effect_translucency:
pluginId: kwin4_effect_translucency
isActiveFullScreenEffect: false

magiclamp:

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: false

kwin4_effect_maximize:
pluginId: kwin4_effect_maximize
isActiveFullScreenEffect: false

kwin4_effect_morphingpopups:
pluginId: kwin4_effect_morphingpopups
isActiveFullScreenEffect: false

kwin4_effect_frozenapp:
pluginId: kwin4_effect_frozenapp
isActiveFullScreenEffect: false

kwin4_effect_fullscreen:
pluginId: kwin4_effect_fullscreen
isActiveFullScreenEffect: false

kwin4_effect_fadingpopups:
pluginId: kwin4_effect_fadingpopups
isActiveFullScreenEffect: false

kwin4_effect_scale:
pluginId: kwin4_effect_scale
isActiveFullScreenEffect: false

kwin4_effect_dimscreen:
pluginId: kwin4_effect_dimscreen
isActiveFullScreenEffect: false

sheet:
duration: 300

kwin4_effect_dialogparent:
pluginId: kwin4_effect_dialogparent
isActiveFullScreenEffect: false

desktopgrid:
activeView: 
gridRows: 1
gridColumns: 3
animationDuration: 300
layout: 1
partialActivationFactor: 0
gestureInProgress: false
showAddRemove: true
desktopNameAlignment: 0
desktopLayoutMode: 0
customLayoutRows: 2

highlightwindow:

overview:
activeView: 
animationDuration: 300
layout: 1
ignoreMinimized: false
blurBackground: true
partialActivationFactor: 0
gestureInProgress: false
searchText: 

tileseditor:
activeView: 
animationDuration: 200

windowview:
activeView: 
animationDuration: 300
layout: 1
ignoreMinimized: false
mode: 135466528
partialActivationFactor: 0
gestureInProgress: false
searchText: 

wobblywindows:
stiffness: 0.06
drag: 0.9
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

blendchanges:

startupfeedback:
type: 1

kscreen:


Loaded Plugins:
---------------
kwin5_plugin_krunner
kwin5_plugin_nightcolor

Available Plugins:
------------------
kwin5_plugin_buttonrebinds
kwin5_plugin_colord
kwin5_plugin_krunner
kwin5_plugin_nightcolor
Comment 5 chupathingy 2023-02-04 11:41:21 UTC
Created attachment 155933 [details]
Picture of the affected screen showing the "squish"
Comment 6 chupathingy 2023-02-04 11:52:13 UTC
Sorry for the paste, I was in a rush and didn't check how long it was or the warning.
If you have the power to remove the long comment, please do. I seem to not be able to remove or edit it.
Pastebin here: https://pastebin.com/vkVmGw1p

Screenshot shows as normal, but I took a picture with my phone.
Comment 7 Vlad Zahorodnii 2023-02-06 09:43:17 UTC
Does the screen look normal after restarting kwin?
Comment 8 Bug Janitor Service 2023-02-21 03:45:44 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 9 Bug Janitor Service 2023-03-08 03:45:39 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!