Since KWin(X11) V5.10 (or maybe 5.8) and with kwin effects enabled, when I open a window (like that of Konsole) and try to move it immediately after that, or when I close a window and try to open a menu immediately after that, or when I close a window and try to open another one immediately after that, or..., in the first case, the movement is very jerky, in the second case, the menu is opened badly depending on the effect (with the fade effect, it's semi-transparent and unusable for a second), in the third case there's a tangible delay, etc. Generally, kwin effects have recently been interfering with other jobs. This happens with all sorts of effects, for example, those I've made with translation, rotation, fading, etc. The bad performance is visible in both Manjaro (Testing) and Debian (Unstable). None of this happens with Compiz (https://github.com/compiz-reloaded) on the same computer and with the same Linux distro (Manjaro Testing). Actually, that old Compiz and its various effects work like a charm after so many years! Graphical info: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device [17aa:3802] Flags: bus master, fast devsel, latency 0, IRQ 139 Memory at 92000000 (64-bit, non-prefetchable) [size=16M] Memory at a0000000 (64-bit, prefetchable) [size=256M] I/O ports at 5000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.5 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 17.1.5 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 17.1.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions:
please provide output of: qdbus org.kde.KWin /KWin supportInformation
KWin Support Information: The following information should be used when requesting support on e.g. http://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 http://paste.kde.org instead of pasting into support threads. ========================== Version ======= KWin version: 5.10.4 Qt Version: 5.9.1 Qt compile version: 5.9.1 XCB compile version: 1.12 Operation Mode: X11 only Build Options ============= KWIN_BUILD_DECORATIONS: yes KWIN_BUILD_TABBOX: yes KWIN_BUILD_ACTIVITIES: yes HAVE_INPUT: yes HAVE_DRM: yes HAVE_GBM: yes HAVE_X11_XCB: yes HAVE_EPOXY_GLX: yes HAVE_WAYLAND_EGL: yes X11 === Vendor: The X.Org Foundation Vendor Release: 11903000 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__KvAmbience Blur: 1 onAllDesktopsAvailable: true alphaChannelSupported: true closeOnDoubleClickOnMenu: false decorationButtonsLeft: 0, 9 decorationButtonsRight: 3, 4, 5 borderSize: 0 gridUnit: 10 font: Noto Sans,10,-1,0,50,0,0,0,0,0 smallSpacing: 2 largeSpacing: 10 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: 5019 operationMaxButtonLeftClick: 5000 operationMaxButtonMiddleClick: 5015 operationMaxButtonRightClick: 5014 commandActiveTitlebar1: 0 commandActiveTitlebar2: 1 commandActiveTitlebar3: 2 commandInactiveTitlebar1: 4 commandInactiveTitlebar2: 1 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: 2 xrenderSmoothScale: false maxFpsInterval: 16666666 refreshRate: 0 vBlankTime: 6000000 glStrictBinding: true glStrictBindingFollowsDriver: true glCoreProfile: false glPreferBufferSwap: 101 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: no Number of Screens: 1 Screen 0: --------- Name: eDP-1 Geometry: 0,0,1920x1080 Refresh Rate: 60.0204 Compositing =========== Compositing is active Compositing Type: OpenGL OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) OpenGL version string: 3.0 Mesa 17.1.5 OpenGL platform interface: GLX OpenGL shading language version string: 1.30 Driver: Intel GPU class: Unknown OpenGL version: 3.0 GLSL version: 1.30 Mesa version: 17.1.5 X server version: 1.19.3 Linux kernel version: 4.9.39 Direct rendering: Requires strict binding: yes GLSL shaders: yes Texture NPOT support: yes Virtual Machine: no OpenGL 2 Shaders are used Painting blocks for vertical retrace: no Loaded Effects: --------------- zoom slidingpopups kwin4_effect_login kwin4_effect_logout screenshot magiclamp desktopgrid kwin4_effect_windowaperture cubeslide cube colorpicker kwin4_effect_fade kwin4_effect_maximize kwin4_effect_morphingpopups presentwindows highlightwindow blur startupfeedback screenedge kscreen Currently Active Effects: ------------------------- blur Effect Settings: ---------------- zoom: zoomFactor: 1.2 mousePointer: 0 mouseTracking: 0 enableFocusTracking: false followFocus: true focusDelay: 350 moveFactor: 20 targetZoom: 1 slidingpopups: fadeInTime: 150 fadeOutTime: 250 kwin4_effect_login: kwin4_effect_logout: screenshot: magiclamp: animationDuration: 250 desktopgrid: zoomDuration: 300 border: 10 desktopNameAlignment: 0 layoutMode: 0 customLayoutRows: 2 usePresentWindows: true kwin4_effect_windowaperture: cubeslide: rotationDuration: 300 dontSlidePanels: false dontSlideStickyWindows: false usePagerLayout: false useWindowMoving: false cube: cubeOpacity: 0.800000011920929 opacityDesktopOnly: false displayDesktopName: true reflection: true rotationDuration: 500 backgroundColor: #000000 capColor: #e6e5e4 paintCaps: false closeOnMouseRelease: false zPosition: 300 useForTabBox: false invertKeys: false invertMouse: false capDeformationFactor: 0 useZOrdering: false texturedCaps: true colorpicker: kwin4_effect_fade: kwin4_effect_maximize: kwin4_effect_morphingpopups: 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: blur: blurRadius: 12 cacheTexture: true startupfeedback: type: 1 screenedge: kscreen:
Another descriptive info, if it helps: With kwin effects enabled, starting Dolphin (and some other apps that may have a delay on starting -- although I think Dolphin's start delay is a bug) sometimes creates an empty rectangle, inside which Dolphin appears after ~1 second or less. Again, this never happens when Dolphin is started under Compiz with several effects enabled.
Are you using dri2 or dri3? Are you using the Intel xorg driver or modesettings driver?
It's modesetting ("xf86-video-intel" was VERY buggy here and its use is discouraged correctly, IMO). As for dri3, `LIBGL_DEBUG=verbose glxinfo | grep libgl` gives: ... libGL: pci id for fd 4: 8086:191b, driver i965 libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/tls/i965_dri.so libGL: OpenDriver: trying /usr/lib/xorg/modules/dri/i965_dri.so libGL: Using DRI3 for screen 0 ...
You could try switching to OpenGL 3
> You could try switching to OpenGL 3 I had tried that before but got error messages in `~/.local/share/sddm/xorg-session.log` (I don't remember them). However, I tried it again a few minutes ago and saw no error message (because of recent fixes?). The performance is better now but the lagging and choppy animation are still reproducible immediately after a window is opened/closed, and that includes cube rotation too; the difference is just that now, one has to try a little harder to see them. The reason why I see it more than others may be because of the way I use desktop. For example, I may open a window and quickly change desktop (with cube animation) to open a terminal. All the bad performance I've seen is about when an animation should be FINISHED and another should be STARTED; otherwise, single animations are always smooth.
Oh, I forgot to tell you about something that may contain a clue: KWin effects (animation) may interfere with non-kwin ones too. For example, I also use KWin under LXQt. LXQt's hiding panel has an animation and sometimes, when I close a window and make the panel visible, kwin makes the latter (non-kwin) animation choppy too. A few minutes ago, I logged out of KDE and into LXQt and saw the same thing with OpenGL3. Again, this never happens with Compiz; so, something in kwin should be the cause.
I tried the Intel Xorg driver again -- its bugs are fixed now -- but it had no effect on this problem.
What about switching to breeze window decoration?
> What about switching to breeze window decoration? I sometimes use breeze but there's no difference in this regard. I tested with an older Intel-based Asus laptop and saw that the problem was so mild that it was almost invisible, although I could reproduce it by rotating the desktop cube rapidly on closing Firefox and Thunderbird (with fade effect). My work laptop (Lenovo Ideapad Y700) is newer and the issue can be seen easily with it. Neither on Asus nor on Lenovo, there's no suspicious CPU usage when KWin animations interfere with each other. Is there any theoretical explanation about how KWin animations could interfere with each other or with non-kwin ones? Can Xorg also have a part in this?
Switching to DDR2 (with modesetting) and choosing "OpenGl 2.0" as well as "Full screen repaints" in System Settings had a considerable positive effect. DDR3 seems to have bugs, whether with modesetting or with the Intel driver. Looking forward to a fully usable Wayland plasma.
Sorry, I meant DRI2 -- copy/paste typo.
Marking as upstream as it looks quite a lot like a driver issue.
> Marking as upstream as it looks quite a lot like a driver issue. Most probably.
For the sake of thoroughness, I should add that it wasn't a driver issue but really a kwin problem, which is fixed in V5.13 somehow (the new blur effect may have a role in that). My reason is that no driver was upgraded when kwin was upgraded to V5.13 (now, 5.13.3).