[mythtv-users] Vaapi use on Sandy Bridge
William Otten
williammotten at gmail.com
Mon Feb 6 20:23:48 UTC 2012
On 2/6/2012 10:56 AM, william otten wrote:
>
>
> On Sat, Feb 4, 2012 at 8:58 AM, William Otten <williammotten at gmail.com
> <mailto:williammotten at gmail.com>> wrote:
>
> On 2/3/2012 9:59 PM, william otten wrote:
>>
>>
>> On Fri, Feb 3, 2012 at 4:01 PM, Matt Garman
>> <matthew.garman at gmail.com <mailto:matthew.garman at gmail.com>> wrote:
>>
>> Hi William,
>>
>> 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.
>>
>> I'm afraid I can't think of any other way to check. Hope that
>> helps!
>> Matt
>>
>> On Feb 3, 2012 6:47 AM, "William Otten"
>> <williammotten at gmail.com <mailto:williammotten at gmail.com>> wrote:
>>
>> On 1/29/2012 7:34 PM, Matt Garman 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 <mailto:mythtv-users at mythtv.org>
>> http://www.mythtv.org/mailman/listinfo/mythtv-users
>>
>> Matt
>> I appreciate your input on this issue. Not being a
>> programmer, I can'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's way down stream. I
>> contacted one of the dev'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'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?
>> Thanks
>> William
>>
>> I'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:
>>
>> http://bazaar.launchpad.net/~vcs-imports/mesa/master/revision/26908
>> <http://bazaar.launchpad.net/%7Evcs-imports/mesa/master/revision/26908>
>>
>> The other url doesn't work anymore. Also I sent an email to one
>> of the dev's.
>>
>>
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org <mailto:mythtv-users at mythtv.org>
>> http://www.mythtv.org/mailman/listinfo/mythtv-users
> 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't working.
>
> This the latest debug using the latest master:
>
> gdb.txt
>
> http://dl.dropbox.com/u/17574275/gdb%202-6-12.txt
>
> myth.log
>
> http://dl.dropbox.com/u/17574275/myth%202-6-12.log
>
> terminal capture
>
> http://dl.dropbox.com/u/17574275/MythtvBacktrace%202-6-12
>
> I also changed from ubuntu 11.10 to 12.4. A side note, mythtv plays
> without tearing using ffmpeg and opengl with unity.
>
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
This statement keeps repeating in the command line but not showing up in
gdb.txt or myth.log:
intel_do_flush_locked failed: Input/output error
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.mythtv.org/pipermail/mythtv-users/attachments/20120206/08371960/attachment-0001.html
More information about the mythtv-users
mailing list