[Intel-gfx] Graphics issue after upgrade from Fedora 28 to 29 - multiple mouse cursor icons

Hans de Goede hdegoede at redhat.com
Mon Jul 1 14:20:45 UTC 2019


Hi,

On 01-07-19 15:32, Ville Syrjälä wrote:
> On Sun, Jun 30, 2019 at 04:23:47PM +0200, Przemysław Hołubowski wrote:
>> Hello,
>>
>> immediately after I have upgraded my system from Fedora 28 x64 to 29
>> graphics' issue started. Mouse leaves a trail composed of multiple
>> blinking cursors and sometimes rectangular not-refreshed parts. The more
>> loaded the system is the more pronounced the issue - the longer the
>> trail. It's enough just to start moving mouse when system is idle and no
>> app was started by the user yet, to trigger the issue.
>> My system is based on Intel Celeron J3160 with integrated graphics
>> (8086:22b1). Before upgrade to Fedora 29 the issue did not occur.
>> Recently I’ve upgraded to Fedora 30 x64. The issue remains. I use XFCE
>> as a desktop.
> 
> You need a fresh intel ddx (commit 6afed33b2d67 ("sna: Switch
> back to hwcursor on the next cursor update") in particular). That
> should make the problem less pronounced at least, due to switching
> back to the hw cursor from the sw cursor a bit more greedily.

Hmm, most distros (Fedora, Debian, Ubuntu) have switched to using
the modesetting driver for newer intel iGPU-s (see below for why).

I guess that what happens is the kernel refuses a cursor related
syscall and then the ddx drops back to the sw-cursor? Any simple
reproduction instructions? (I have plenty of Cherry Trail hw to
test with).

The reason I'm asking is because the modesetting driver may need
a similar fix. Although I think it will simply try to use the
hw-cursor each cursor update unconditionally so it probably is
fine already.

> The alternative is to never move the mouse cursor to the left edge
> of the screen (that's when we have to switch to the sw cursor). Or
> if your machine has other HDMI ports use those. Sadly most devices
> have chosen to wire up the HDMI port which has the borked hw cursor
> even though there may be other ports available on the chip :(
> 
> Ideally someone would fix the trail bug in the sw cursor code as
> well, but so far no one has found the will to dive in that deep.

I recently (otherwise unrelated) hit issues with the sw-cursor too.

There are 2 separate problems:

1) With xserver master it seems there is an issue leading to extensive trails:
https://gitlab.freedesktop.org/xorg/xserver/issues/829
the 1.20 branch does not seem to suffer from this (for me).

2) sw-cursor and pageflipping (present extension) do not play well together:
https://gitlab.freedesktop.org/xorg/xserver/issues/828
As comments there explain the amdgpu and ati ddx drivers have a workaround
which disables page-flipping as soon as a sw-cursor is visible. I've a
patch-set implementating that for modesetting here:
https://gitlab.freedesktop.org/jwrdegoede/xserver/commits/master
That still needs some work, when I have some time to work on this some
more I plan to rebase my fixes on top of the 1.20 branch (to avoid issue 1)
and then see if I can make this work reliably.

Regards,

Hans


p.s.

Off-topic, the reasons distros have stopped using the intel-ddx driver is
because it has not seen a stable release in ages and does not do stable branches.

As one of the involved distro X-package maintainers I can tell you that
playing the pick a random git-snapshot and hope that it fixes more then
it breaks game is no fun and we have decided to simply stop playing this game.

If Intel wants the distros to use the Intel ddx, then it needs to do a
stable release-branch which only gets bug fixes and not feature work or
other major code changes and then regularly tag a release on that branch.
Tarbals are optionally, the most important thing is having a stable branch
and preferably also versioned-tags on that branch.



More information about the Intel-gfx mailing list