[mythtv-users] Vaapi use on Sandy Bridge

william otten williammotten at gmail.com
Tue Jan 31 16:16:59 UTC 2012


On Sun, Jan 29, 2012 at 7:34 PM, Matt Garman <matthew.garman at gmail.com>wrote:

> On Sat, Jan 28, 2012 at 01:55:31PM -0600, william otten wrote:
> > The patch is quite simple and involves one function in
> > mesa/drivers/dri/intel/intel_screen.c
> > Another person on this list
> > reported that the patch solved an identical crash for him.  Before
> > diving into much debugging, I suggest you apply this patch to the mesa
> > 7.11.2 code, recompile it, and give it a test.
>
> I may be the "other person" who has been referred to several times
> in this thread, as I did exactly that: I patched the intel_screen.c
> file and rebuilt mesa, and now have a nicely working OpenGL-based
> SNB frontend (which I'm proud to say is also quite small and
> low-power :).
>
> >From my skimming of this thread, it looks like the individual with
> the patching issues is running Ubuntu.  I'm running CentOS plus
> ATrpms (for MythTV) and elrepo for newer Intel video drivers and
> supporting packages (in particular, mesa).
>
> What I did was simply download the source RPM for mesa from elrepo,
> manually hack the intel_screen.c file according to the patch, and
> rebuild.  I don't know how to do this with Ubuntu/debian packages,
> but I can't imagine the process is dramatically different from an
> RPM-based distro.
>
> FWIW, the patch that has been mentioned doesn't apply cleanly to the
> mesa source from elrepo, because it's a slightly older version:
> looks like the mesa-20111103 snapshot.
>
> But the patch is super simple.  Just look for the function
> "intelDRI2Flush()" in the file mentioned above.  It should be near
> the top of the file.  Just replace that function definition with
> this one:
>
> static void
> intelDRI2Flush(__DRIdrawable *drawable)
> {
>   GET_CURRENT_CONTEXT(ctx);
>   struct intel_context *intel = intel_context(ctx);
>
>   if (intel != NULL) { /* add this... */
>       if (intel->gen < 4)
>           INTEL_FIREVERTICES(intel);
>
>       intel->need_throttle = GL_TRUE;
>
>       if (intel->batch.used)
>           intel_batchbuffer_flush(intel);
>   } /* ...and this */
> }
>
> As I commented above, the patch just adds two lines, which just do a
> NULL pointer safety check.
>
> So, generic instructions would be:
>
>    - get your distro's newest mesa source package
>    - unpack it (e.g. RPMs are really cpio archives)
>    - track down the intel_screen.c file and patch (or manually
>      edit) it as described above
>    - re-package the mesa source package
>    - use your distro's source package build tool to build a binary
>      package (e.g. rpmrebuild for RPM-based distros)
>
> Working with your distro's source packages should be well-documented
> (at least for major distros like Ubuntu and Fedora).
>
> The other option is to wait: I also reported my success with this on
> the elrepo mailing list.  The elrepo mesa maintainer said he didn't
> want to update the package with a patch that wasn't committed
> (according to this thread, it is now, but wasn't when I made the
> comment).  So I would imagine that package maintainers will probably
> be open to incorporating this patch into their builds now that it's
> officially committed... I might request it for elrepo if I get
> around to it.
>
> In other words, with this patch officially committed, it will
> eventually make its way into different distro's mesa builds.
>
> HTH,
> Matt
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
>
The latest debug using the latest master.
Terminal capture

http://dl.dropbox.com/u/17574275/mythBacktrace%201-31-12

gdb.txt

http://dl.dropbox.com/u/17574275/gdb%201-31-12.txt<http://dl.dropbox.com/u/17574275/gdb%201-28-12.txt>

myth.log

http://dl.dropbox.com/u/17574275/myth%201-31-12.log
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.mythtv.org/pipermail/mythtv-users/attachments/20120131/2b2c4a94/attachment.html 


More information about the mythtv-users mailing list