Bug 1264782 - cursor flickers when hidden on Wayland
cursor flickers when hidden on Wayland
Status: CLOSED UPSTREAM
Product: Fedora
Classification: Fedora
Component: mutter (Show other bugs)
23
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Florian Müllner
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-21 04:23 EDT by Daniel Stone
Modified: 2015-10-01 05:03 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1281685 (view as bug list)
Environment:
Last Closed: 2015-10-01 05:03:59 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
flickering shown on gnome-terminal (976.38 KB, video/quicktime)
2015-09-21 04:23 EDT, Daniel Stone
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Desktop 755465 None None None Never

  None (edit)
Description Daniel Stone 2015-09-21 04:23:25 EDT
Created attachment 1075418 [details]
flickering shown on gnome-terminal

When the cursor is hidden by a Wayland client, it flickers like mad, within what looks like a 256x256 area (my native hardware size). This is most visible when typing in gnome-terminal or GEdit.

Running mutter-wayland on a native KMS backend.

The attached video shows this in gnome-terminal: pressing a character (which hides the cursor) starts the flickering, and moving the mouse ends it.

mutter-3.17.92-1.fc23.x86_64
Comment 1 Daniel Stone 2015-09-21 04:25:55 EDT
This does not occur for XWayland clients: GEdit shows it when running under Wayland, but unsetting $WAYLAND_DISPLAY has it doing the right thing.
Comment 2 Olivier Fourdan 2015-09-22 05:50:09 EDT
Could this be related?

https://bugzilla.gnome.org/show_bug.cgi?id=751835
Comment 3 Daniel Stone 2015-09-22 06:00:08 EDT
I don't necessarily think so. Weston disabled the hardware cursor because of a kernel bug which meant that all cursor updates blocked for another vblank period, halving frame-rate BTW - it's never had difficulties with flickering like Mutter has.

In either case, it's not about the timing of when to draw the cursor: as you can see from the video, the cursor position jumps wildly within the box. So something else is much more seriously wrong with the cursor handling in that release.

I do still see some flickering on animated cursors after running a jhbuild from GNOME master everything, but certainly nothing like this. So I guess it's fixed upstream.
Comment 4 Olivier Fourdan 2015-09-22 09:29:41 EDT
(In reply to Daniel Stone from comment #3)
> I don't necessarily think so. Weston disabled the hardware cursor because of
> a kernel bug which meant that all cursor updates blocked for another vblank
> period, halving frame-rate BTW - it's never had difficulties with flickering
> like Mutter has.

Yes, I agree, weston did not disable HW cursor for this, (which has been reverted recently, btw), but not using HW cursor in mutter did make the issue go away (or rather, hide the problem).

> In either case, it's not about the timing of when to draw the cursor: as you
> can see from the video, the cursor position jumps wildly within the box. So
> something else is much more seriously wrong with the cursor handling in that
> release.

I suspect this is because the cursor was refreshed continuously in mutter even when it did need to which can cause flickering on some hardware but not all, which was making the matter worse of these hardware. 

> I do still see some flickering on animated cursors after running a jhbuild
> from GNOME master everything, but certainly nothing like this. So I guess
> it's fixed upstream.

Jonas' series of patches for https://bugzilla.gnome.org/show_bug.cgi?id=744932 has landed upstream very recently, I reckon that's what helped here.
Comment 5 Daniel Stone 2015-09-23 09:45:06 EDT
Ugh, actually I'm wrong. Running gnome-session directly from 'jhbuild run' didn't pick up a load of stuff from my session, seemingly. After running it from a proper GDM session, it's back.
Comment 6 Olivier Fourdan 2015-09-24 11:41:40 EDT
For some reason, I just cannot reproduce anymore after the latest F23 update which included mesa (11.0.0-2.20150913), libwayland (1.9.0-1) and kernel (4.2.1-300) updates from today.

Would it be possible for you to update and retry? (I was pretty confident but now I can't reproduce anymore, that makes the investigation a tad more challenging...)
Comment 7 Olivier Fourdan 2015-09-25 03:59:23 EDT
Pretty certain it's gtk+. 

Downgrading to 3.17.9-1.fc23 makes the issue reproducible at will.
Upgrading to 3.18.0-1.fc23 makes the issue go away.
Comment 8 Daniel Stone 2015-10-01 05:03:59 EDT
Yeah, this is fixed in latest git, so let's call it done.

Note You need to log in before you can comment on or make changes to this bug.