| Summary: | Double window decoration when using chromium with CSD (Wayland) | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Alex Fiestas <afiestas> |
| Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | john.kizer, kdedev, nate, strong.drum0546 |
| Priority: | NOR | ||
| Version First Reported In: | master | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Shows chromium with double decoration | ||
Thanks for filing this bug report and for the screenshot that shows the problem. I'm not seeing this bug on git-master, with Chromium or Electron apps (Obsidian Notes, VS Code) with Qt 6.8.3 I'll leave this open so someone with Qt 6.9 can also test I can't reproduce on Fedora KDE 42 with Qt 6.9 - for the reporter, what graphics card are you using? Just curious as I'm on an NVIDIA card, perhaps there's some difference there? GL_VERSION: 4.6 (Compatibility Profile) Mesa 25.0.4-arch1.1 GL_RENDERER: AMD Radeon 780M (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.2-arch1-1) if given some instructions I can try to debug this a little bit, add a qDebug here and there, etc. Thanks for reporting. This is curious. Once or twice - I have seen the extra whitespace between screen border and window decoration border, that can not get filled. So I think there could really be something there. But it is not the same as you have shown.
> when used with CSD
From a clean Chromium profile, what options exactly do I have to change so I can reproduce this? Can you reproduce this with a completely fresh Chromium profile? (Ctrl+Shift+M -> Add new profile)
Is this bug happening all the time or just some of the times? Does it go away when you resize, maximize or push around the windows with the tiling shortcuts (Win + Left, Win + Right etc. by default)
Updating status (In reply to Lenzoid from comment #5) > Thanks for reporting. This is curious. Once or twice - I have seen the extra > whitespace between screen border and window decoration border, that can not > get filled. So I think there could really be something there. But it is not > the same as you have shown. > > > when used with CSD > > From a clean Chromium profile, what options exactly do I have to change so I > can reproduce this? Can you reproduce this with a completely fresh Chromium > profile? (Ctrl+Shift+M -> Add new profile) > > Is this bug happening all the time or just some of the times? Does it go > away when you resize, maximize or push around the windows with the tiling > shortcuts (Win + Left, Win + Right etc. by default) Yes, I can reproduce it every time, with all profiles as long as csd is on. Extra info
qdbus org.kde.KWin /KWin org.kde.KWin.queryWindowInfo and selecting the chromium window
activities: 6b8800b3-7183-47ca-b5c1-c780d8a84e9b
caption: New Tab - Chromium
clientMachine: localhost
desktopFile:
desktops: 811e257b-ded6-4ce1-8ff1-99919f508916
fullscreen: false
height: 798
keepAbove: false
keepBelow: false
layer: 2
localhost: true
maximizeHorizontal: 0
maximizeVertical: 0
minimized: false
noBorder: false
resourceClass: Chromium
resourceName: chromium
role: browser
shaded: false
skipPager: false
skipSwitcher: false
skipTaskbar: false
type: 0
uuid: {2905d02b-c460-4a67-b568-d253b7e35156}
width: 1140.6666666666667
x: 349.3333333333333
y: 32.666666666666664
qdbus org.kde.KWin /KWin org.kde.KWin.supportInformation
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.3.80
Qt Version: 6.9.0
Qt compile version: 6.9.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: 12401006
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.breeze
Theme: Breeze
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft:
decorationButtonsRight: 6, 3, 4, 5
borderSize: 0
gridUnit: 10
font: Droid Sans [1ASC],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: breeze_cursors
themeSize: 24
Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
edgeBarrier: 100
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: MouseActivateRaiseAndPassClick
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: 2
Screen 0:
---------
Name: eDP-1
Enabled: 1
Geometry: 0,0,1805x1203
Physical size: 285x190mm
Scale: 1.25
Refresh Rate: 59999
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-7
Enabled: 1
Geometry: 1805,0,2560x1440
Physical size: 698x393mm
Scale: 1.5
Refresh Rate: 59997
Adaptive Sync: automatic
Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon 780M (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.3-arch1-1)
OpenGL version string: 4.6 (Core Profile) Mesa 25.0.4-arch1.1
OpenGL platform interface: EGL
OpenGL shading language version string: 4.60
Driver: Unknown
GPU class: Unknown
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 25.0.4
X server version: 1.24.1
Linux kernel version: 6.14.3
Direct rendering: Requires strict binding: no
Virtual Machine: no
OpenGL 2 Shaders are used
Loaded Effects:
---------------
shakecursor
screenshot
outputlocator
mouseclick
colorpicker
zoom
contrast
login
logout
sessionquit
slidingpopups
windowaperture
slide
maximize
fadingpopups
squash
fullscreen
frozenapp
dimscreen
scale
dialogparent
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
systembell
screentransform
kscreen
Currently Active Effects:
-------------------------
contrast
Effect Settings:
----------------
shakecursor:
screenshot:
outputlocator:
mouseclick:
color1: #ff0000
color2: #00ff00
color3: #0000ff
lineWidth: 2
ringLife: 300
ringSize: 20
ringCount: 2
showText: false
font: Droid Sans [1ASC],10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
enabled: false
colorpicker:
zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1
contrast:
login:
pluginId: login
isActiveFullScreenEffect: false
logout:
pluginId: logout
isActiveFullScreenEffect: false
sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false
slidingpopups:
slideInDuration: 200
slideOutDuration: 200
windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false
slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true
maximize:
pluginId: maximize
isActiveFullScreenEffect: false
fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false
squash:
pluginId: squash
isActiveFullScreenEffect: false
fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false
frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false
dimscreen:
pluginId: dimscreen
isActiveFullScreenEffect: false
scale:
pluginId: scale
isActiveFullScreenEffect: false
dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false
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
StickyKeysPlugin
TouchpadShortcutsPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast
Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
TouchpadShortcutsPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencast
|
Created attachment 180316 [details] Shows chromium with double decoration SUMMARY For a few days or a week Chromium based apps will show a double window decoration when used with CSD. Some Electron apps also show their CSD but there is no gap between them. This could be chromium fault, I am reporting it here though because I find it a bit weird that all of the sudden - Brave - Chrome stable - Chromium - Electron app happen to have this bug at the same time. Firefox CSD works just fine. STEPS TO REPRODUCE 1. Latest Qt6.9 plus Latest Plasma/Kwin/etc. 2. Open chromium 3. Open vscode OBSERVED RESULT See screenshot SOFTWARE/OS VERSIONS Linux/KDE Plasma: 6.14.2-arch1-1, 4.6 (Compatibility Profile) Mesa 25.0.3-arch1.1 Qt6.9 from branch compiled 15/04/2025 Plasma from master (same date)