Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 486952 - x11-drivers/xf86-video-intel-2.21.15 paints small black rectangles
Summary: x11-drivers/xf86-video-intel-2.21.15 paints small black rectangles
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-04 12:05 UTC by David Williams
Modified: 2015-02-23 00:58 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams 2013-10-04 12:05:56 UTC
Black artifacts appear on screen, appears like a punched card. This shows up well in firefox. These marks move when scrolling but disappear when scrolled off and back only to be replaced by marks in other places. See https://bugs.freedesktop.org/show_bug.cgi?id=68410 
for discussion. 

I've downgraded the driver and the problem goes away.

Reproducible: Always

Steps to Reproduce:
1.use firefox to look at a page with lots of text. The apache docs for mod_proxy seems to reproduce it well
2.
3.



CPU 3rd gen i5 3570K 3.4GHZ 
M/B MSI B75MA-P45

Portage 2.2.1 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.15-r3, 3.10.7-gentoo x86_64)
=================================================================
System uname: Linux-3.10.7-gentoo-x86_64-Intel-R-_Core-TM-_i5-3570K_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    32616128 total,  28403760 free
KiB Swap:     524284 total,    524284 free
Timestamp of tree: Wed, 02 Oct 2013 13:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r2, 3.2.5-r2
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo x-overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"                                                                                                                 
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"                                                                      
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"                    
CXXFLAGS="-march=native -O2 -pipe"                                                                                                          
DISTDIR="/usr/portage/distfiles"                                                                                                            
FCFLAGS="-O2 -pipe"                                                                                                                         
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"         
FFLAGS="-O2 -pipe"                                                                                                                          
GENTOO_MIRRORS="http://mirror.bytemark.co.uk/gentoo/ rsync://mirror.bytemark.co.uk/gentoo/ http://mirror.qubenet.net/mirror/gentoo/ rsync://rsync.mirrorservice.org/www.ibiblio.org/gentoo/ http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/"                                 
LANG="en_GB.UTF-8"                                                                                                                          
LDFLAGS="-Wl,-O1 -Wl,--as-needed"                                                                                                           
MAKEOPTS="-j5"                                                                                                                              
PKGDIR="/usr/portage/packages"                                                                                                              
PORTAGE_CONFIGROOT="/"                                                                                                                      
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/overlay"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm gtk iconv jpeg kde kipi lcms ldap libnotify lock mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit ppds qt3support qt4 readline scanner sdl semantic-desktop session spell sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias proxy proxy_ajp proxy_http" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="x86_64 i386" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 1 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-10-04 13:25:06 UTC
Does the patch mentioned in 
https://bugs.freedesktop.org/show_bug.cgi?id=68410#c12
reduce the amount of display corruption on your system?
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-10-04 13:43:59 UTC
*** Bug 486924 has been marked as a duplicate of this bug. ***
Comment 3 Raymond Jennings 2013-10-04 17:30:34 UTC
I'm not really sure 486924 is a duplicate.  The screen garbage I saw was not small black rectangles.  It rather looked more like recycled trash from other parts of the screen.
Comment 4 Alexander Wetzel 2013-10-15 19:25:52 UTC
I've the same issue with x11-drivers/xf86-video-intel-2.21.15.

With some changes for the different code base this fix works for me:
https://bugs.freedesktop.org/show_bug.cgi?id=68410#c42

(I've nevertheless masked xf86-video-intel-2.21.15 now, since this version is also crashing my hard resetting in a very curios way. I'll open a new bug for that.)

Here the modified version for xf86-video-intel-2.21.15 I'm using. Be warned that I do not really understand what I changed and it may break something else:

--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1074,6 +1074,7 @@
                uint16_t wm_binding_table)
 {
        bool need_stall;
+       bool need_flush;
 
        assert(op->dst.bo->exec);
 
@@ -1086,20 +1087,23 @@
        gen7_emit_wm(sna, GEN7_KERNEL(op->u.gen7.flags));
        gen7_emit_vertex_elements(sna, op);
 
-       need_stall = gen7_emit_binding_table(sna, wm_binding_table);
-       need_stall &= gen7_emit_drawing_rectangle(sna, op);
+       need_flush = gen7_emit_binding_table(sna, wm_binding_table);
+       need_stall = gen7_emit_drawing_rectangle(sna, op) && need_flush;
+
+       need_flush |= sna->render_state.gen7.emit_flush;
 
        if (kgem_bo_is_dirty(op->src.bo) || kgem_bo_is_dirty(op->mask.bo)) {
                gen7_emit_pipe_invalidate(sna);
                kgem_clear_dirty(&sna->kgem);
                assert(op->dst.bo->exec);
                kgem_bo_mark_dirty(op->dst.bo);
-               need_stall = false;
+               need_flush = need_stall = false;
+       }
+       if (need_flush) {
+               gen7_emit_pipe_flush(sna);
        }
        if (need_stall)
                gen7_emit_pipe_stall(sna);
-
-       sna->render_state.gen7.emit_flush = GEN7_READS_DST(op->u.gen7.flags);
 }
 
 static bool gen7_magic_ca_pass(struct sna *sna,
Comment 5 Thomas Petersen 2013-10-28 12:34:31 UTC
I see the same behaviour on my integrated HD Graphics 4600.
The black rectangles are 8x4 pixels.
Furthermore I see strange substitions of characters in various programs and fonts.

I tried recompiling the driver just to make sure it wasn't some compatibility issue because of xorg-server upgrade or something but it appears to have made the problen even worse. Now I can crash the server when highlighting text and making certain keystrokes.
Comment 6 drunkenbatman 2013-11-21 09:42:23 UTC
This was mentioned on the mailing list (chris?) as a known issue -- it's a hardware bug in ivy/etc they needed to come up with a workaround for.
Comment 8 Paweł Stankowski 2014-07-26 20:38:43 UTC
According to freedesktop bugzilla this bug was fixed in "xf86-video-intel 2.99.907-2". I emerged the newest unstable version (2.99.914) it fixed the problem for me.

Any chance to tag *.907 or newer version as stable?
Comment 9 arom 2015-01-06 17:23:34 UTC
I had the same problem here with the current stable (2.21.15).
After emerging the latest masked version 2.99.917, now everything seems fine.

Using a HP EliteBook 840 G1 laptop with Intel HD Graphics 4400.
lspci says: "Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)"
Comment 10 Marian Kyral 2015-02-16 09:08:37 UTC
I have this issue as well. I'm not sure when exactly it started, but I think it was after I enabled vaapi USE flag.
Comment 11 Matt Turner gentoo-dev 2015-02-23 00:58:18 UTC
Small black rectangles is kind of the most common failure mode. People are almost certainly seeing different bugs.

In any case, test a new version of the driver. If it's not fixed, please file a bug upstream at bugs.freedesktop.org. We're not prepared to fix driver issues that aren't fixed upstream.