You are not logged in.

#1 2022-04-25 18:25:12

finnblue8
Member
Registered: 2022-01-30
Posts: 24

Visual bug on Wayland/KDE Plasma with NVIDIA proprietary driver

Hi all:

I've been experimenting with Wayland the past few days. I'd love to switch to it completely over X11. All the programs I use work either natively on Wayland or on XWayland.

However I have this weird visual effect on my desktop only on Wayland that really annoys me and keeps me from wanting to make the switch. I don't know what to call it -- screen tearing, maybe? I've never experienced screen tearing before on Windows or Linux, so I don't know what to compare it to. I've watched videos of screen tearing, and it seems maybe it could be classified as screen tearing?

Here's a link to the bug in action.

Not sure what this is and how to fix it. I'm guessing it's probably not fixable and is a consequence of the NVIDIA proprietary driver not playing well with Wayland.

My PC:

Arch (fully up-to-date as of today). I have nvidia, nvidia-utils, wayland and its dependencies, plasma-session-wayland, egl-wayland, and xorg-xwayland all installed. The Wayland session works fine -- I just hate looking at these scrambled graphics. KMS is set with the kernel parameter "nvidia-dkms.modeset=1."

KDE Plasma and utilizing KWin for a compositor

I have one monitor running at 144hz

GTX 1070 running on proprietary driver version 510.60.02

linux package kernel (regular), version 5.17.4.


I figure this is not fixable, but I'd figure I'd post here in the slim chance that it is. Thanks for any help!

Last edited by finnblue8 (2022-04-25 18:26:32)

Offline

#2 2022-04-25 19:56:32

jlindgren
Member
Registered: 2011-02-27
Posts: 260

Re: Visual bug on Wayland/KDE Plasma with NVIDIA proprietary driver

Offline

#3 2022-04-25 21:35:15

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,300

Re: Visual bug on Wayland/KDE Plasma with NVIDIA proprietary driver

That's a native plasma widget no xwayland involved (or rather there shouldn't, you didn't accidentally export QT_QPA_PLATFORM=xcb somewhere did you?). Probably some QML bug in combination with the prop driver in wayland I thought most of these were fixed with an up to date stack but maybe not. Have you tried lowering the refreshrate to a "normal" 60 Hz? FWIW while it should not be strictly necessary, try setting up GBM explicitly: https://wiki.archlinux.org/title/Wayland#Requirements

Maybe also post

qdbus org.kde.KWin /KWin org.kde.KWin.supportInformation

in code tags

Last edited by V1del (2022-04-25 21:41:14)

Offline

#4 2022-04-25 23:38:51

finnblue8
Member
Registered: 2022-01-30
Posts: 24

Re: Visual bug on Wayland/KDE Plasma with NVIDIA proprietary driver

Thanks for your reply. I actually did export both _GLX_VENDOR_LIBRARY_NAME=nvidia and GDM_BACKEND=nvidia-drm, and the issue persists, both on EGLStreams and GDM. I don't know what the QT_QPA variable is, so no, I haven't touched it.

I also know this is a native Plasma widget and not XWayland. I only mentioned XWayland so as to list the programs I've installed.

It's rather odd. It affects both sides of the taskbar. It doesn't affect the desktop space -- only the icons-only task manager, system tray, and clock -- nor are programs affected. Seems likely that it's a Plasma widget issue. This is one of two issues I have with Wayland, the other being that Night Color is non-functional when it should work on Wayland, which is a big deal for me because I have a sleep disorder.

Issue persists on 60 Hz.

After some troubleshooting I believe this is directly related to the Background Contrast desktop effect, which is enabled by default. I can very consistently get those "lines" to appear when Background Contrast is enabled, and they always disappear entirely when I turn that effect off. I've never had trouble with this effect before whatsoever. The lines mostly appear when changing the size of a window, either maximizing or minimizing.

The following data was collected with all default desktop effects enabled and using the Arc Dark window decoration theme. The issue seems to be window decoration-agnostic. It happens on standard Breeze too.

Also -- what's the difference between the 3 dots and a check mark when selecting desktop effects? Background Contrast and Blur both have 3 dots by default, but I can change them to a check mark by clicking.

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.24.4
Qt Version: 5.15.3
Qt compile version: 5.15.3
XCB compile version: 1.14

Operation Mode: Xwayland

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

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12201001
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__Arc-Dark
Plugin recommends border size: No
Blur: 1
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans,10,-1,0,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Platform
==========
Name: DRM
Active: true
Atomic Mode Setting on GPU 0: true

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

Options
=======
focusPolicy: 0
xwaylandCrashPolicy: 
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: true
placement: 6
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: 28
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
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: false
glStrictBindingFollowsDriver: true
glPreferBufferSwap: 99
glPlatformInterface: 2
windowsBlockCompositing: true
latencyPolicy: 
renderTimeEstimator: 

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
=======
Multi-Head: no
Active screen follows mouse:  yes
Number of Screens: 1

Screen 0:
---------
Name: DVI-D-1
Geometry: 0,0,1920x1080
Scale: 1
Refresh Rate: 144001
Adaptive Sync: incapable

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1070/PCIe/SSE2
OpenGL version string: 3.1.0 NVIDIA 510.60.02
OpenGL platform interface: EGL
OpenGL shading language version string: 1.40 NVIDIA via Cg compiler
Driver: NVIDIA
Driver version: 510.60.2
GPU class: Unknown
OpenGL version: 3.1
GLSL version: 1.40
X server version: 1.22.1
Linux kernel version: 5.17.4
Direct rendering: Requires strict binding: no
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
zoom
kwin4_effect_login
kwin4_effect_logout
kwin4_effect_sessionquit
slidingpopups
kwin4_effect_windowaperture
colorpicker
desktopgrid
slide
screenshot
kwin4_effect_maximize
kwin4_effect_morphingpopups
kwin4_effect_frozenapp
kwin4_effect_squash
kwin4_effect_fullscreen
kwin4_effect_fadingpopups
kwin4_effect_scale
kwin4_effect_dialogparent
highlightwindow
presentwindows
blur
contrast
screenedge
startupfeedback
kscreen
screentransform

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

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

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: 75
slideOutDuration: 125

kwin4_effect_windowaperture:
pluginId: kwin4_effect_windowaperture
isActiveFullScreenEffect: false

colorpicker:

desktopgrid:
zoomDuration: 150
border: 10
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

slide:
duration: 250
horizontalGap: 45
verticalGap: 20
slideDocks: false
slideBackground: true

screenshot:

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_squash:
pluginId: kwin4_effect_squash
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_dialogparent:
pluginId: kwin4_effect_dialogparent
isActiveFullScreenEffect: false

highlightwindow:

presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 75
showPanel: true
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0

blur:

contrast:

screenedge:

startupfeedback:
type: 0

kscreen:

screentransform:


Loaded Plugins:
---------------
kwin5_plugin_colord
kwin5_plugin_krunner
kwin5_plugin_nightcolor
kwin5_plugin_screencast

Available Plugins:
------------------
kwin5_plugin_colord
kwin5_plugin_krunner
kwin5_plugin_nightcolor
kwin5_plugin_screencast

Second edit: Has no relation to XWayland from what I can tell. It happens regardless of protocol. I can get rid of it permanently by disabling Background Contrast.

Last edited by finnblue8 (2022-04-26 00:26:46)

Offline

Board footer

Powered by FluxBB