Bug 1683844

Summary: Dual cursor confusion when using a wacom tablet
Product: [Fedora] Fedora Reporter: N.Brack <redhat_bugzilla>
Component: mutterAssignee: Florian Müllner <fmuellner>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 29CC: fmuellner, gnome-sig, henriquecamposrj, jadahl, otaylor, peter.hutterer, walters, xgl-maint
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-27 21:17:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Visual show of the two cursors
none
Video of invisible cursor none

Description N.Brack 2019-02-28 00:18:34 UTC
Created attachment 1539319 [details]
Visual show of the two cursors

Description of problem:

I recently installed Fedora 29 and my wacom tablet is buggy compared to Fedora 25.  When I use the mouse, everything goes fine, but as soon as I bring my stylus near the sensitive area of the tablet, the cursor duplicates : one cursor keeps the last position of the mouse and the other cursor has the position of the stylus as detected by the tablet.  Using both hands I can move both of them at the same time, which is reaaally weird.  Both can click, but the mouse cursor  focus span is too short or something, I cannot double-click with it.

There are strange behaviour with some software as well.  For instance, in krita, the tablet cursor can become invisible, (only having the application widget following it like the brush contour).  Or both cursors can be linked to have the same cursor shape.  (not 100% sure of the repro cases here)

Since we move from Xorg to Wayland, I have no idea which component is culprit : xorg-x11-drv-wacom was installed by default, but is this compatible with wayland in anyway ?


# Version-Release number of selected component
* Wayland : not the slightest idea. There's no wayland package and no command line with an obvious name I can query the version from.
* xorg-x11-drv-wacom : 0.36.1
* xorg-x11-drv-nouveau : 1.0.15


Steps to Reproduce:
1. Install a fresh fedora 29
2. Connect a wacom tablet and a mouse
3. Use tablet and mouse at the same time and see two cursors competing.

Actual results:
4. Two cursors appears and they compete for focus.

Expected results:
4B. The tablet takes control of the cursor.


Additional info:
Well if you want to see a ball dance of nonsense as performand by a pair of cursor who should know better , see the attached video.  Also note that in that particular example both cursor stayed visible, but oftentimes, the tablet cursor will become invisible and make krita hardly usable at all.

Comment 1 Peter Hutterer 2019-02-28 00:51:59 UTC
Wayland is merely a display protocol, think of it like HTTP. What matters for HTTP is the browser, not the protocol and for Wayland it's the same except there it's the compositor. The GNOME Wayland compositor is mutter, so that's the component you're looking for when you're looking for "Wayland".


xorg-x11-drv-* are no longer used when running under a Wayland compositor as those need to implement their own input handling (most use libinput) instead of using the X drivers. Notable: the compositors are now in charge of all input and that includes the ability to handle multiple cursors/keyboards where necessary. And this leads us to:

The decision to have two cursors was a conscious decision for mutter on wayland. Tablet devices are usually direct-input devices and don't usually even need a cursor. So that's a feature, but applications (especially those going through XWayland) may get confused by two cursors. The easiest solution to the confusion is to not use both devices at the same time :)

It *should* work fine as long as you use the devices separately. Coincidentally, touch works the same except it's not as obvious because no cursor gets rendered for touch devices.

Reassigning to mutter but I'm also closing this because it's not a bug per-se. We'd need some more specific examples of bugs given all the above as the baseline.

"the tablet cursor will become invisible" - yes, it should be invisible whenever the pen leaves proximity and is not interacting with the tablet anymore.

Comment 2 Jonas Ådahl 2019-02-28 08:44:40 UTC
Adding link to related upstream merge request.

Comment 3 N.Brack 2019-02-28 15:14:50 UTC
Okay, understood.  Thank you for your help.

A few points remain however:

First, I cannot "not use" the mouse when I'm using the tablet.  As long as the mouse is plugged, I will see its cursor.  Having to bend to the back of my computer to plug or unplug the mouse every time I want to switch device is quite troublesome.  Could there be a workaround is software ?

Second, when the table cursor is disappearing, it's not about the stylus getting too far away from the tablet.  I mean at times I am actually pressuring with it and tracing strokes in krita, but the cursor for the tablet is invisible.
The mouse cursor, despite being left out at the same pixel position is updated with all the cursor icon states of where my invisible cursor moves to, but that one may be related to krita instructing all cursors to update their icons because it cannot handle multiple cursors.
Maybe I should report a bug against krita for that specific issue.

Comment 4 N.Brack 2019-03-01 00:11:03 UTC
Created attachment 1539674 [details]
Video of invisible cursor

I'd like te reopen the ticket because there's a true bug regarding point two I made in comment 3, but this time I reproduced it with firefox, not only krita.  I'm going to rename the ticket to match this specific sub-issue as well.

So here's what I did:
1. I unplugged my mouse and plugged my tablet.
2. I restarted the computer.
3. I log in using the keyboard.  I notice the mouse cursor exists even when the mouse is not plug, which I guess is fair enough, you might want a cursor to hack through a ui using keyboard hacks to move it.  But since there's the second cursor for the tablet as well, that means I still cannot use the tablet in single-cursor mode even without the mouse :'(
4. I open firefox.  The cursor for the tablet vanishes.  The cursor for the unplugged mouse remains.
5. When I use the tablet, it behaves at the invisible cursor, however it's the mouse cursor which react to the events.
6. If I hover the gnome UI (top bar, menu from extensions, ...) with the tablet, I can see the tablet cursor again.  However even in gnome, it's still the mouse cursor that reacts to the tablet behaviour : the tablet cursor is permanently a cross-hair symbol while the mouse cursor is the arrow or the vertical bar to notify a text entry correctly matching what the cross hair hover.

This is not 100% repro case.  Regarding the invisible cursor, it seems to be some windows applications that messes things up, because that's when it can appear/disappear.  For setting the icon of the wrong cursor, this seems to always happen, regardless of what's done.

This makes fedora unusable with wacom products on a desktop computer, even with mouse unplugged.  I hope we can figure out a workaround.

Comment 5 N.Brack 2019-03-01 08:55:28 UTC
Reopening the bug for the more specific case of the wacom cursor being mixed up with the mouse cursor, even with the mouse unplugged.

Comment 6 Ben Cotton 2019-10-31 19:53:21 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Ben Cotton 2019-11-27 21:17:03 UTC
Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.