Vertical synchronization causes screen capturing to flicker. I discovered it during tests with OBS and simplescreenrecorder. Disabling vertical sync stops flickering completely but introduces small, sporadical screen tearing when moving windows so it's desirable to have this option on, however, it conflicts with screen capturing programs. I already informed OBS developer about it to see if he can do something about it on his end, but the fact that this bug happens in more capturing programs shows a basic problem on kwin end. I made a video showing how disabling and enabling vertical sync influences the flickering: https://www.youtube.com/watch?v=XutOV1wffMQ
Please provide output of qdbus org.kde.KWin /KWin supportInformation
Version ======= KWin version: 5.9.4 Qt Version: 5.8.0 Qt compile version: 5.8.0 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__Freeze Blur: 1 onAllDesktopsAvailable: true alphaChannelSupported: true closeOnDoubleClickOnMenu: false decorationButtonsLeft: 0, 5, 3, 4, 2 decorationButtonsRight: 9, 1 borderSize: 3 gridUnit: 10 font: Noto Sans,11,-1,5,50,0,0,0,0,0,Regular smallSpacing: 2 largeSpacing: 10 Options ======= focusPolicy: 1 nextFocusPrefersMouse: false clickRaise: true autoRaise: false autoRaiseInterval: 750 delayFocusInterval: 300 shadeHover: false shadeHoverInterval: 250 separateScreenFocus: false placement: 4 focusPolicyIsReasonable: true borderSnapZone: 10 windowSnapZone: 10 centerSnapZone: 0 snapOnlyWhenOverlapping: false rollOverDesktops: false 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: true 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: true glPreferBufferSwap: 101 glPlatformInterface: 1 windowsBlockCompositing: true Screen Edges ============ desktopSwitching: false desktopSwitchingMovingClients: false cursorPushBackDistance: 1x1 timeThreshold: 20 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: eDP1 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: 4.5 (Core Profile) Mesa 17.0.3 OpenGL platform interface: GLX OpenGL shading language version string: 4.50 Driver: Intel GPU class: Unknown OpenGL version: 4.5 GLSL version: 4.50 Mesa version: 17.0.3 X server version: 1.19.3 Linux kernel version: 4.10.10 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 wobblywindows screenshot kwin4_effect_translucency magiclamp kwin4_effect_windowaperture desktopgrid cubeslide coverswitch colorpicker kwin4_effect_fade kwin4_effect_morphingpopups kwin4_effect_maximize presentwindows highlightwindow kwin4_effect_dialogparent contrast startupfeedback screenedge kscreen Currently Active Effects: ------------------------- contrast 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: wobblywindows: stiffness: 0.01 drag: 0.76 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 screenshot: kwin4_effect_translucency: magiclamp: animationDuration: 250 kwin4_effect_windowaperture: desktopgrid: zoomDuration: 300 border: 10 desktopNameAlignment: 0 layoutMode: 0 customLayoutRows: 2 usePresentWindows: true cubeslide: rotationDuration: 500 dontSlidePanels: true dontSlideStickyWindows: false usePagerLayout: true useWindowMoving: false coverswitch: animationDuration: 200 animateSwitch: true animateStart: true animateStop: true reflection: true windowTitle: true zPosition: 900 primaryTabBox: true secondaryTabBox: false colorpicker: kwin4_effect_fade: kwin4_effect_morphingpopups: kwin4_effect_maximize: 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: kwin4_effect_dialogparent: contrast: startupfeedback: type: 1 screenedge: kscreen:
Try using OpenGL 2. Also ich you are not using xorg modesettings ddx give it a try.
OpenGL 2 didn't help, although it seems to cause a bit less flickering but that's hard to assess really, because flicker can get erratic. About xorg modesettings ddx, I have no idea about it. I found that's some sort of alternative driver? I would rather not mess with gpu drivers. I use none-free bumblebee with intel and nvidia. Flickering happens on both GPUs, no difference here. Can't you reproduce this bug? Is it happening only for me? I might try to run a system in a live version, add OBS and see if the problem occurs under such circumstance.
Look at this video of another arch user (Antergos KDE): https://www.youtube.com/watch?v=ZIpO2NcTkvw&index=55&list=WL Can you notice panel flickering? That's EXACTLY the same bug. I'm not the only one. People just accepted and ignored it but it exists.
I was given some kind of solution to this problem, I checked it and it realy works: create file /home/user/.config/plasma-workspace/env/kwin.sh with: #!/bin/sh export __GL_YIELD="USLEEP" export KWIN_TRIPLE_BUFFER=0 export KWIN_USE_BUFFER_AGE=0 add to /etc/X11/xorg.conf.d/20-intel.conf: Option "AccelMethod" "SNA" Option "TearFree" "true" Option "DRI" "3" Option "TripleBuffer" "False" Reboot.
Given the update it looks like a problem with driver.