You are not logged in.

#1 2024-12-17 21:24:55

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

[SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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

#2 2024-12-18 05:49:41

foobat
Member
Registered: 2021-02-13
Posts: 28

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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

#3 2024-12-18 06:33:35

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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

#4 2024-12-18 09:01:08

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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 supportInformation

Online

#5 2024-12-18 15:46:02

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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
screencast

I 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

#6 2024-12-18 15:51:09

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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.

Online

#7 2024-12-18 16:01:19

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Offline

#8 2024-12-18 16:31:19

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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?

Online

#9 2024-12-18 16:46:49

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Changing gtk.css or the theme doesn't help with the problem.

Offline

#10 2024-12-18 19:03:04

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Please post the CSS you generated.
The theme did change to the light adwaita variant, though?

Online

#11 2024-12-18 19:47:38

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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

#12 2024-12-18 20:05:16

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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 …

Online

#13 2024-12-18 20:17:27

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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.

Here is a screenshot.

Offline

#14 2024-12-18 20:37:35

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Still some dark theme and is that actually plain adwaita?

Online

#15 2024-12-18 20:38:45

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Changing light/dark themes both on KDE Plasma and on GNOME Tweaks doesn't change anything.

Offline

#16 2025-01-04 18:44:26

hype-vhs
Member
Registered: 2025-01-04
Posts: 1

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

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

#17 2025-01-04 20:32:09

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

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Leaving the wrong vulkan driver aside, does exporting GSK_RENDERER=gl or GSK_RENDERER=ngl (probably globally, to the session) help?

Online

#18 2025-01-05 09:55:30

aleguizzo
Member
From: Brescia, Italy
Registered: 2024-12-17
Posts: 9

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Changing the vulkan driver solved my issue once and for all.

Offline

#19 2025-02-04 15:46:32

Luuppi
Member
Registered: 2025-02-04
Posts: 1

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Changing from amdvlk to vulkan-radeon worked for me too. This problem is not window manager specific.

Offline

#20 2025-02-04 15:58:55

tekstryder
Member
Registered: 2013-02-14
Posts: 505

Re: [SOLVED] Huge black borders around GTK4 applications on KDE Plasma

Offline

Board footer

Powered by FluxBB