Kodi Community Forum

Full Version: [LINUX] XBMC for Linux port to ARM architecture CPU and SoC chips?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
Yes.
MatrixGLES is just c code equivalent versions of functions that exist in OpenGL but not in GLES.
Currently, one can not easily incorporate them into the shader due to the structure of xbmc and the way it currently has been written.
Firstly, xbmc should be re-written so that GLES will be optimised, and then moving these matrix maths into the shader should be easy.

I do not believe that this is a major issue though, as the cpu is not maxing out, so although it may make a few things look better, it will not improve the overall performance just yet.
Hi

ok, Mcgeag thanks, but what about the reflection of another subwindow (home.xml in confluence)? Is it due to these functions (MatrixGLES.cpp and GUITExtureGLES.cpp) aswell ?

Other thing : How many fps do you get in GUI?? I get 8-9 fps in the GUI. If in the functions MatrixGLES.cpp and GUITExtureGLES.cpp aren't the problem Where do tou think the prblem is ?

Thanks
the subwindow, i cannot explain just yet. It may or may not be anything to do with those functions.
I get approx 14fps at 480p resolution on the beagleboard.
The problem doesnt seem to lie with the cpu, and we are currently looking into this.
There are a lot of things that may be causing this... or it could be that they all slow it down a little, and all combined is enough to make it this slow.
I really cant say much at this point. Sorry.
Hi ,

When you are talking about fps I asume you are talking about the frame rate of the gui and not video playback ?

Early in the thread you mentioned that FFmpeg has knowledge of the OMAP dsp, presumably by this you mean the arm neon dsp instruction set extensions and not the C64x core.

Is there any plans in XBMC and/or FFmpeg to support video offload via OpenMAX and has anyone tried video decoding on the C64x using gstreamer and Ti's openmax/gstreamer plugins?

