I'm running latest Debian Stretch on a ThinkPad X1 Carbon 20A7, sometimes attached to a dock. When detaching or attaching my dock with a DP monitor attached, my video output gets teared. I saw this in the attached Xorg.0.log: [ 807.026] (II) intel(0): switch to mode 2560x1440@60.0 on DP2-2 using pipe 1, position (0, 0), rotation normal, reflection none [ 1123.133] (EE) intel(0): Failed to prepare CRTC for page flipping, disabling TearFree [ 1123.690] (II) intel(0): switch to mode 2560x1440@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none [ 1123.986] (EE) intel(0): Failed to prepare CRTC for page flipping, disabling TearFree [ 1123.991] (II) intel(0): Disabled output DP2-1 [ 1123.991] (II) intel(0): Disabled output DP2-2 [ 1123.991] (II) intel(0): Disabled output DP2-3 [ 11204.479] (II) intel(0): Enabled output DP2-1 [ 11204.479] (II) intel(0): Enabled output DP2-2 [ 11204.479] (II) intel(0): Enabled output DP2-3 Any ideas?
Created attachment 124077 [details] xorg server log
Hmm, tricksy. We stop pageflipping because the HW reports a failure, so the only question is when to try and start again. Usually I pick a modeset, in this case trying after a topology change would make the most sense.
Anything I can do yo help/test?
Only vaguely sensible idea, try and re-enable TearFree next time everything is turned off. If reconfiguring isn't enough, a DPMS cycle should be. commit 4458f1bf8a5cfbed0c4bbe9d968719c47ee0ea7d Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat May 28 19:23:38 2016 +0100 sna: Restore TearFree operation after switching everything off We give up on TearFree if we ever see an error whilst page flipping (in the hope that we can keep displaying via direct use of the scanout). With the advent of MST, this can happen simply by the user unplugging a dock causing connectors to disappear and if we flip before we see the uevent telling us which outputs are disabled, we get an error. So, lets try and re-enable TearFree on the next opportunity, when all the outputs are off and we can rebuild the shadow buffer. Reported-by: Martin Jørgensen <mkj@gotu.dk> References: https://bugs.freedesktop.org/show_bug.cgi?id=96180 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Today I tested with latest code from git, and now got different result. After unpluging a second time the same error was produced, although it *seems* TearFree is still on. Games and video still seem to be in "sync". I haven't tested it thoroughly yet... [ 3758.654] (EE) intel(0): Failed to prepare CRTC for page flipping, disabling TearFree [ 3758.692] (II) intel(0): switch to mode 2560x1440@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none [ 3758.973] (II) intel(0): Disabled output DP2-1 [ 3758.973] (II) intel(0): Disabled output DP2-2 [ 3758.973] (II) intel(0): Disabled output DP2-3 Adding new Xorg.0.log
Created attachment 124738 [details] new xorg log, after latest kernel and git code
Nope, I was wrong. Still some tearing, like videos in web browsers.
Just came about a new error, after unplug: [ 6490.718] (EE) intel(0): sna_mode_redisplay: page flipping failed, disabling CRTC:30 (pipe=1) Full Xorg.0.log attached later
Created attachment 124757 [details] xorg server log with new error
I'm also affected by this issue, on a Lenovo Thinkpad T460 running Xorg 1.20.4 and Linux 5.0.11.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/issues/112.
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.