• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 39
[i.MX6] XBMC running on Freescale SoC's
#1
As we have made considerable progress in getting uboot, kernel, ubuntu, gpu and vpu working on the GK802 albeit under armel. See my blog for more info. I'm looking for some help/direction on how we would go about porting xbmc to run natively on the GK802.
More A10/GK802/I.MX6 stuff on my blog
Reply
#2
Hi,

I have the exact same goal : Getting XBMC to run on GK802 with GPU and VPU acceleration.
As far as I am aware, there is no public port to support iMX VPU.

I can see 2 ways to address the problem :
* Let's develop a DVDVideoCodec to support the iMX VPU for dvdplayer
* Let's enable the use of gstreamer as the underlying player (and benefit from the gstreamer plugins which are already available) : Rob Clark did the job for the pandaboard a year ago : https://github.com/robclark/xbmc/tree/linaro

What do you (and xbmc developers) think about these 2 options ?
The former requires more work (but seems perfectly doable given the provided sources and firmware by freescale) while the latter should be quite easy (or at least not so hard) to test in the coming days...

Best regards
Stephan
Reply
#3
Hi,

I think gstreamer may be easier path for now because it works out of the box as you say. So we could take Rob Clark's work as a template?
More A10/GK802/I.MX6 stuff on my blog
Reply
#4
Yes it appears as a good way to get something working quickly
Do you need a hand on this task ? I can try to create a build for the GK802 if you wish...

PS :
By the way for the sake of history,
it seems the original work to integrate gstplayer and gstreamer backend was performed by kan as a linaro blueprint blueprint with code available here

Rob's work is an improved (sometimes specialized for the panda OMAP soc by TI) version (refer to this irc log)
Reply
#5
Great if you can help, especially creating a first build.

I'm current finishing off/testing some uboot code to allowing booting from int/ext sd or usb for the gk802. After that I can starting looking at this.

We can discuss via irc imx6-dongle at freenode if that helps.
More A10/GK802/I.MX6 stuff on my blog
Reply
#6
Hi,

I will give it a quick try during this WE, I keep you informed..

Stephan
Reply
#7
Hi,

Just a little update : I managed to build xbmc for my environment on a GK802.
Basically I have built the linaro branch from rob'repository (with commits 44a7a77 4d8a77c 2604f6b 304ac05 reverted)
I use yocto to build my own distro
I target EGL as the windowing system (I also made minor adaptations in WinSystemGLES files)

Yet it is not 100% working for now : I have some issues :
- gstreamer is not fully properly integrated (not related to xbmc but to missing plugins in my build. The h264 hw decoding works at least Wink )
- I have a heating issue : As xbmc GUI consumes some CPU, the soc temperature increases very fast : I tried to attach a custom heatsink and it is far better but still not enough : I have to find a real solution on this side...
(on one side I still need to open the stick, replace the sdcard, plug a header to access UART quite often while hacking and on the other side a real cooling solution would require to close it for good and ensure good conduction between the case and my heatsink... So it is not easy to find a good compromise)

Yet it is already very positive :
xbmc loads really very fast (I have a class 10 sdcard) compared to other device I have. The GUI is pretty responsive and the gstplayer is launched (well, I have some issues with gstreamer but as I said these are generic issues with my build and not related to xbmc integration)

As soon as I have a stable build I will publish the recipes for yocto/poky as a gk802 layer and the prebuilt image ready to flash..
Once this first step is reached , I will also try to bump to xbmc frodo 12.1 (for now I have built the eden version)

Regards
Stephan
Reply
#8
Update :
OK now I have settled my issues with gstreamer as a standalone component yet I still have an issue when xbmc launches gstplayer : I get a segmentation fault in
aiurdemux... (while everything works fine if I run playbin with gst-launch from command line)

I will investigate this issue further later...

Regards
Reply
#9
Thats good progress you have made, I think the CPU load probably indicates that it is still using software GL/EGL. If you want, send me your patches I can test.

I'll release my uboot in a day or so, with that one you should be able to boot your image from ext sd.
More A10/GK802/I.MX6 stuff on my blog
Reply
#10
Hi,

In fact I think that the XBMC GUI rendering is hw : It is very fluid with about 80fps and I don't expect such a result with sw rendering (even on IMX6Q ...)

Yet I think XBMC main GUI is known to be CPU hungry, especially the eden version. Not speaking about the python scripts which are launched at startup and which also demand CPU at this time... So I am not especially worried about this load for now
(I worry a little about the gk802 overheating but I guess I will find a solution with my external heatsink)

Speaking about uboot, i posted a question regarding android support (on imx6 dongle groups): I would like to get a recent u-boot to boot a normal linux kernel and and an android image. I don't know if I understand correctly the required work to do so...

For my patches I think the best is to fork on github to share easily : I will do it ...

Also it can make sense that I try to build xbmc for your linaro image : If we get the same segmentation fault in this different build and environment system then odds that there is really something bad in the fsl demuxer will be high, otherwise it may simply work ;-)

I will give it a try immediately and I come back...

Stéphan

EDIT : everything is setup, configure is OK, build is in progress. Expect results on target in 22hours...
Reply
#11
Update :
I have a full xbmc build for your linaro image.
It is too late to test it now so I will give it a try tomorrow in the evening.

But I am currently uploading the full build on the net and I will post the link tomorrow morning so that you can grab it

Regards
Stéphan
Reply
#12
The build is here
Not tested for now but at least I can tell it is compatible with your linaro image (of course some packages have to be installed as dependencies, I will post exhaustive list tonight)
Reply
#13
(2013-04-17, 07:43)wolfgar Wrote: The build is here
Not tested for now but at least I can tell it is compatible with your linaro image (of course some packages have to be installed as dependencies, I will post exhaustive list tonight)

Thanks will give it a test.
More A10/GK802/I.MX6 stuff on my blog
Reply
#14
Hi,

I have just been able to test
Unfortunately when I launch xbmc in your image, I get the following error :
xcb_connection_has_error() returned true
and the screen remains black
I am investigating

regards

edit : Here is the log when xbmc starts, not so bad... I wonder why my screen remains black...
Reply
#15
By the way here is a list of packages dependency :
libboost libmysql++ libass libusb libcec libplist++ libexpat1 libyajl libxmu libfribidi mpeg2dec ffmpeg libsmbclient
libfontconfig1 libmodplug libmicrohttpd wavpack libmms libfaad libcdio libpcre++ libpcre3
liblzo2 libenca libavahi-client libsamplerate0 libxinerama libxrandr libxtst libjasper libtinyxml libmpeg2-4
libmad0 libjpeg libsamplerate0 libogg libvorbis libflac libcurl4-gnutls libbz2 libtiff4 libcrypto++ libcrypto++9
libssl libpng12 libsqlite3 libnfs gawk libiso9660 libsdl1.2 libsdl-mixer1.2 libsdl-image1.2
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 39

Logout Mark Read Team Forum Stats Members Help
[i.MX6] XBMC running on Freescale SoC's4