Also cheers for some great work, I have just finished building this and hope to try it on our BeagleBoard (at work) soon. FYI I did have a couple of issues building (some packages have changed names and some stuff was turned on in config.in that i dont think should be - note i did pull from the git tree not svn i will post the details once i've got it running)

Cheers

Neil
Neiljay Wrote:Hi ,

When you are talking about fps I asume you are talking about the frame rate of the gui and not video playback ?

Early in the thread you mentioned that FFmpeg has knowledge of the OMAP dsp, presumably by this you mean the arm neon dsp instruction set extensions and not the C64x core.

Is there any plans in XBMC and/or FFmpeg to support video offload via OpenMAX and has anyone tried video decoding on the C64x using gstreamer and Ti's openmax/gstreamer plugins?

Also cheers for some great work, I have just finished building this and hope to try it on our BeagleBoard (at work) soon. FYI I did have a couple of issues building (some packages have changed names and some stuff was turned on in config.in that i dont think should be - note i did pull from the git tree not svn i will post the details once i've got it running)

Cheers

Neil

http://trac.xbmc.org/changeset/30281
http://trac.xbmc.org/browser/trunk/xbmc/...?rev=30281

Aimed at Tegra2 but should support any OpenMax with some slight changes.
Hi,

I have in-lined the diff for the pkg-paths.txt file below (can you do attachments on this forum ?)

In configure.in / Makefile.in i needed to disable python and libass, not run it yet.

Cheers

Neil




Code:
diff --git a/trunk/arm-scripts/pkg-paths.txt b/trunk/arm-scripts/pkg-paths.txt
index fa3cb26..de7ee75 100644
--- a/trunk/arm-scripts/pkg-paths.txt
+++ b/trunk/arm-scripts/pkg-paths.txt
@@ -2,11 +2,11 @@ http://ftp.uk.debian.org/debian/pool/main/b/boost/libboost-dev_1.34.1-14_armel.d
http://ftp.uk.debian.org/debian/pool/main/libm/libmad/libmad0-dev_0.15.1b-4_armel.deb
http://ftp.uk.debian.org/debian/pool/main/libs/libsamplerate/libsamplerate0-dev_0.1.4-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/libs/libsamplerate/libsamplerate0_0.1.4-1_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbis-dev_1.2.0.dfsg-3.1_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbisfile3_1.2.0.dfsg-3.1_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbis0a_1.2.0.dfsg-3.1_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbis-dev_1.2.0.dfsg-3.1+lenny1_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbisfile3_1.2.0.dfsg-3.1+lenny1_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/libv/libvorbis/libvorbis0a_1.2.0.dfsg-3.1+lenny1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/f/fribidi/libfribidi-dev_0.10.9-1_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15-dev_5.0.51a-24+lenny1_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15-dev_5.0.51a-24+lenny2+spu1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/p/pcre3/libpcre3-dev_7.6-2.1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/l/lzo2/liblzo2-dev_2.03-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/l/lzo2/liblzo2-2_2.03-1_armel.deb
@@ -16,7 +16,7 @@ http://ftp.uk.debian.org/debian/pool/main/libs/libsdl1.2/libsdl1.2debian_1.2.13-
http://ftp.uk.debian.org/debian/pool/main/libs/libsdl1.2/libsdl1.2debian-all_1.2.13-2_armel.deb
http://ftp.uk.debian.org/debian/pool/main/a/arts/libartsc0_1.5.9-2_armel.deb
http://ftp.uk.debian.org/debian/pool/main/e/esound/libesd0_0.2.36-3_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/a/audiofile/libaudiofile0_0.2.6-7_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/a/audiofile/libaudiofile0_0.2.6-7+lenny1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/p/pulseaudio/libpulse-dev_0.9.10-3+lenny1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/p/pulseaudio/libpulse0_0.9.10-3+lenny1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/n/nas/libaudio2_1.9.1-5_armel.deb
@@ -46,21 +46,21 @@ http://ftp.uk.debian.org/debian/pool/main/o/openldap/libldap-2.4-2_2.4.11-1_arme
http://security.debian.org/debian-security/pool/updates/main/g/gnutls26/libgnutls26_2.4.2-6+lenny2_armel.deb
http://ftp.uk.debian.org/debian/pool/main/libt/libtasn1-3/libtasn1-3_1.4-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/c/cyrus-sasl2/libsasl2-2_2.1.22.dfsg1-23+lenny1_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5lenny1_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5lenny2_armel.deb
http://ftp.uk.debian.org/debian/pool/main/k/keyutils/libkeyutils1_1.2-9_armel.deb
http://ftp.uk.debian.org/debian/pool/main/e/e2fsprogs/libcomerr2_1.41.3-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/c/cmake/cmake_2.6.0-6_armel.deb
http://ftp.uk.debian.org/debian/pool/main/n/nasm/nasm_2.03.01-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/libj/libjpeg6b/libjpeg62-dev_6b-14_armel.deb
http://ftp.uk.debian.org/debian/pool/main/libj/libjpeg6b/libjpeg62_6b-14_armel.deb
-http://ftp.uk.debian.org/debian/pool/main/t/tiff/libtiff4_3.8.2-11_armel.deb
+http://ftp.uk.debian.org/debian/pool/main/t/tiff/libtiff4_3.8.2-11.2_armel.deb
http://ftp.uk.debian.org/debian/pool/main/p/python2.5/python2.5-dev_2.5.2-15_armel.deb
http://ftp.uk.debian.org/debian/pool/main/p/python2.5/python2.5_2.5.2-15_armel.deb
http://ftp.uk.debian.org/debian/pool/main/s/sdl-image1.2/libsdl-image1.2-dev_1.2.6-3_armel.deb
http://ftp.uk.debian.org/debian/pool/main/s/sdl-image1.2/libsdl-image1.2_1.2.6-3_armel.deb
-http://security.debian.org/debian-security/pool/updates/main/s/samba/libsmbclient-dev_3.2.5-4lenny7_armel.deb
-http://security.debian.org/debian-security/pool/updates/main/s/samba/libsmbclient_3.2.5-4lenny7_armel.deb
-http://security.debian.org/debian-security/pool/updates/main/s/samba/libwbclient0_3.2.5-4lenny7_armel.deb
+http://security.debian.org/debian-security/pool/updates/main/s/samba/libsmbclient-dev_3.2.5-4lenny8_armel.deb
+http://security.debian.org/debian-security/pool/updates/main/s/samba/libsmbclient_3.2.5-4lenny8_armel.deb
+http://security.debian.org/debian-security/pool/updates/main/s/samba/libwbclient0_3.2.5-4lenny8_armel.deb
http://ftp.uk.debian.org/debian/pool/main/t/talloc/libtalloc1_1.2.0~git20080616-1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/f/faad2/libfaad-dev_2.6.1-3.1_armel.deb
http://ftp.uk.debian.org/debian/pool/main/f/faad2/libfaad0_2.6.1-3.1_armel.deb
Hi davilla,

i have seen your merge, but i have some tips (because of crosscompiling support - for later):

1)
you do in configure.in:
Code:
INCLUDES="$INCLUDES -I/usr/include/OpenMAX/il"
can you please remove this line and include the needed headers with
Code:
# include OpenMAX/il/header.h
in the sourcefiles

2)
can you use $use_arch and $use_cpu except
Code:
`expr "X$host_cpu" : 'Xarm.*' > /dev/null && echo --arch=arm --cpu=cortex-a8` \
(so its possible to setup these variables *also* at configure time) you can define $use_cpu and use_arch in the
Code:
case $host in
section at beginning. maybe we must change the section for getting configure options to not overwrite these variables if they are already set. (or maybe better to move the
Code:
case $host in
section after the "AC_ARG_ENABLE" section
Hi, Sorry for all the questions,

I see the head (trunk) has moved on quite a bit since i checked it out last week.

Im using git not svn ( once you get used to it you dont want to go back), anyhow I see 2 branches in your Git Repo master and trunk, which is the true head of development ?

cheers

Neil
openelec.tv Wrote:1)
you do in configure.in:
Code:
INCLUDES="$INCLUDES -I/usr/include/OpenMAX/il"
can you please remove this line and include the needed headers with
Code:
# include OpenMAX/il/header.h
in the sourcefiles

