Created attachment 122257 [details] Wobly Trails bug SUMMARY When Enable wobbly effects and set settings to the max , if you move any window for example dolphin a bit fast you can see that the current window leave trails behind until the wobbly effect is over. STEPS TO REPRODUCE 1. Enable Wobbly effects and set settings to the max 2. Move a window left and right a bit fast 3. OBSERVED RESULT Trails all over the window EXPECTED RESULT Move the window smoothly SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: Manjaro/5.16.4 (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Go to wobbly windows and enable advance mode and drag everything to the max, dont know if that should be the default behaviour of that effect
Hmm, that's weird. I'm pretty sure that we didn't have issues with dragging windows before (well, except when the maximized client is dragged by the titlebar, but that was fixed).
It doesn't look like the wobbly windows effect schedules wrong repaint region because if I force full screen repaints, I can still see window trail behind an animated window. Please post output of qdbus org.kde.KWin /KWin supportInformation
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.16.5 Qt Version: 5.13.0 Qt compile version: 5.13.0 XCB compile version: 1.13.1 Operation Mode: X11 only Build Options ============= KWIN_BUILD_DECORATIONS: yes KWIN_BUILD_TABBOX: yes KWIN_BUILD_ACTIVITIES: yes HAVE_DRM: yes HAVE_GBM: yes HAVE_EGL_STREAMS: yes HAVE_X11_XCB: yes HAVE_EPOXY_GLX: yes HAVE_WAYLAND_EGL: yes X11 === Vendor: The X.Org Foundation Vendor Release: 12005000 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.oxygen Theme: Blur: 0 onAllDesktopsAvailable: false alphaChannelSupported: true closeOnDoubleClickOnMenu: false decorationButtonsLeft: 0, 2 decorationButtonsRight: 6, 3, 4, 5 borderSize: 3 gridUnit: 10 font: Noto Sans,10,-1,5,50,0,0,0,0,0 smallSpacing: 2 largeSpacing: 10 Platform ========== Name: KWin::X11StandalonePlatform Options ======= focusPolicy: 0 nextFocusPrefersMouse: false clickRaise: true autoRaise: false autoRaiseInterval: 0 delayFocusInterval: 0 shadeHover: false shadeHoverInterval: 250 separateScreenFocus: false placement: 4 focusPolicyIsReasonable: true borderSnapZone: 10 windowSnapZone: 10 centerSnapZone: 0 snapOnlyWhenOverlapping: false rollOverDesktops: true focusStealingPreventionLevel: 1 legacyFullscreenSupport: false operationTitlebarDblClick: 5000 operationMaxButtonLeftClick: 5000 operationMaxButtonMiddleClick: 5015 operationMaxButtonRightClick: 5014 commandActiveTitlebar1: 0 commandActiveTitlebar2: 30 commandActiveTitlebar3: 2 commandInactiveTitlebar1: 4 commandInactiveTitlebar2: 30 commandInactiveTitlebar3: 2 commandWindow1: 7 commandWindow2: 8 commandWindow3: 8 commandWindowWheel: 31 commandAll1: 10 commandAll2: 3 commandAll3: 14 keyCmdAllModKey: 16777251 showGeometryTip: false condensedTitle: false electricBorderMaximize: true electricBorderTiling: true electricBorderCornerRatio: 0.25 borderlessMaximizedWindows: false killPingTimeout: 5000 hideUtilityWindowsForInactive: true inactiveTabsSkipTaskbar: false autogroupSimilarWindows: false autogroupInForeground: true compositingMode: 1 useCompositing: true compositingInitialized: true hiddenPreviews: 1 glSmoothScale: 1 xrenderSmoothScale: false maxFpsInterval: 16666666 refreshRate: 0 vBlankTime: 6000000 glStrictBinding: false glStrictBindingFollowsDriver: true glCoreProfile: true glPreferBufferSwap: 99 glPlatformInterface: 1 windowsBlockCompositing: false 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: 4 Screen 0: --------- Name: HDMI-0 Geometry: 0,0,1920x1080 Scale: 1 Refresh Rate: 60 Screen 1: --------- Name: DP-4 Geometry: 1920,0,1920x1200 Scale: 1 Refresh Rate: 59.9502 Screen 2: --------- Name: DP-2 Geometry: 5760,0,1920x1080 Scale: 1 Refresh Rate: 60 Screen 3: --------- Name: DP-0 Geometry: 3840,0,1920x1080 Scale: 1 Refresh Rate: 60 Compositing =========== Compositing is active Compositing Type: OpenGL OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 1080 Ti/PCIe/SSE2 OpenGL version string: 3.1.0 NVIDIA 435.21 OpenGL platform interface: GLX OpenGL shading language version string: 1.40 NVIDIA via Cg compiler Driver: NVIDIA Driver version: 435.21 GPU class: Unknown OpenGL version: 3.1 GLSL version: 1.40 X server version: 1.20.5 Linux kernel version: 5.3 Direct rendering: Requires strict binding: no GLSL shaders: yes Texture NPOT support: yes Virtual Machine: no OpenGL 2 Shaders are used Painting blocks for vertical retrace: yes Loaded Effects: --------------- lookingglass kwin4_effect_windowaperture slide screenshot magiclamp glide flipswitch desktopgrid coverswitch colorpicker wobblywindows presentwindows highlightwindow fallapart startupfeedback kscreen Currently Active Effects: ------------------------- Effect Settings: ---------------- lookingglass: initialRadius: 200 kwin4_effect_windowaperture: isActiveFullScreenEffect: false slide: duration: 500 horizontalGap: 45 verticalGap: 20 slideDocks: false slideBackground: true screenshot: magiclamp: glide: duration: 160 inRotationEdge: 0 inRotationAngle: 3 inDistance: 30 inOpacity: 0.4 outRotationEdge: 2 outRotationAngle: 3 outDistance: 30 outOpacity: 0 flipswitch: tabBox: true tabBoxAlternative: false duration: 200 angle: 30 xPosition: 0.33000001311302185 yPosition: 1 windowTitle: true desktopgrid: zoomDuration: 300 border: 10 desktopNameAlignment: 0 layoutMode: 0 customLayoutRows: 2 usePresentWindows: true coverswitch: animationDuration: 200 animateSwitch: true animateStart: true animateStop: true reflection: true windowTitle: true zPosition: 900 primaryTabBox: false secondaryTabBox: false colorpicker: wobblywindows: stiffness: 0.01 drag: 0.97 moveFactor: 0.25 xTesselation: 20 yTesselation: 20 minVelocity: 0 maxVelocity: 1000 stopVelocity: 0.5 minAcceleration: 0 maxAcceleration: 1000 stopAcceleration: 0.5 moveEffectEnabled: true openEffectEnabled: false closeEffectEnabled: false moveWobble: true resizeWobble: true presentwindows: layoutMode: 0 showCaptions: true showIcons: true doNotCloseWindows: false ignoreMinimized: false accuracy: 20 fillGaps: true fadeDuration: 150 showPanel: false leftButtonWindow: 1 rightButtonWindow: 2 middleButtonWindow: 0 leftButtonDesktop: 2 middleButtonDesktop: 0 rightButtonDesktop: 0 highlightwindow: fallapart: blockSize: 40 startupfeedback: type: 1 kscreen:
I did more testing and it appears like only opaque clients leave trails.
Seems like something goes wrong when we perform occlusion culling pass.
Git commit 4d4d9990ddc2b8a82c40fe151cc689269e3b8389 by Vlad Zagorodniy. Committed on 07/09/2019 at 20:50. Pushed by vladz into branch 'master'. [effects/wobblywindows] Draw clients below opaque wobbly windows Summary: Given that wobbly windows effect takes optimized render path, it needs to clear the clip region of about to be transformed opaque window. FIXED-IN: 5.17.0 Reviewers: #kwin, davidedmundson Reviewed By: #kwin, davidedmundson Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D23774 M +4 -0 effects/wobblywindows/wobblywindows.cpp https://commits.kde.org/kwin/4d4d9990ddc2b8a82c40fe151cc689269e3b8389
Thank you very much for your effort , for your research, finding and fixing this bug. Although I have many questions like for example why this bug is happening to me and not to other users? What it means it happens to opaque wobbly windows? Why I am an opaque client? Is ok if you dont have time to answer, I understand :) Thanks again!
(In reply to wolfyrion from comment #7) > Although I have many questions like for example why this bug is happening to > me and not to other users? What it means it happens to opaque wobbly > windows? Why I am an opaque client? This happens when you drag an opaque client, i.e. a client without alpha channel. I don't refer to you as "client."