Bug 41439

Summary: mplayer using -vo gl can crash X server when resizing
Product: xorg Reporter: mctiew
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: eugeni, przanoni
Version: 7.6 (2010.12)   
Hardware: x86 (IA32)   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description mctiew 2011-10-04 00:56:02 UTC
This is 100% repeatable situation.  When option "Shadow" "True" is removed then X server does not crash. Kernel 3.0.4, xserver-xorg-video-intel 2.16.0-1 debian based system. I am using this xorg.conf :-

Section "Device"

        Identifier      "Intel 945G "
        Driver		"intel"
	Option		"Shadow" "True"
EndSection

Section "Monitor"
        Identifier      "LVDS"
        Option "PreferredMode"  "1280x800"
        Option        "Position" "0 224"
EndSection

Section "Monitor"
        Identifier      "VGA"
        Option "PreferredMode"  "1280x1024"
        Option        "Position" "0 0"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device        "Intel Corporation 945G Integrated Graphics Controller"
        DefaultDepth  24
        SubSection "Display"
                Depth          24
                Modes         "1280x1024" "1280x800" "1024x768" "800x600" "600x480"
        EndSubSection
EndSection
Comment 1 Paulo Zanoni 2011-10-28 06:33:14 UTC
Why are you using option Shadow?

From the man page (man intel):

       Option "Shadow" "boolean"
              This option controls the use of GPU acceleration  and  placement
              of auxiliary buffers in memory. Enabling the Shadow will disable
              all use of the GPU for RENDER acceleration and  force  software-
              fallbacks  for  all  but  updating the scan-out buffer. Hardware
              overlay is still supported  so  Xv  will  continue  to  playback
              videos using the GPU, but GL will be forced to use software ras‐
              terisation as well.  This is a last resort measure  for  systems
              with  crippling  bugs,  such  as early 8xx chipsets. It is still
              hoped that we will find a workaround to enable as much  hardware
              acceleration  on  those  architectures as is possible, but until
              then, using a shadow buffer should maintain system stability.

              Default: Disabled

This may be a bug, but if your system works fine without this option, you might consider removing it...
Comment 2 mctiew 2011-10-28 13:40:47 UTC
If I don't use "shadow" I have a bigger issue, the GPU hang from time to time.
I will get this instead :-

[drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
Comment 3 Paulo Zanoni 2011-10-28 14:00:24 UTC
(In reply to comment #2)
> If I don't use "shadow" I have a bigger issue, the GPU hang from time to time.
> I will get this instead :-
> 
> [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung

Do you have a bug report for that too? What's the number? For your case, fixing the gpu hang will be a much better solution than fixing the "Shadow" option.
Comment 4 mctiew 2011-10-28 16:54:19 UTC
The GPU hang thing there is no lack of bug reports, and I haven't seen any fix yet. It's a intermittent issue and hard to repeat. Whereas this bug is 100% repeatable. Yeah I agree with you it is better to be able to fix the GPU han compared to this Xserver bug, however "wish to fix" and "actually able to fix" is a totally different issue. 

This bug has been filed and I haven't even seen any attempt to "respond" to it yet, whether to ignore this bug or to fix this bug, what make you think that other bugs filed will be fixed ?
Comment 5 Eugeni Dodonov 2011-11-03 14:27:38 UTC
I believe that if the bugs won't be filled, certainly they won't be fixed...

If you can reproduce the GPU hang bug, please, fill in the issue as explained at http://intellinuxgraphics.org/how_to_report_bug.html. The i915_error_state is really important, it can explain why the hang happens.

If you want, please, send me or Paulo a direct mail as well when you do, so we could follow up with it faster.

Thanks!
Comment 6 Chris Wilson 2011-11-09 08:25:42 UTC
The original bug should in theory be fixed by

commit 463dd87062edaa974cb8c7163328a53197f237e1
Author: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Date:   Thu Sep 22 18:38:53 2011 +0300

    xf86/modes: Fix shadow rotation crashing when screen pixmap changes
    
    Driver may change screen pixmaps after page flipping that would then
    make damage lose track of the root pixmap.
    
    Using root window for shadow damages fixes the problem because
    SetWindowPixmap is implemented in shadow code.
    
    Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
    Reviewed-by: Keith Packard <keithp@keithp.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

Without details of the GPU hangs (which are extremely rare on 945g) we can not do anything towards fixing them.

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.