Kernel: next-20160617 OS: Gentoo Linux xf86-video-intel: latest git Xorg: latest git HW: Dell Inspiron 3537 i7-4500U (Haswell) Graphics 4400 Upon switching from next-20160615 to next-20160617, I noticed that moving the cursor randomly causes its movement to jitter in a lag-behind/catch-up fashion (most noticeable when dragging windows as this applies the effect to the whole window, thus causing it not to move fluently). Upon some bisecting I have found that this is caused by the following commit in linux-next: ee042aa40b66d18d465206845b0752c6a617ba3f - drm/i915: Use atomic commits for legacy page_flips Upon reverting this commit the issue is no longer present. Another intriguing fact is that in some applications (ex. Games) which bind the mouse input - the movement is fine. // Dmesg/Xorg.0.log not attached yet as those do not seem to contain any relevant data.
Additional info: DE: None WM: XMonad Xorg config: Section "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "1" Option "TripleBuffer" "1" Option "DRI" "3" Option "Present" "1" Option "Accel" "1" Option "AccelMethod" "SNA" EndSection i915 options: default
Write a bunch of quick hacks which all blew up in testing (just wanted to confirm that my hunch about the stalls was right). Proper fix I think needs the following bits: - address the FIXME in intel_atomic_commit_tail about when commit_hw_done() should be called. We need to make sure that this is before any of the expensive vblank waits, which needs the separate worker as described in the comments. - in wait_for_depencies don't stall for flip_done for legacy cursor updates This essentially gets us halfway there to faster-than-vrefresh updates. The other bits needed would just be the correct flip_done signalling, and switching the wait_for_vblank (before cleanup_planes) over to wait_for_flip. Typing this down since I'm going on vacation soon and probably won't be able to fix this all up.
Created attachment 124666 [details] [review] Another attempt at not excessively stalling Please test.
commit 527b6abe5fd2d24fba69e9564a2d608e1796ca8d Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 24 13:44:03 2016 +0100 Revert "drm/i915: Use atomic commits for legacy page_flips" This reverts commit ee042aa40b66d18d465206845b0752c6a617ba3f. Be prepared for next time!
Closing resolved+fixed. Commit causing the failure reverted by commit: 527b6abe.
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.