You are not logged in.

#1 2024-03-17 12:32:38

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

[Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

As the title says, kitty terminal no longer has transparency after updating to plasma 6.0.2 (Wayland), was working fine in Plasma 5.27.10 (Wayland).

My kitty.conf:

> cat ~/.config/kitty/kitty.conf
background_opacity 0.8
background_tint 1
copy_on_select yes

map f1 launch --cwd=current
map f2 launch --cwd=current --type=tab
map ctrl+shift+. move_tab_forward
map ctrl+shift+, move_tab_backward

background tint 0 or 1 has had no impact

Plasma, kwin, ...:

> pacman -Qii plasma-desktop 
Name            : plasma-desktop
Version         : 6.0.2-4
Description     : KDE Plasma Desktop
...
> pacman -Qii kwin
Name            : kwin
Version         : 6.0.2-3
Description     : ...

Hardware:

user@computer 
----------------- 
OS: Arch Linux x86_64 
Host: B660M DS3H AX DDR4 
Kernel: 6.8.1-arch1-1 
Uptime: 11 mins 
Packages: 1742 (pacman), 24 (flatpak) 
Shell: fish 3.7.0 
Resolution: 1920x1080 
DE: Plasma 6.0.2 
WM: kwin 
Theme: [Plasma], Breeze-dark-gtk [GTK2/3] 
Icons: [Plasma], breeze-dark [GTK2/3] 
Terminal: kitty 
CPU: 12th Gen Intel i5-12400F (12) @ 4.400GHz 
GPU: NVIDIA GeForce RTX 3060 Lite Hash Rate 
Memory: 3566MiB / 15838MiB 

Driver:

lspci -k | grep -A 2 -E "(VGA|3D)"
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
	Subsystem: Gigabyte Technology Co., Ltd GA106 [GeForce RTX 3060 Lite Hash Rate]
	Kernel driver in use: nvidia
pacman -Qii nvidia 
Name            : nvidia
Version         : 550.54.14-7
Description     : ...

Kernel params:

> head /etc/default/grub 
# GRUB boot loader configuration

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=65b9a81e-31d0-42e3-8cf2-5a2e8908f36e fbdev=1 nvidia_drm.modeset=1 quiet splash vt.global_cursor_default=0 loglevel=3 udev.log-priority=3"
GRUB_CMDLINE_LINUX=""

fbdev had no influence on transparency

Nothing showing up in journalctl when I launch kitty other than

systemd[954]: Started kitty - Terminal emulator.

Any leads on fixing the transparency without having to create a Plasma "Window Rules" would be appreciated.

Last edited by tsukimomo (2024-04-21 18:07:56)

Offline

#2 2024-03-17 13:35:48

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Does it still work in plasma/X11 and does kitty there show up as ARGB/32bit in xwininfo?

Offline

#3 2024-03-17 15:02:28

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Hi Seth,
Thanks for the reply.

Transparency of kitty terminal as configured from kitty.conf does indeed work on plasma6/x11.

Kitty terminal in x11:

xwininfo: Window id: 0x740000b "xwininfo ~"

  Absolute upper-left X:  480
  Absolute upper-left Y:  28
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 891
  Height: 1052
  Depth: 32
  Visual: 0x7e
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x740000a (not installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +480+28  -2469+28  -2469-0  +480-0
  -geometry 891x1052+480-0

Naturally, xwininfo does not work when in Wayland (transparency too).
I'm not sure what this ARGB is referring to.

Offline

#4 2024-03-17 15:07:03

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

"alpha red green blue"

https://github.com/kovidgoyal/kitty/issues/7202 - do you set linux_display_server? Does "kitty --linux_display_server wayland" work as expected?

Offline

#5 2024-03-17 15:42:16

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Sorry I did not specify my version of Kitty

pacman -Qii kitty
Name            : kitty
Version         : 0.33.0-1

It is not kitty-git.
From wayland,

> kitty --linux_display_server wayland
Unknown option: --linux_display_server

Placing as an option in kitty.conf does nothing either.

Following the linked issue:

 > kitty --debug-rendering 
Creating window at size: 891x974 and scale 1
GL version string: '3.1.0 NVIDIA 550.54.14' Detected version: 3.1
XDG decoration configure event received: has_server_side_decorations: 1
top-level configure event: size: 0x0 states: 
final window content size: 891x974 resized: 0
Setting window geometry in configure event: x=0 y=0 891x974
Waiting for swap to commit: swap has happened
Scale changed to 1 in surface enter event
Resizing framebuffer to: 891x974 at scale: 1
top-level configure event: size: 891x974 states: TOPLEVEL_STATE_ACTIVATED 
final window content size: 891x974 resized: 0
Setting window geometry in configure event: x=0 y=0 891x974...

Goyal himself said 3.1 was outdated in the linked Github issue, so...

> eglinfo -B
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Wayland platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

X11 platform:
libEGL warning: egl: failed to create dri2 screen
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
OpenGL core profile version: 4.6 (Core Profile) Mesa 24.0.3-arch1.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.0.3-arch1.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.0.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Surfaceless platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device platform:
Device #0:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device #1:

Platform Device platform:
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
eglinfo: eglInitialize failed

Device #2:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 24.0.3-arch1.1
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 24.0.3-arch1.1
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.0.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Tracing further from the linked issue in the Kitty repo leads to https://github.com/NVIDIA/egl-wayland/issues/85, which might be part of the problem? KDE monitors are currently not set to HDR because SDR ends up having very washed colours.

OpenGL relevant...

> pacman -Qii mesa
Name            : mesa
Version         : 1:24.0.3-1
Description     : An open-source ...

pacman -Qii nvidia-utils
Name            : nvidia-utils
Version         : 550.54.14-5
Description     : NVIDIA drivers utilities ...

I can't tell if the OpenGL version being 3.1 is just a Nvidia-driver thing.

Offline

#6 2024-03-17 15:53:01

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Sorry, applied alacritty logic and also probably misunderstood the last post, they're forcing xwayland.

kitty -o linux_display_server=x11

But that's not a great solution and the GL mis-version and missing dri2 screen is kinda shady.
Do you enable https://wiki.archlinux.org/title/NVIDIA … de_setting - using the "nvidia_drm.modeset=1" kernel parameter (modprobe.conf won't remove the simpledrm device)

Also

qdbus org.kde.KWin /KWin supportInformation

Offline

#7 2024-03-17 16:05:43

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Hi Seth,
Thanks so much for the support so far

kitty -o linux_display_server=x11

does has transparency just as it has had on X11 indeed.
Besides my kernel params I've posted above, I also have:

cat /etc/modprobe.d/nvidia_drm.conf
options nvidia_drm modeset=1
options nvidia_drm fbdev=1

on this whole time... which might have made the fbdev grub parameter redundant hm....
For completion

ls /etc/modprobe.d/
.rw-r--r--  30 root  8 Oct  2023  ath9k.conf
.rw-r--r-- 161 root 30 Jan 02:11  firewalld-sysctls.conf
.rw-r--r--  35 root 29 Nov  2022  modprobe.conf
.rw-r--r--  56 root 18 Mar 00:06  nvidia_drm.conf
.rw-r--r--  48 root 24 Nov  2022  sound.conf

There should be no other nvidia settings I've not yet made known


qdbus org.kde.KWin /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.0.2
Qt Version: 6.6.2
Qt compile version: 6.6.2
XCB compile version: 1.16.1

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: 12302004
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: 0, 2
decorationButtonsRight: 6, 3, 4, 5
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: false
activeMouseScreen: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
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: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
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
=======
Active screen follows mouse:  yes
Number of Screens: 2

Screen 0:
---------
Name: HDMI-A-2
Enabled: 1
Geometry: 1920,0,1920x1080
Scale: 1
Refresh Rate: 144001
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-2
Enabled: 1
Geometry: 0,0,1920x1080
Scale: 1
Refresh Rate: 164866
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 550.54.14
OpenGL platform interface: EGL
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 550.54.14
GPU class: Unknown
OpenGL version: 3.1
GLSL version: 1.40
X server version: 1.23.2
Linux kernel version: 6.8.1
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
showpaint
screenshot
outputlocator
colorpicker
zoom
screenedge
blur
contrast
sessionquit
logout
login
slidingpopups
windowaperture
translucency
slide
squash
scale
maximize
frozenapp
fadingpopups
fullscreen
morphingpopups
dialogparent
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
screentransform
kscreen

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

Effect Settings:
----------------
showpaint:

screenshot:

outputlocator:

colorpicker:

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

screenedge:

blur:

contrast:

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

logout:
pluginId: logout
isActiveFullScreenEffect: false

login:
pluginId: login
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 75
slideOutDuration: 125

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

translucency:
pluginId: translucency
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

squash:
pluginId: squash
isActiveFullScreenEffect: false

scale:
pluginId: scale
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

morphingpopups:
pluginId: morphingpopups
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

windowview:
activeView: 
delegate: 
animationDuration: 150
layout: 1
ignoreMinimized: false
mode: 
partialActivationFactor: 0
gestureInProgress: false
searchText: 
selectedIds: 

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 150
layout: 1
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

screentransform:

kscreen:


Loaded Plugins:
---------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast

Available Plugins:
------------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast

2 mins later...
Removing fbdev=1 and rebooting from both modprobe.d/nvidia_drm.conf and kernel params haven't amounted to resolving the transparency either.

I'll just chalk this up to being an outdated OpenGL issue then.

Last edited by tsukimomo (2024-03-17 16:19:16)

Offline

#8 2024-03-17 16:31:01

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Same behavior on weston?

OpenGL version string: 3.1.0 NVIDIA 550.54.14
OpenGL platform interface: EGL
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 550.54.14
GPU class: Unknown
OpenGL version: 3.1

The GL 3.1 nonsense certainly is also part of the compositor - your GPU or the GL implementation in the driver isn't too old™, it does 4.6, the newest possible iteration.

Offline

#9 2024-03-17 16:58:16

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Is this a GPU driver problem or a Kwin problem? I could file a bug report with the Kwin people if it is so, I still barely comprehend the source of the GL 3.1. (I'm assuming its just Nvidia.) I might do a laptop backup and update my laptop to Plasma 6.0 just to compare it with an AMD gpu system in a while.

With regards to Weston, do you wish for me to try on Weston too (I'm guessing I'll have to install Sway or something...? Hoping my ~ doesn't get too scuffed after.)

Offline

#10 2024-03-17 17:14:59

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

You can just try weston (it's the reference wayland compositor, no need to install sway or anything)
eglinfo says that the nvidia driver correctly reports OpenGL 4.6 - I could imagine that this comes out of kwin to provide some minimum version or so.

Offline

#11 2024-03-17 17:51:49

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

I've installed weston and launched from under Plasma6/Wayland and a TTY, followed by trying to launch Kitty from the Weston-Terminal. Result:

[destroyed object]: error 7: importing the supplied dmabufs failed
[078 blah blah timestamp] [glfw error 65544]: Wayland: fatal display error: Protocol error

kitty with linux_display_server=x11, with weston from kitty in Plasma6/wayland:

[078 blah blah timestamp] The output buffer does not support sRGB color encoding, colors will be incorrect.

But the transparency is fine as established.

kitty with linux_display_server=x11, with weston from tty:

[glfw error 65544]: X11: The DISPLAY environment variable is missing
GLFW initialization failed

I'm not sure if I should be setting to :0 or display-0 (or 1 instead of 0).

kitty with --debug-gl --debug-rendering &> dump.txt (ordering between stderr and stdout might not be preserved I believe?), with weston from tty:

Creating window at size: 891x974 and scale 1
CSD: old.size: 0x0 new.size: 891x974 needs_update: 1 size_changed: 1 buffer_destroyed: 0
Created decoration buffers at scale: 1 vertical_height: 1010 horizontal_width: 915
top-level configure event: size: 0x0 states: 
CSD: old.size: 891x974 new.size: 891x974 needs_update: 0 size_changed: 0 buffer_destroyed: 0
final window content size: 891x974 resized: 0
Setting window geometry in configure event: x=0 y=-24 891x998
CSD: old.size: 891x974 new.size: 891x974 needs_update: 0 size_changed: 0 buffer_destroyed: 0
CSD: old.size: 891x974 new.size: 891x974 needs_update: 0 size_changed: 0 buffer_destroyed: 0
Waiting for swap to commit: swap has happened
[destroyed object]: error 7: importing the supplied dmabufs failed
Calling wl_pointer_set_cursor in setCursorImage with surface: 0x57b67a794250
[078 01:47:58.389910] [glfw error 65544]: Wayland: fatal display error: Protocol error
GL version string: '3.1.0 NVIDIA 550.54.14' Detected version: 3.1

Guess it's still 3.1...

For Weston from tty,

> eglinfo -B

GBM platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Wayland platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

X11 platform:
eglinfo: eglInitialize failed

Surfaceless platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device platform:
Device #0:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 550.54.14
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device #1:

Platform Device platform:
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
eglinfo: eglInitialize failed

Device #2:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 24.0.3-arch1.1
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 24.0.3-arch1.1
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 17.0.6, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.0.3-arch1.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

The diff between eglinfo from weston vs kwin (provided in the earlier post, just with std errs piped to file too)

> diff egldump_weston.txt egldump_kwin.txt
2,3d1
< libEGL warning: egl: failed to create dri2 screen
< libEGL warning: egl: failed to create dri2 screen
41c39,57
< eglinfo: eglInitialize failed
---
> EGL API version: 1.5
> EGL vendor string: Mesa Project
> EGL version string: 1.5
> EGL client APIs: OpenGL OpenGL_ES 
> OpenGL core profile vendor: Mesa
> OpenGL core profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
> OpenGL core profile version: 4.6 (Core Profile) Mesa 24.0.3-arch1.1
> OpenGL core profile shading language version: 4.60
> OpenGL compatibility profile vendor: Mesa
> OpenGL compatibility profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
> OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 24.0.3-arch1.1
> OpenGL compatibility profile shading language version: 4.60
> OpenGL ES profile vendor: Mesa
> OpenGL ES profile renderer: zink Vulkan 1.3(NVIDIA GeForce RTX 3060 (NVIDIA_PROPRIETARY))
> OpenGL ES profile version: OpenGL ES 3.2 Mesa 24.0.3-arch1.1
> OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20
> libEGL warning: egl: failed to create dri2 screen
> libEGL warning: egl: failed to create dri2 screen
> libEGL warning: egl: failed to create dri2 screen

Offline

#12 2024-03-17 17:55:46

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Quick google of "kwin minimal openGL version", found this reddit post rip?
Also updating the post title...

Offline

#13 2024-03-17 18:09:08

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

The reddit post isn't relevant to this.
Apparently the "GL version string" indicates 3.1 regardless of the compositor (except maybe gnome)

https://github.com/kovidgoyal/kitty/issues/7021
https://github.com/NVIDIA/egl-wayland/issues/85

glxinfo -B | grep -i version

Offline

#14 2024-03-17 18:13:42

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

seth wrote:

The reddit post isn't relevant to this.
Apparently the "GL version string" indicates 3.1 regardless of the compositor (except maybe gnome)

Oooh surprising... Kinda weird but sure that kitty --debug-* would have been inaccurate (probably just pulling from eglinfo?)

> glxinfo -B | grep -i version
OpenGL core profile version string: 4.6.0 NVIDIA 550.54.14
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 550.54.14
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 550.54.14
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

yeah that was the chain of issues that led me to the egl-wayland nvidia thing too
guess it really is just an Nvidia issue then! neutral

thank for the help still Seth!

edit: https://github.com/NVIDIA/egl-wayland/i … 1930675281 clearly did not make it into r550 since I'm having this issue??

Last edited by tsukimomo (2024-03-17 18:17:49)

Offline

#15 2024-03-17 18:27:34

RoboBlaster
Member
Registered: 2024-03-17
Posts: 2

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

For what it's worth, I have a similar setup, with the same issues regarding kitty transparency after the update.

Offline

#16 2024-03-17 18:30:45

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Welcome RoboBlaster to the forums!
FWIW, I guess the only solution now on Plasma6/Wayland is

> head ~/.config/kitty/kitty.conf -n 1
linux_display_server x11

till nvidia/egl-wayland fixes the issue. I'll try replicate on an AMD gpu before I mark the thread as solved.

Offline

#17 2024-03-17 18:32:55

RoboBlaster
Member
Registered: 2024-03-17
Posts: 2

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

Hi - thanks! Good to know it's a matter of an update rather than a screwy config.

Offline

#18 2024-03-17 22:02:17

seth
Member
Registered: 2012-09-03
Posts: 51,731

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

It's not a given that this will fix it and even if, the mitigation(?) in kitty might still prevent the impact: https://github.com/kovidgoyal/kitty/iss … 1982353024
But yeah, this heavily looks like nvidia vs. wayland vs. kitty, not an EBKAC - at least not your chairs wink

Offline

#19 2024-04-21 18:07:12

tsukimomo
Member
Registered: 2022-05-21
Posts: 18

Re: [Solved]Transparency of Kitty0.33 and Kwin under Plasma6.0 with Nvidia

tsukimomo wrote:

I'll try replicate on an AMD gpu before I mark the thread as solved.

Finally did a full upgrade on my AMD machine, kitty terminal has no issue on it. Marking this thread as solved.

Offline

Board footer

Powered by FluxBB