2)
can you use $use_arch and $use_cpu except
Code:
`expr "X$host_cpu" : 'Xarm.*' > /dev/null && echo --arch=arm --cpu=cortex-a8` \
(so its possible to setup these variables *also* at configure time) you can define $use_cpu and use_arch in the
Code:
case $host in
section at beginning. maybe we must change the section for getting configure options to not overwrite these variables if they are already set. (or maybe better to move the
Code:
case $host in
section after the "AC_ARG_ENABLE" section

1) This is temporary until I can verify the Path across different OpenMax implementations (TI, Nvidia, ext).

2) Yea, I saw that and was already planning changingit. I did not want to change too much during arm-camelot to trunk merge.
davilla Wrote:1) This is temporary until I can verify the Path across different OpenMax implementations (TI, Nvidia, ext).

2) Yea, I saw that and was already planning changingit. I did not want to change too much during arm-camelot to trunk merge.

ok, only to not forget this... i have also some patches for disable goom and projectm at configure time, maybe we can do this also for waveform and opengl spectrum
openelec.tv Wrote:ok, only to not forget this... i have also some patches for disable goom and projectm at configure time, maybe we can do this also for waveform and opengl spectrum

trac tickets are best for any patches, they get forgotten in the forum churn and pastebin expirations.
davilla Wrote:trac tickets are best for any patches, they get forgotten in the forum churn and pastebin expirations.

sorry forgot to write, the first two: http://trac.xbmc.org/ticket/7392 (the last two with DESTDIR support and the Python thing you can delete if you can do this (both implementednow )
openelec.tv Wrote:sorry forgot to write, the first two: http://trac.xbmc.org/ticket/7392 (the last two with DESTDIR support and the Python thing you can delete if you can do this (both implementednow )

Personally, I don't like to delete patches from track that have been applied, this removes any ability to back track to their original contents.
davilla Wrote:Personally, I don't like to delete patches from track that have been applied, this removes any ability to back track to their original contents.

also ok, i also think so, but all other patches are also deleted... and after apply the first two there are only two to apply (minimal changes). if you want i can write the patches for disabling waveform and openglspectrum the next days
Neiljay Wrote:Hi, Sorry for all the questions,

I see the head (trunk) has moved on quite a bit since i checked it out last week.

Im using git not svn ( once you get used to it you dont want to go back), anyhow I see 2 branches in your Git Repo master and trunk, which is the true head of development ?

cheers

Neil

Trunk is also pushed to master, so they should be the same thing.

TheUni
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48