Bug 89341

Summary: [gen4] GPU hang with youtube
Product: Mesa Reporter: cooks.go.hungry
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: RESOLVED DUPLICATE QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: major    
Priority: high    
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description cooks.go.hungry 2015-02-26 19:04:09 UTC
When making something fullscreen (e.g.: a webpage or YouTube video) the entire screen goes black and for instance when launching a video with sound, after the screen has gone black, I can still hear the sound.

Although sometimes it only crashes after I try to exit fullscreen, and it does something like either go fully black, or the top bar and mouse disappear.

But whatever type of crash it is, it does it basically every time that I make anything full screen in my browser and forces me to have to restart my machine by holding down my computer's power button.

For more information on this as well as my debugging logs etc, and what other people have said about the issue please go here: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1413710

System information:

Description:	Ubuntu 14.10
Release:	14.10

Package information:

xorg:
  Installed: 1:7.7+7ubuntu2
  Candidate: 1:7.7+7ubuntu2
  Version table:
 *** 1:7.7+7ubuntu2 0
        500 http://gb.archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages
        100 /var/lib/dpkg/status
Comment 1 Matt Turner 2015-05-14 04:56:37 UTC
I suspect this may be another duplicate of the bug 80568, fixed (worked-around) by this commit:

commit c4fd0c9052dd391d6f2e9bb8e6da209dfc7ef35b
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Jan 17 23:21:15 2015 -0800

    i965: Work around mysterious Gen4 GPU hangs with minimal state changes.
    
    Gen4 hardware appears to GPU hang frequently when using Chromium, and
    also when running 'glmark2 -b ideas'.  Most of the error states contain
    3DPRIMITIVE commands in quick succession, with very few state packets
    between them - usually VERTEX_BUFFERS/ELEMENTS and CONSTANT_BUFFER.
    
    I trimmed an apitrace of the glmark2 hang down to two draw calls with a
    glUniformMatrix4fv call between the two.  Either draw by itself works
    fine, but together, they hang the GPU.  Removing the glUniform call
    makes the hangs disappear.  In the hardware state, this translates to
    removing the CONSTANT_BUFFER packet between the two 3DPRIMITIVE packets.
    
    Flushing before emitting CONSTANT_BUFFER packets also appears to make
    the hangs disappear.  I observed a slowdown in glxgears by doing it all
    the time, so I've chosen to only do it when BRW_NEW_BATCH and
    BRW_NEW_PSP are unset (i.e. we haven't done a CS_URB_STATE change or
    already flushed the whole pipeline).
    
    I'd much rather understand the problem, but at this point, I don't see
    how we'd ever be able to track it down further.  We have no real tools,
    and the hardware people moved on years ago.  I've analyzed 20+ error
    states and read every scrap of documentation I could find.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80568
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85367
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Acked-by: Matt Turner <mattst88@gmail.com>
    Cc: "10.4 10.3" <mesa-stable@lists.freedesktop.org>

It's in git, and backports are in Mesa 10.4.x for x >= 3. Please try upgrading to >=10.4.3. If it's resolved by such an upgrade, please mark as a duplicate of bug 80568.
Comment 2 Matt Turner 2015-06-01 17:54:37 UTC

*** This bug has been marked as a duplicate of bug 80568 ***

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.