DSP Error / No hardware acceleration

Hello everybody, this is my first post on the group - I need some help regarding playing video files with the Beagleboard, and I hope to learn enough in the incoming months to become useful on the list too :wink:

So, I need to setup a Beagleboard XM system without X Window that must be able to
- wireless connect to the internet
- run Opengl apps
- play 720p video (at least using omapfb which should be faster than vanilla video output) and better using the dspboard to decode the stream)

I've struggled with several options (demo system provided with the board, Narcisuss build, Debian) for the last 4 weeks but still don't have found a good global solution

My best bet, for now, have been to bitbake a 3.0.25+ kernel with Open Embedded, with the help of some obscure IRC logs (both concerning wrong OE recipes) I've been able to have OpenGL running
WIFI is ok, using a dlink (realtek) usb adapter
The kernel is very responsive, very fast to boot (11 second from u-boot start to login prompt)

The last and very important point is video stream playing which I've not be able to use in accelerated mode. I must also confess that I still have a very very basic understanding of the beagle xm video system.

I'have bitbaked ti-gstreamer and installed on board with all the gstreamer required plugins.

The problem is... that I can't play anything with or without using TI* gstreamer functionnalities.

1) Environnement

Linux beagleboard 3.0.25+

uEnv.txt file is
mpurate=1000
mmcroot=/dev/mmcblk0p2 rw
vram=16M
optargs=consoleblank=0 mem=99M@0x80000000 mem=384@0x88000000
dvimode="hd720 omapfb.vrfb=0 omapfb.vram=0:8M,1:8M,2:8M"

/etc/init.d/pvrinit starting ok
/etc/init.d/gstti-init starting ok
gstti-init gives
[ 6.713745] DSPLINK Module (1.65.00.03) created on Date: Apr 1 2012 Time: 16:33:07
[ 6.918945] SDMAK module: built on Apr 9 2012 at 15:49:42
[ 6.924804] Reference Linux version 3.0.25
[ 6.929260] File /mnt/big/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/ti-linuxutils-1_2_26_01_02-r118e/linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c

2) The problem
gst-launch --gst-debug=2 -v videotestsrc num-buffers=100 ! TIDmaiVideoSink displayStd=fbdev displayDevice=/dev/fb/1 videoOutput=DVI useUserptrBufs=FALSE

gives, amongst others info, two ERRORS

0:00:00.092742842 385 0x1588588 ERROR TIDmaiVideoSink gsttidmaivideosink.c:1968:gst_tidmaivideosink_alloc_display_buffers: useUserptrBufs=TRUE can only be used with V4L2 displays
0:00:00.093048017 385 0x1588588 ERROR TIDmaiVideoSink gsttidmaivideosink.c:728:gst_tidmaivideosink_buffer_alloc: Failed to allocate display buffers

I don't understand the complain about useUserptrBufs. Considering the error about buffer allocation I suspected a bad configuration about memory shared between CPU and DSP, and I did this

/usr/share/ti/ti-dsplink-examples/ti-dsplink-examples-loadmodules.sh
gives
You have 76964kB total memory for Linux

Then /usr/share/ti/ti-dsplink-examples/ti-dsplink-examples-run.sh
The forth first examples seems to run fine (LOOP, MESSAGE, MESSAGEMULTI, MP_LIST)
then the other ones all fail giving
========== Sample Application : MPCSXFER ==========
Entered MPCSXFER_Create ()
[ 1693.331695] DSP-side configuration mismatch/failure
[ 1693.336822] 0 -> success
[ 1693.340667] Positive value -> DSP-side failure code.
[ 1693.345886] (Uint32) -1 -> DSP-side component was not initialized.
[ 1693.345886]
[ 1693.354217] ProcId received : 0, Expected : 0
[ 1693.359130] DRV configuration status [0xffffffff]
[ 1693.364715] IPS configuration status [0xffffffff]
[ 1693.370300] POOL configuration status [0xffffffff]
[ 1693.375885] MPCS configuration status [0xffffffff]
[ 1693.381469] MPLIST configuration status [0xffffffff]
[ 1693.387054] MQT configuration status [0xffffffff]
[ 1693.392608] DATA configuration status [0xffffffff]
[ 1693.398193] RINGIO configuration status [0xffffffff]
PROC_start () failed. Status = [0x80008052]
Leaving MPCSXFER_Create ()
Entered MPCSXFER_Delete ()
PROC_stop () failed. Status = [0x80008000]
Leaving MPCSXFER_Delete ()

I found this http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues#Problem:_PROC_start_failed_with_configuration_mismatch.2Ffailure
it could be related with cause 2 or cause 3 but unfortunately I don't have the required skills to correct the problem

I really don't see what to do... Anybody can help ? Thanks

Christophe Gimenez wrote:

- play 720p video (at least using omapfb which should be faster than
vanilla video output) and better using the dspboard to decode the stream)

yes, the beagle can play a limited amout of 720p video, namely 720p baseline
profile.

2) The problem
gst-launch --gst-debug=2 -v videotestsrc num-buffers=100 !
TIDmaiVideoSink displayStd=fbdev displayDevice=/dev/fb/1 videoOutput=DVI
useUserptrBufs=FALSE

gives, amongst others info, two ERRORS

0:00:00.092742842 385 0x1588588 ERROR TIDmaiVideoSink
gsttidmaivideosink.c:1968:gst_tidmaivideosink_alloc_display_buffers:
useUserptrBufs=TRUE can only be used with V4L2 displays

as the error message says "useUserptrBufs=TRUE can only be used with V4L2
displays" and you are using fbdev....

http://processors.wiki.ti.com/index.php/GstTIPlugin_Elements#TIDmaiVideoSink

Yes, but I provide a useUserptrBufs=FALSE not TRUE (just to be sure), and TIDmaiVideoSink complains about this value beeing TRUE (which seems to be the default).

I'm not sure if this error is related to the second one, which is certainly the problem's core :
0:00:00.209686302 344 0x636588 ERROR TIDmaiVideoSink gsttidmaivideosink.c:728:gst_tidmaivideosink_buffer_alloc: Failed to allocate display buffers

Despite having
optargs=consoleblank=0 mem=99M@0x80000000 mem=384@0x88000000
dvimode="hd720 omapfb.vrfb=0 omapfb.vram=0:8M,1:8M,2:8M"

in uEnt.txt file

Christophe Gimenez wrote: