Bug 1273247

Summary: Mouse cursor lost completely upon log out (sddm / KDE)
Product: [Fedora] Fedora Reporter: Mike Ruckman <mruckman>
Component: xorg-x11-drv-qxlAssignee: Alon Levy <alon>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 23CC: alon, awilliam, cfergeau, hdegoede, jgrulich, kevin, klember, kparal, ltinkl, marcandre.lureau, mbriza, me, mruckman, pierluigi.fiorini, rdieter, robatino, sandmann, satellitgo, virt-maint, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: AcceptedFreezeException RejectedBlocker
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-12-20 15:04:32 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:
Bug Depends On:    
Bug Blocks: 1170822    
Attachments:
Description Flags
list of installed packages (rpm -qa)
none
system journal
none
livbirt xml with disappearing cursor
none
libvirt xml with not disappearing but jerky and not seamless cursor none

Description Mike Ruckman 2015-10-20 03:53:35 UTC
Description of problem:
When logging out of plasma, upon clicking anywhere in sddm, the cursor is lost (in a VM). Tab can still move through items to allow a login, but the mouse can't click anything. This doesn't happen on first login, just after a log out.

Version-Release number of selected component (if applicable):
sddm-0.12.0-3.fc23.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Install from KDE live image [1]
2. Log into freshly installed machine
3. Log out
4. Attempt to log in again by clicking the password box to enter your password

Actual results:
Mouse cursor is lost, making you think sddm is frozen (it's not, as tab still works to cycle through selectable items)

Expected results:
Password box is highlighted and you can enter your password.

Additional info:
I attempted this several times.
 - created a user in anaconda
 - created a secondary user
 - restarted sddm from another tty
 - created the user from i-s

[1] http://dl.fedoraproject.org/pub/alt/stage/23_TC11/Live/x86_64/Fedora-Live-KDE-x86_64-23-TC11.iso

Comment 1 Fedora Blocker Bugs Application 2015-10-20 03:59:38 UTC
Proposed as a Blocker and Freeze Exception for 23-final by Fedora user roshi using the blocker tracking app because:

 I believe this bug violates the following criteria:

"Shutting down, logging out and rebooting must work using standard console commands and the mechanisms offered (if any) by all release-blocking desktops." ~ Beta

"All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test." ~ Final

Comment 2 Kamil Páral 2015-10-20 07:15:43 UTC
A very similar problem is in GDM (again only in VM) - the cursor gets invisible. You can still interact with it, if you manage to put it over some button, but it's invisible.

Comment 3 Kamil Páral 2015-10-20 12:07:26 UTC
Created attachment 1084701 [details]
list of installed packages (rpm -qa)

Comment 4 Rex Dieter 2015-10-20 12:10:41 UTC
this is most likely not a *DM issue.  I'd speculate it's driver related.

Are both of you using KVM?  or some other VM mechanism?

Comment 5 Kamil Páral 2015-10-20 12:13:16 UTC
Created attachment 1084707 [details]
system journal

This is system journal after I log out and see gdm with invisible mouse cursor.

Comment 6 Kamil Páral 2015-10-20 12:23:39 UTC
I'm using virt-manager with KVM. When I change video driver from QXL to VMVGA, the cursor does not disappear and works correctly. When I change it to VGA, I don't see cursor even on first boot. When I change it to Cirrus, Fedora does not boot at all. This is all tested with GDM.

Comment 7 Kamil Páral 2015-10-20 12:31:00 UTC
When I boot with nomodeset and using QXL in VM configuration, mouse cursor is shown properly after log out. I'm not exactly sure where to assign this, moving it to qxl xorg driver, in hope it's close.

Comment 8 Kamil Páral 2015-10-20 12:57:21 UTC
Quite interestingly I can't reproduce this with sddm, as Mike did. I'm using the same configuration VM (spice+qxl), and tested both F23 TC11 installed and fully updated from updates-testing (so the same as I used with gdm), but I see mouse cursor correctly on logout. So for me, only gdm is affected.

Comment 9 Adam Williamson 2015-10-20 15:28:44 UTC
Well, I just logged out of the KDE install I did yesterday to test the update notification stuff, and didn't reproduce it there. Will try a few more times.

It would be good to know if anyone sees this on bare metal, too.

Comment 10 Adam Williamson 2015-10-20 17:01:21 UTC
Can't reproduce on bare metal with SDDM either. Installed TC11 KDE x86_64 live, created a user in g-i-s, logged in and out several times, never lost the cursor.

It's notable that after logging out and before I touch the mouse again, the cursor is invisible, but as soon as I move the mouse at all, it appears. I can click all over the screen and nothing makes it disappear.

Comment 11 Adam Williamson 2015-10-20 17:29:27 UTC
Do you guys have a tablet virtual input device attached to your VM? Is your host F22 or F23? Can you try creating a brand new VM from scratch (to get the latest default config) and see if it changes the results for either case?

Comment 12 Mike Ruckman 2015-10-20 19:39:27 UTC
From a freshly installed VM (which is what I used to verify my initial findings) I do have a tablet attached to it. This is from an F22 host. Even with the tablet removed, the cursor still vanishes.

Comment 13 Adam Williamson 2015-10-20 19:45:59 UTC
My host is F23, which I guess could be affecting things somehow. My VM has a tablet device. And I still don't see the problem on either GNOME or KDE. I'll try an F22 host...

Comment 14 Adam Williamson 2015-10-20 21:15:39 UTC
Nope, still can't reproduce this with a brand new VM in an F22 host. I dunno what you guys are doing, but it ain't happening to me.

Comment 15 Kamil Páral 2015-10-21 08:02:15 UTC
I'm starting to think that I and Mike are seeing two different issues. But I probably uncovered the mystery of my case. In my case, it seems to be a regression of bug 1200901 (which seem to not have been properly solved, just worked around in mutter) under Wayland. Same as in bug 1200901, if I remove "EvTouch USB Graphics Tablet" from VM configuration, the problem does not occur (but I lose seamless mouse integration in GDM and the movement gets jerky). However, even if I keep the tablet device present, and simply disable Wayland for GDM, the problem is also fixed (and I continue to have seamless mouse integration and smooth movement).

So, at least in my case, it seems that bug 1200901 regressed, but in very specific cases - just for Wayland, and only after logout (the initial Wayland GDM shows cursor just fine).

When I tried nomodeset or some other video drivers, I suppose GDM started in X mode instead of Wayland mode, so that could match those findings as well.

I also found out that if press Enter in the GDM to show the password field and then move your invisible cursor over the password box (it's quite easy to hit it), the cursor re-appears, probably because of changing shape (over the text field).

I tried testing the same approach with sddm (adding or removing tablet device), but I can't reproduce missing cursor in there (and I haven't found any option to make sddm run over Wayland).

Comment 16 Kamil Páral 2015-10-21 08:04:36 UTC
Created attachment 1085046 [details]
livbirt xml with disappearing cursor

Fresh new F23 libvirt machine created, this is its XML, which exhibits the missing cursor on logout. Running on F23 host.

Comment 17 Adam Williamson 2015-10-21 08:05:05 UTC
Well, I'm using GDM-on-Wayland too, and all my VMs have tablets.

Comment 18 Kamil Páral 2015-10-21 08:06:39 UTC
Created attachment 1085047 [details]
libvirt xml with not disappearing but jerky and not seamless cursor

This is the same libvirt XML, but a tablet device was removed, and it "fixes" the missing cursor with Wayland GDM (but breaks mouse seamless integration and smooth movement).

The diff is:

$ diff broken.xml working.xml 
--- broken.xml	2015-10-21 09:27:12.273048107 +0200
+++ working.xml	2015-10-21 09:31:39.708353796 +0200
@@ -88,7 +88,6 @@
       <target type='virtio' name='com.redhat.spice.0'/>
       <address type='virtio-serial' controller='0' bus='0' port='2'/>
     </channel>
-    <input type='tablet' bus='usb'/>
     <input type='mouse' bus='ps2'/>
     <input type='keyboard' bus='ps2'/>
     <graphics type='spice' autoport='yes'>

Comment 19 Adam Williamson 2015-10-21 18:59:43 UTC
Huh - somehow with RC2 I've started seeing the 'missing cursor after logout from GNOME' bug in a freshly-created F23 hosted VM. Cursor is clearly active but invisible. Started happening after two logouts.

Comment 20 Adam Williamson 2015-10-21 21:31:48 UTC
The GNOME case for me here is fixed with mutter-3.18.1-4.fc23 - http://koji.fedoraproject.org/koji/buildinfo?buildID=693553 . The KDE and GNOME cases should probably be tracked separately - they may be somewhat *related*, but the mutter fix certainly will not fix KDE. I'll split out another report for GNOME.

Comment 21 Adam Williamson 2015-10-21 21:36:18 UTC
Actually, we'll use #1200901 for the GDM case, as it's been there all along. I've nominated that as blocker/FE.

Comment 22 Adam Williamson 2015-10-21 21:38:10 UTC
For KDE/SDDM devs: there's some discussion of the underlying cause of the GNOME case in https://bugzilla.redhat.com/show_bug.cgi?id=1200901 . additionally, halfline says:

 but the fix is just a workaround for a kernel bug
 but i think the x server already has a workaround in it
 so it really only affects wayland
 well it could be the x server doesn't always do the workaround, like we aren't always doing it 
 in which case the kernel patch would address both

so, you might want to check the other bug and see if the KDE case looks like it's caused by the same underlying kernel bug and the X workaround isn't always working, I guess? halfline ultimately wants this fixed in the kernel, but for now he's applying a workaround to mutter, so a similar workaround in the KDE stack may be possible - again, *if* the cause actually is the same.

Comment 23 Adam Williamson 2015-10-22 17:03:59 UTC
Discussed at 2015-10-22 Go/No-Go meeting, acting as a blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-meeting-2/2015-10-22/f23-final-go_no_go-meeting.2015-10-22-16.00.log.txt . Rejected as a blocker, but accepted as a freeze exception issue: as with the GDM case, this is annoying but fairly easy to work around, keyboard navigation isn't too hard. Common bugs note and an update fix would be sufficient, but if we find a safe fix in time we would consider it.

Comment 24 Kamil Páral 2016-03-29 07:51:11 UTC
Removing CommonBugs nomination, F23 is out.

Comment 25 Fedora End Of Life 2016-11-24 12:51:03 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. 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 '23'.

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 23 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 26 Fedora End Of Life 2016-12-20 15:04:32 UTC
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 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.