Steps to reproduce the issue: Install an affected version. Set any OpenGL output to fullscreen, e.g. mpv or a game. How often does the steps listed above trigger the issue? always The following information about your system: -- system architecture: x86_64 -- kernel version: 4.5.0-1-ARCH -- driver version: xf86-video-intel-1:2.99.917+626+ga7526ea-1 xf86-video-intel-1:2.99.917+631+gf2a4645-1 -- Linux distribution: Arch Linux -- Machine or mother board model: Lenovo L520 -- Display connector: Internal (LVDS1) and HDMI via docking station and DP converter Reference: https://bugs.archlinux.org/task/48965
Xorg.0.log? If using TearFree and DRI3, please apply commit 29b70ccdf67ee7afa19bed26de8678476ba94f6e Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sun Apr 17 15:02:46 2016 +0100 sna/present: Fix requeuing after interrupting TearFree
Created attachment 123028 [details] Xorg.0.log as requested I do use these options: Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "glamor" Option "DRI" "3" Option "TearFree" "true" EndSection On my machine the error only occurs with: xf86-video-intel 1:2.99.917+626+ga7526ea-1 The newer driver did not show this behaviour for me, but reportedly for another Arch user (see report in the Arch tracker).
Created attachment 123029 [details] Xorg.0.log 2.99.917+631+gf2a4645 Correction: The bug happens with the newer driver as well, it just takes longer. xf86-video-intel-1:2.99.917+626+ga7526ea-1 - almost immediately xf86-video-intel-1:2.99.917+631+gf2a4645-1 - after about a minute
What are the symptoms now? Can you log in remotely and check with top/perf to see if we are again spinning? Does it only happen with TearFree enabled? What I fear may be possible is that we get into a situation where the vblank is postponed continually. Could you grab a full-debug log (i.e. ./configure --enable-debug=full)? I have an idea, I'll be back in a few minutes...
diff --git a/src/sna/sna_present.c b/src/sna/sna_present.c index 2f181a9..f5d1515 100644 --- a/src/sna/sna_present.c +++ b/src/sna/sna_present.c @@ -394,8 +394,7 @@ sna_present_vblank_handler(struct drm_event_vblank *event) if (info->sna->mode.shadow_wait) { DBG(("%s: recursed from TearFree\n", __FUNCTION__)); - info->target_msc = msc + 1; - if (sna_present_queue(info, msc)) + if (TimerSet(NULL, 0, 1, sna_fake_vblank_handler, info)) return; }
Thanks Chris, I tried the package from my distribution that should include this fix (xf86-video-intel 1:2.99.917+636+g562ae1f-1) and it seems to work. I have run fullscreen OpenGL programs for more than half an hour without issue.
*** Bug 95066 has been marked as a duplicate of this bug. ***
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.