Bug 385003 - Multiple mouse cursor shown in multi-screen same scaling
Summary: Multiple mouse cursor shown in multi-screen same scaling
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: platform-drm (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-23 17:39 UTC by Martin Flöser
Modified: 2017-09-24 16:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Flöser 2017-09-23 17:39:15 UTC
After restarting KWin today I noticed that there is a mouse cursor on each screen. If the mouse moves to the second screen the mouse cursor completely vanishes.

The only change related to cursor handling lately is 4238218b762996b41480f8d1c9a1c88930e08a11 so it might be that this one introduced a regression for the case that the displays are not scaled.

Unfortunately I cannot attach a screenshot as the screenshot only captures one cursor ;-)
Comment 1 Martin Flöser 2017-09-23 17:40:51 UTC
Version
=======
KWin version: 5.11.90
Qt Version: 5.9.1
Qt compile version: 5.9.1
XCB compile version: 1.12

Operation Mode: Xwayland

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.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: true
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 6, 2
decorationButtonsRight: 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans,10,-1,5,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: 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: 101
glPlatformInterface: 2
windowsBlockCompositing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: true
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: 2

Screen 0:
---------
Name: GSM HDMI-A-1-L1953T/308042
Geometry: 1920,0,1280x1024
Refresh Rate: 60.02

Screen 1:
---------
Name: SAM HDMI-A-2-SyncMaster/1263088180
Geometry: 0,0,1920x1080
Refresh Rate: 59.94


Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop 
OpenGL version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL platform interface: EGL
OpenGL shading language version string: 3.30
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.3
GLSL version: 3.30
Mesa version: 13.0.6
Linux kernel version: 4.12
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:  no

Loaded Effects:
---------------
zoom
trackmouse
invert
slidingpopups
kwin4_effect_login
kwin4_effect_logout
wobblywindows
screenshot
kwin4_effect_translucency
kwin4_effect_windowaperture
minimizeanimation
desktopgrid
kwin4_effect_fadedesktop
cube
coverswitch
colorpicker
kwin4_effect_maximize
kwin4_effect_frozenapp
kwin4_effect_fade
kwin4_effect_morphingpopups
presentwindows
kwin4_effect_dialogparent
highlightwindow
blur
contrast
startupfeedback
screenedge
kscreen

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

Effect Settings:
----------------
zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
enableFocusTracking: false
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

trackmouse:
modifiers: 335544320
mousePolling: true

invert:

slidingpopups:
fadeInTime: 150
fadeOutTime: 250

kwin4_effect_login:

kwin4_effect_logout:

wobblywindows:
stiffness: 0.15
drag: 0.8
moveFactor: 0.1
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: false

screenshot:

kwin4_effect_translucency:

kwin4_effect_windowaperture:

minimizeanimation:

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

kwin4_effect_fadedesktop:

cube:
cubeOpacity: 0.800000011920929
opacityDesktopOnly: false
displayDesktopName: true
reflection: true
rotationDuration: 500
backgroundColor: #0000ff
capColor: #eff0f1
paintCaps: true
closeOnMouseRelease: false
zPosition: 100
useForTabBox: false
invertKeys: false
invertMouse: false
capDeformationFactor: 0
useZOrdering: true
texturedCaps: true

coverswitch:
animationDuration: 200
animateSwitch: true
animateStart: true
animateStop: true
reflection: true
windowTitle: true
zPosition: 900
primaryTabBox: false
secondaryTabBox: false

colorpicker:

kwin4_effect_maximize:

kwin4_effect_frozenapp:

kwin4_effect_fade:

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

kwin4_effect_dialogparent:

highlightwindow:

blur:
blurRadius: 12
cacheTexture: false

contrast:

startupfeedback:
type: 2

screenedge:

kscreen:
Comment 2 David Edmundson 2017-09-24 16:02:44 UTC
Urgh, it is. Sorry. 
It's super obvious on re-reading my diff what's wrong. Will fix.
Comment 3 David Edmundson 2017-09-24 16:13:31 UTC
Git commit bc92745f07f79d793cee0c60d39151f62f401c47 by David Edmundson.
Committed on 24/09/2017 at 16:11.
Pushed by davidedmundson into branch 'Plasma/5.11'.

Restore cursors across multiple screens

Summary:
4238218b762996b41480f8d1c9a1c88930e08a11 accidentally removed factoring
in m_globalPos.

Reviewers: #plasma, graesslin

Reviewed By: #plasma, graesslin

Subscribers: plasma-devel, kwin, #kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D7970

M  +1    -1    plugins/platforms/drm/drm_output.cpp

https://commits.kde.org/kwin/bc92745f07f79d793cee0c60d39151f62f401c47
Comment 4 Martin Flöser 2017-09-24 16:15:27 UTC
Thanks for the quick fix. Though I must say that it was a highly amusing day with the computer. And mouse mark effect helped a lot on the second screen.