<br><br><div class="gmail_quote">On Sat, Feb 4, 2012 at 8:58 AM, William Otten <span dir="ltr">&lt;<a href="mailto:williammotten@gmail.com">williammotten@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    On 2/3/2012 9:59 PM, william otten wrote:
    </div><div><div class="h5"><blockquote type="cite"><br>
      <br>
      <div class="gmail_quote">On Fri, Feb 3, 2012 at 4:01 PM, Matt
        Garman <span dir="ltr">&lt;<a href="mailto:matthew.garman@gmail.com" target="_blank">matthew.garman@gmail.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <p>Hi William,</p>
          <p>The only way I know to verify the patch is in place (other
            than by testing in myth using opengl) is to look at the
            source. Look at that function I mentioned in the earlier
            post, and see if it includes the additional null pointer
            check. Or, I suppose if you are already in contact with the
            xorg devs, just ask them directly.</p>
          <p>I&#39;m afraid I can&#39;t think of any other way to check. Hope
            that helps!<span><font color="#888888"><br>
                Matt<br>
              </font></span></p>
          <div>
            <div>
              <div class="gmail_quote">On Feb 3, 2012 6:47 AM, &quot;William
                Otten&quot; &lt;<a href="mailto:williammotten@gmail.com" target="_blank">williammotten@gmail.com</a>&gt;
                wrote:<br type="attribution">
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  On 1/29/2012 7:34 PM, Matt Garman wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    On Sat, Jan 28, 2012 at 01:55:31PM -0600, william
                    otten wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      The patch is quite simple and involves one
                      function in<br>
                      mesa/drivers/dri/intel/intel_screen.c<br>
                      Another person on this list<br>
                      reported that the patch solved an identical crash
                      for him.  Before<br>
                      diving into much debugging, I suggest you apply
                      this patch to the mesa<br>
                      7.11.2 code, recompile it, and give it a test.<br>
                    </blockquote>
                    I may be the &quot;other person&quot; who has been referred to
                    several times<br>
                    in this thread, as I did exactly that: I patched the
                    intel_screen.c<br>
                    file and rebuilt mesa, and now have a nicely working
                    OpenGL-based<br>
                    SNB frontend (which I&#39;m proud to say is also quite
                    small and<br>
                    low-power :).<br>
                    <br>
                    &gt; From my skimming of this thread, it looks like
                    the individual with<br>
                    the patching issues is running Ubuntu.  I&#39;m running
                    CentOS plus<br>
                    ATrpms (for MythTV) and elrepo for newer Intel video
                    drivers and<br>
                    supporting packages (in particular, mesa).<br>
                    <br>
                    What I did was simply download the source RPM for
                    mesa from elrepo,<br>
                    manually hack the intel_screen.c file according to
                    the patch, and<br>
                    rebuild.  I don&#39;t know how to do this with
                    Ubuntu/debian packages,<br>
                    but I can&#39;t imagine the process is dramatically
                    different from an<br>
                    RPM-based distro.<br>
                    <br>
                    FWIW, the patch that has been mentioned doesn&#39;t
                    apply cleanly to the<br>
                    mesa source from elrepo, because it&#39;s a slightly
                    older version:<br>
                    looks like the mesa-20111103 snapshot.<br>
                    <br>
                    But the patch is super simple.  Just look for the
                    function<br>
                    &quot;intelDRI2Flush()&quot; in the file mentioned above.  It
                    should be near<br>
                    the top of the file.  Just replace that function
                    definition with<br>
                    this one:<br>
                    <br>
                    static void<br>
                    intelDRI2Flush(__DRIdrawable *drawable)<br>
                    {<br>
                       GET_CURRENT_CONTEXT(ctx);<br>
                       struct intel_context *intel = intel_context(ctx);<br>
                    <br>
                       if (intel != NULL) { /* add this... */<br>
                           if (intel-&gt;gen&lt;  4)<br>
                               INTEL_FIREVERTICES(intel);<br>
                    <br>
                           intel-&gt;need_throttle = GL_TRUE;<br>
                    <br>
                           if (intel-&gt;batch.used)<br>
                               intel_batchbuffer_flush(intel);<br>
                       } /* ...and this */<br>
                    }<br>
                    <br>
                    As I commented above, the patch just adds two lines,
                    which just do a<br>
                    NULL pointer safety check.<br>
                    <br>
                    So, generic instructions would be:<br>
                    <br>
                        - get your distro&#39;s newest mesa source package<br>
                        - unpack it (e.g. RPMs are really cpio archives)<br>
                        - track down the intel_screen.c file and patch
                    (or manually<br>
                          edit) it as described above<br>
                        - re-package the mesa source package<br>
                        - use your distro&#39;s source package build tool to
                    build a binary<br>
                          package (e.g. rpmrebuild for RPM-based
                    distros)<br>
                    <br>
                    Working with your distro&#39;s source packages should be
                    well-documented<br>
                    (at least for major distros like Ubuntu and Fedora).<br>
                    <br>
                    The other option is to wait: I also reported my
                    success with this on<br>
                    the elrepo mailing list.  The elrepo mesa maintainer
                    said he didn&#39;t<br>
                    want to update the package with a patch that wasn&#39;t
                    committed<br>
                    (according to this thread, it is now, but wasn&#39;t
                    when I made the<br>
                    comment).  So I would imagine that package
                    maintainers will probably<br>
                    be open to incorporating this patch into their
                    builds now that it&#39;s<br>
                    officially committed... I might request it for
                    elrepo if I get<br>
                    around to it.<br>
                    <br>
                    In other words, with this patch officially
                    committed, it will<br>
                    eventually make its way into different distro&#39;s mesa
                    builds.<br>
                    <br>
                    HTH,<br>
                    Matt<br>
                    <br>
                    _______________________________________________<br>
                    mythtv-users mailing list<br>
                    <a href="mailto:mythtv-users@mythtv.org" target="_blank">mythtv-users@mythtv.org</a><br>
                    <a href="http://www.mythtv.org/mailman/listinfo/mythtv-users" target="_blank">http://www.mythtv.org/mailman/listinfo/mythtv-users</a><br>
                  </blockquote>
                  Matt<br>
                  I appreciate your input on this issue. Not being a
                  programmer, I can&#39;t get my brain wrapped around all
                  that needs to be considered or done to test this
                  patch. With that said, I have setup with xorg-edgers
                  in anticipation that the patch will work it&#39;s way down
                  stream. I contacted one of the dev&#39;s at xorg-edgers
                  and he replied that the patch should be available
                  within a week or two ( that was about a week ago). I
                  have since received a couple of updates from them but
                  I&#39;m not sure if the patch was included. Is there a way
                  to check (other than just trying vaapi with mythtv) to
                  see if the patch is included or has been received by
                  me?<br>
                  Thanks<br>
                  William<br>
                </blockquote>
              </div>
            </div>
          </div>
        </blockquote>
      </div>
      I&#39;m a fish out of water here. I tried to find the source on the
      xorg-edgers site for over an hour but no luck. The only thing I
      found was this:<br>
      <br>
      <a href="http://bazaar.launchpad.net/%7Evcs-imports/mesa/master/revision/26908" target="_blank">http://bazaar.launchpad.net/~vcs-imports/mesa/master/revision/26908</a><br>
      <br>
      The other url doesn&#39;t work anymore. Also I sent an email to one of
      the dev&#39;s.
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
mythtv-users mailing list
<a href="mailto:mythtv-users@mythtv.org" target="_blank">mythtv-users@mythtv.org</a>
<a href="http://www.mythtv.org/mailman/listinfo/mythtv-users" target="_blank">http://www.mythtv.org/mailman/listinfo/mythtv-users</a>
</pre>
    </blockquote></div></div><div class="im">
    I tried the opengl option for render and osd render and it works
    with ffmpeg. So the patch must be working. I will try to use debug
    again with vaapi and see if i can get errors to post since the vaapi
    decoder option still isn&#39;t working.<br>
  </div></div>

</blockquote></div>This the latest debug using the latest master:<br><br>gdb.txt<br><br><a href="http://dl.dropbox.com/u/17574275/gdb%202-6-12.txt">http://dl.dropbox.com/u/17574275/gdb%202-6-12.txt</a><br><br>myth.log<br>
<br><a href="http://dl.dropbox.com/u/17574275/myth%202-6-12.log">http://dl.dropbox.com/u/17574275/myth%202-6-12.log</a><br><br>terminal capture<br><br><a href="http://dl.dropbox.com/u/17574275/MythtvBacktrace%202-6-12">http://dl.dropbox.com/u/17574275/MythtvBacktrace%202-6-12</a><br>
<br>I also changed from ubuntu 11.10 to 12.4. A side note, mythtv plays without tearing using ffmpeg and opengl with unity.<br>