Garbage around mouse pointer is observed when resumed from suspend due to below sequence - 1)Cursor is removed: isUp will be FALSE if HW cursor is set. 2)VT switched away from X: vtSema becomes FALSE. 3)xf86CursorSetCursor is called with non-null CursorPtr: Saves the passed in CursorPtr, fallbacks to SW cursor and invokes spriteFuncs->SetCursor which saves the area under cursor and restores the cursor. This sets isUp to TRUE and as vtSema is FALSE saved data is garbage. 4) VT switched to X : vtSema becomes TRUE. xf86Cursor enable fb access is called which will remove the SW cursor, i.e copies saved data in #3 to screen. This results to momentary garbage data on screen.
Created attachment 108221 [details] [review] fix for the issue Proposed fix against xserver 1.12.4 is attached.
Fix is merged in Master - http://cgit.freedesktop.org/xorg/xserver/commit/?id=df6a3a07f60c40bab2b59b9b3ba0c20c8fb7e95d Marking as resolved.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.