Bug 90966 - [946GZ] Random black glitches blinking
Summary: [946GZ] Random black glitches blinking
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-13 10:09 UTC by Benjamin Bellec
Modified: 2015-06-29 13:17 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (20.00 KB, text/plain)
2015-06-13 10:09 UTC, Benjamin Bellec
no flags Details
dmesg output (137.45 KB, text/plain)
2015-06-13 10:11 UTC, Benjamin Bellec
no flags Details
xrandr.log (4.76 KB, text/x-log)
2015-06-13 10:12 UTC, Benjamin Bellec
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Bellec 2015-06-13 10:09:39 UTC
Created attachment 116471 [details]
Xorg.0.log

On CentOS 7 desktop, everything was working correctly with xorg-x11-drv-intel-2.21.15-13.el7.x86_64. Since I upgraded to xorg-x11-drv-intel-2.99.916-5.el7.x86_64, I get some random black texture appearing very quickly and spontaneously on the screen when an action is performed, eg. open Activities, print screen (with Prt Scrn button).

This is not 100% reproducible for some action but the Prt Scrn button action is, I would say, 90% reproducible. Sometimes, when opening the GNOME Terminal, the prompt is hidden, I guess due to a non refreshed texture or something like that.


Chipset: VGA compatible controller [0300]: Intel Corporation 82946GZ/GL Integrated Graphics Controller [8086:2972] (rev 02)
Kernel driver in use: i915
System architecture: x86_64
Kernel version: 3.10.0-229.4.2.el7.x86_64
Linux distribution: CentOS Linux release 7.1.1503 (Core)
Motherboard: Intel D946GZIS (BIOS 0087)
Display connector: VGA
Note: Desktop is GNOME 3 Classic (CentOS default desktop)

Reproduce steps: Press "Prt Scrn" button of the background Desktop (all applications window minimized)
Probability: ~90 %
Comment 1 Benjamin Bellec 2015-06-13 10:11:23 UTC
Created attachment 116472 [details]
dmesg output
Comment 2 Benjamin Bellec 2015-06-13 10:12:12 UTC
Created attachment 116473 [details]
xrandr.log
Comment 3 Benjamin Bellec 2015-06-13 12:11:27 UTC
Here is a video showing the bug while pressing the Prt Scrn button:
https://drive.google.com/file/d/0B7D2Y0QXFND2aHFvcXdSelQyQVE/view?usp=sharing
Comment 4 Chris Wilson 2015-06-13 12:17:06 UTC
Is it always a fullscreen glitch?
Comment 5 Benjamin Bellec 2015-06-13 15:09:08 UTC
(In reply to Chris Wilson from comment #4)
> Is it always a fullscreen glitch?

Yes.
Comment 6 Chris Wilson 2015-06-13 16:52:03 UTC
Pretty sure that is a display underrun. Could you please build a vanilla upstream kernel, say drm-intel-fixes from http://cgit.freedesktop.org/drm-intel/log/?h=drm-intel-fixes (or the latest Linus tag) and let's proceed from there?
Comment 7 Benjamin Bellec 2015-06-14 18:12:39 UTC
OK I will try this ASAP. But don't expect any news from me for some weeks.
Comment 8 Chris Wilson 2015-06-14 19:14:25 UTC
Ok, a couple of quick(er) tests to try then:

echo > /etc/X11/xorg.conf.d/20-intel.conf <<EOF
Section "Device"
  Identifier "igfx"
  Driver "intel"
  Option "AccelMethod" "blt"
  #Option "AccelMethod" "none"
  #Option "AccelMethod" "uxa"
EndSection
EOF

then switch between blt/none/uxa for a couple of test runs. Other tests would be running at different modes, or even enabling Option "TearFree" in the above conf snippet.
Comment 9 Chris Wilson 2015-06-14 19:21:54 UTC
Actually, I remember thinking it is probably the HWCursor playing up when it changes size - part of the reason why I want to investigate a new kernel (or you can try 3.19).

Unfortunately there is no simple option to disable the HWCursor in xorg.conf for Intel, probably should add one, but if you want to experiment you can try

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 965c35c..d1102fe 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5698,6 +5698,8 @@ sna_cursor_pre_init(struct sna *sna)
        if (sna->mode.num_real_crtc == 0)
                return;
 
+       return;
+
 #define LOCAL_IOCTL_GET_CAP    DRM_IOWR(0x0c, struct local_get_cap)
 #define DRM_CAP_CURSOR_WIDTH   8
 #define DRM_CAP_CURSOR_HEIGHT  9

or

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 965c35c..3c373bc 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5705,6 +5705,7 @@ sna_cursor_pre_init(struct sna *sna)
 #define I915_PARAM_HAS_COHERENT_PHYS_GTT 29
 
        sna->cursor.max_size = 64;
+       return;
 
        cap.value = 0;
        cap.name = DRM_CAP_CURSOR_WIDTH;

the first disables the HW cursor entirely, the second disables cursor resizing.
Comment 10 Benjamin Bellec 2015-06-14 20:25:45 UTC
I will try the xorg.conf modification, and also install a fresher kernel 4.0 from ELRepo and in last case *try* to build a vanilla kernel with your modification.
But sorry I already doesn't have access to this computer so I can't try anything at this moment.
Comment 11 Benjamin Bellec 2015-06-29 13:17:27 UTC
Here is the results of the tests I just executed:

kernel 3.10 (default centos) + no xorg.conf (default centos) = glitch
kernel 3.10 (default centos) + xorg.conf "blt"  = glitch
kernel 3.10 (default centos) + xorg.conf "none" = glitch
kernel 3.10 (default centos) + xorg.conf "uxa"  = FIXED!

kernel 4.1 (elrepo) + no xorg.conf (default centos) = glitch
kernel 4.1 (elrepo) + xorg.conf "blt"  = glitch
kernel 4.1 (elrepo) + xorg.conf "none" = glitch
kernel 4.1 (elrepo) + xorg.conf "uxa"  = FIXED!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.