You are not logged in.
Since a recent package update, huge black borders have been appearing around GTK4 applications (like Deja-Dup / Nautilus). I have already tried to set the GTK application styles in KDE's system settings and the issue doesn't appear on GTK3 applications. My KDE session is on Wayland.
What can I do to solve this issue?
Thanks.
Errors from journalctl:
dic 17 22:34:51 ALEG-PC deja-dup[7096]: Unknown key gtk-modules in /home/aleg/.config/gtk-4.0/settings.ini
dic 17 22:34:51 ALEG-PC xdg-desktop-portal-kde[1722]: xdp-kde-settings: Namespace "org.gnome.desktop.a11y.interface" is not supported
dic 17 22:34:51 ALEG-PC deja-dup[7096]: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
dic 17 22:34:51 ALEG-PC kwin_wayland[1344]: kwin_core: Cannot grant a token to KWin::ClientConnection(0x55fcb33448b0)Last edited by aleguizzo (2025-01-05 09:56:22)
Offline
KDE's GTK theme settings only apply to GTK3 apps. And GTK4 provide almost no mechanism for theming, so adjusting GTK app styles in KDE settings can hardly fix this problem.
You can try removing all the GTK config files.
Are there the same problems under X11? Are you using an NVidia GPU? NVidia GPUs are known to be problematic under wayland.
Offline
Where are the GTK configuration files? I’ve already tried deleting the gtk directories inside ~/.config but the black borders still appear.
Under X11 the problem doesn’t appear. I have an AMD gpu (RX 7800 XT).
Offline
Where are the GTK configuration files?
Unknown key gtk-modules in /home/aleg/.config/gtk-4.0/settings.ini
https://wiki.archlinux.org/title/GTK#Cl … ecorations
But I'm not sure whether this also works w/ gtk4 - the kwin compositor isn't active?
qdbus6 org.kde.KWin /KWin supportInformationOffline
Disabling client-side decorations doesn't change anything.
Removing that file doesn't change anything either.
This is the output of the qdbus6 command:
Version
=======
KWin version: 6.2.4
Qt Version: 6.8.1
Qt compile version: 6.8.1
XCB compile version: 1.17.0
Operation Mode: Xwayland
Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes
X11
===
Vendor: The X.Org Foundation
Vendor Release: 12401004
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.breeze
Theme:
Plugin recommends border size: None
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 4, 3
decorationButtonsRight: 2, 6, 0
borderSize: 0
gridUnit: 10
font: Noto Sans,10,-1,0,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: true
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
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: true
killPingTimeout: 5000
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true
Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 75
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0
Screens
=======
Number of Screens: 2
Screen 0:
---------
Name: HDMI-A-1
Enabled: 1
Geometry: 1920,0,1920x1080
Scale: 1
Refresh Rate: 60000
Adaptive Sync: incapable
Screen 1:
---------
Name: HDMI-A-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 7800 XT (radeonsi, navi32, LLVM 18.1.8, DRM 3.59, 6.12.4-arch1-1)
OpenGL version string: 4.6 (Core Profile) Mesa 24.3.1-arch1.3
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: 24.3.1
X server version: 1.24.1
Linux kernel version: 6.12.4
Direct rendering: Requires strict binding: no
Virtual Machine: no
OpenGL 2 Shaders are used
Loaded Effects:
---------------
shakecursor
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
login
sessionquit
logout
slidingpopups
windowaperture
translucency
slide
cube
fadingpopups
frozenapp
scale
dimscreen
fullscreen
maximize
squash
dialogparent
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:
login:
pluginId: login
isActiveFullScreenEffect: false
sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false
logout:
pluginId: logout
isActiveFullScreenEffect: false
slidingpopups:
slideInDuration: 200
slideOutDuration: 200
windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false
translucency:
pluginId: translucency
isActiveFullScreenEffect: false
slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true
cube:
activeView:
delegate:
data:
configuration:
visible: false
activated: false
animationDuration: 200
mainDelegate:
fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false
frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false
scale:
pluginId: scale
isActiveFullScreenEffect: false
dimscreen:
pluginId: dimscreen
isActiveFullScreenEffect: false
fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false
maximize:
pluginId: maximize
isActiveFullScreenEffect: false
squash:
pluginId: squash
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
buttonsrebind
eis
krunnerintegration
nightlight
screencast
Available Plugins:
------------------
BounceKeysPlugin
KeyNotificationPlugin
StickyKeysPlugin
buttonsrebind
eis
krunnerintegration
nightlight
screencastI have tried logging in with a newly created user, but the black borders are still visible.
Last edited by aleguizzo (2024-12-18 15:51:25)
Offline
Compositing is active
(Also "My KDE session is on Wayland."…)
Seems not to be a misrendered shadow?
Can you please link a screenshot to illustrate what you see there?
nb. that the wiki describes the procedure for gtk3 clients, the literal css path won't affect gtk4 clients for sure.
Offline
Offline
That's the CSD shadows…
Ddi you try ~/.config/gtk-4.0/gtk.css ?
https://bbs.archlinux.org/viewtopic.php?id=294262
Do you btw. get the same w/ the default, light, adwaita theme?
Offline
Changing gtk.css or the theme doesn't help with the problem.
Offline
Please post the CSS you generated.
The theme did change to the light adwaita variant, though?
Offline
I have partially solved the problem by applying this gtk.css rules:
popover contents {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: none;
margin-top: -12px;
}
popover arrow {
background: transparent;
border-color: transparent;
}
.window-frame, .window-frame:backdrop {
box-shadow: 0 0 0 black;
border-style: none;
margin-top: -52;
border-radius: 0;
}
.titlebar {
border-radius: 0;
}
.window-frame.csd.popup {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13);
}
.header-bar {
background-image: none;
background-color: #ededed;
box-shadow: none;
}
/* You may want to use this if you do not like the double title.
GtkLabel.title {
opacity: 0;
}*/
window {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: none;
margin: -12px -12px -12px -12px;
}When the window isn't maximised, the rendering is correct, but if I maximise the window, a small portion of it gets cut off.
Offline
Try to use a different value for "window.maximized"
You also probably don't need half the stuff in there.
What's still odd is the display of a solid black border instead of the expected shadow …
Offline
With this gtk.css maximizing works:
popover contents {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: none;
margin-top: -12px;
}
popover arrow {
background: transparent;
border-color: transparent;
}
.window-frame, .window-frame:backdrop {
box-shadow: 0 0 0 black;
border-style: none;
margin-top: -52;
border-radius: 0;
}
.titlebar {
border-radius: 0;
}
.window-frame.csd.popup {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13);
}
.header-bar {
background-image: none;
background-color: #ededed;
box-shadow: none;
}
/* You may want to use this if you do not like the double title.
GtkLabel.title {
opacity: 0;
}*/
window {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: none;
margin: -12px -12px -12px -12px;
}
window.maximized {
margin: 0 0 0 0;
}But, obviously, enabling shadows make the borders reappear.
Offline
Still some dark theme and is that actually plain adwaita?
Offline
Changing light/dark themes both on KDE Plasma and on GNOME Tweaks doesn't change anything.
Offline
I have seen the same black borders appear around GTK4 apps on systems where AMDVLK was installed, rather than RADV. Your mileage may vary, of course.
Offline
Leaving the wrong vulkan driver aside, does exporting GSK_RENDERER=gl or GSK_RENDERER=ngl (probably globally, to the session) help?
Offline
Changing the vulkan driver solved my issue once and for all.
Offline
Changing from amdvlk to vulkan-radeon worked for me too. This problem is not window manager specific.
Offline
This is the 3rd such thread regarding a known issue:
• https://gitlab.gnome.org/GNOME/gtk/-/issues/6890
-previous forum threads-
• https://bbs.archlinux.org/viewtopic.php?id=299620
• https://bbs.archlinux.org/viewtopic.php?id=300163
Offline