XBMC on Tegra2 development: Porting XBMC for Linux to NVIDIA Tegra 2 ARM SoC platform

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
McGeagh Offline
Team-XBMC ARM Developer
Posts: 178
Joined: Oct 2008
Reputation: 0
Location: Cambridge, UK
Post: #46
well theres your problem....
"ERROR: EGL Error: Could not create surface"
EGL is failing to get set up correctly. It cant create a surface...
Did you compile natively or crosscompiled?
Since you are launching xbmc through a terminal, have you exported DISPLAY to be :0 ?
Can you test an example GLES app to see if it works?
This seems like a system issue, not XBMC

¤ [McGeagh] ¤
find quote
vane.xbmc Offline
Member
Posts: 70
Joined: Feb 2010
Reputation: 0
Location: Spain
Post: #47
McGeagh Wrote:EGL is failing to get set up correctly. It cant create a surface...
Did you compile natively or crosscompiled?
natively
McGeagh Wrote:Since you are launching xbmc through a terminal, have you exported DISPLAY to be :0 ?
Yes

McGeagh Wrote:Can you test an example GLES app to see if it works?
This seems like a system issue, not XBMC
A strange thing has happened:
I was able to run this example:
./nvtest ./gles2_gears --Twinsys x11 -1
provided by tegra inside L4T (it displays the same as glxgears).
I was able to run it with and without X server running, but with X server the gears were much slower than without X server, so when XBMC seemed that it did't found GL, I suppossed X server was not able to use OpenGL and I thought module tegra_drv.so from /usr/lib/xorg/modules/drivers should be loaded and it was not being loading.

The strange thing is that NOW (after installing XBMC dependencies) ./nvtest ./gles2_gears --Twinsys x11 -1 give me this:
>>> EGL failed to create window surface! Exiting..

I am going to install the system again, but it will take me a few hours... Sad

Regards,
Vanesa.
(This post was last modified: 2011-01-25 19:28 by vane.xbmc.)
find quote
vane.xbmc Offline
Member
Posts: 70
Joined: Feb 2010
Reputation: 0
Location: Spain
Post: #48
vane.xbmc Wrote:The strange thing is that NOW (after installing XBMC dependencies) ./nvtest ./gles2_gears --Twinsys x11 -1 give me this:
>>> EGL failed to create window surface! Exiting..

Forget it, I missconfigured xserver. I have changed xorg.conf and I can run XBMC successfully.

Thanks for your help, if you want me to test something for you on XBMC on Tegra, just ask me.

Regards,
Vanesa.
find quote
vane.xbmc Offline
Member
Posts: 70
Joined: Feb 2010
Reputation: 0
Location: Spain
Post: #49
Hi all,

after some tests I've concluded that OpenMax is no t working well in XBMC Dharma on Tegra2. fps are higher if I don't use openmax to decode and it can't decode some formats. I'm trying to compile this branch: https://github.com/Phaeodaria/xbmc-tegra2/ but I found the following error trying to compile:

/home/ubuntu/xbmc-tegra2/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:292: undefined reference to 'OVERLAY::COverlayTextureGL::COverlayTextureGL(CDVDOverlayImage*)'
/home/ubuntu/xbmc-tegra2/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:294: undefined reference to 'OVERLAY::COverlayTextureGL::COverlayTextureGL(CDVDOverlaySpu*)'
/home/ubuntu/xbmc-tegra2/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:296: undefined reference to 'OVERLAY::COverlayGlyphGL::COverlayGlyphGL(CDVDOverlaySSA*,double)'
collect2: ld returned 1 exit status

I've not found anything on google about this error. Do you know what is the problem and/or what is the state of this branch for tegra2.

Regards,
Vanesa.
find quote
davilla Offline
Team-XBMC Developer
Posts: 11,383
Joined: Feb 2008
Reputation: 64
Post: #50
you might try trunk, tg2 code was merged in and issues fixed recently.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
vane.xbmc Offline
Member
Posts: 70
Joined: Feb 2010
Reputation: 0
Location: Spain
Post: #51
I have not been able to compile trunk on Tegra yet but I have compiled Dharma with PVR from dushmaniac and I noticed that addons/library.xbmc.addon/libXBMC_addon.h needs to include a define for ARMEL (if I am not wrong) to load the suitable library:

#define ADDON_DLL "/library.xbmc.addon/libXBMC_addon-arm.so

Also in addons/library.xbmc.pvr/libXBMC_pvr.h:
#define PVR_HELPER_DLL "/library.xbmc.pvr/libXBMC_pvr-arm.so"

and in: addons/library.xbmc.gui/libXBMC_gui.h
#define GUI_HELPER_DLL "/library.xbmc.gui/libXBMC_gui-arm.so"

Furthermore, could someone explain me what is the branch "staging" at opdenkamp repository or the diferences with master? I suppose Dharma branch contains a version more stable than master but I don't kno w about staging.

Regards,
Vanesa.
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #52
staging is diffs staged for inclusion in mainline...
find quote
hfkou Offline
Junior Member
Posts: 11
Joined: Mar 2011
Reputation: 0
Post: #53
using xbmc 10.0 - the tar file downloaded from http://xbmc.org/download/, after few minor fixes, I succeed configure/make/install it on tegra 250 kit. then issue (I use CRT for debugging):
export DISPLAY=:0
X -layout CRT &

I try to launch xbmc and get a message box on monitor showing:
XBMC needs hardware accelerated OpenGL rendering.
Install an appropriate graphics driver
Please consult XBMC Wiki for supported hardware ......
Quit

The mouse is active and I can click "Quit" to exit xbmc, on the serial console side, it shows:
ubuntu@tegra-ubuntu:~$ xbmc
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Segmentation fault

I also tried to launch firefox as below, working, other apps in Nvidia's L4T also works fine.
firefox-3.5 http://www.google.com
find quote
topfs2 Offline
Team-XBMC Developer
Posts: 3,962
Joined: Dec 2007
Reputation: 9
Post: #54
firefox working doesn't really warrent XBMC working Wink

What configure options etc did you use, can we see a debug log.

If it complains about GLX you must have compiled it wrong is my guess

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
find quote
hfkou Offline
Junior Member
Posts: 11
Joined: Mar 2011
Reputation: 0
Post: #55
above issue is solved, 2 more issues:

1. Try to play a 1080p .mov format video (ISO Media, Apple QuickTime movie), it goes very slow, but the same file plays well using "./omxplayer2 -i". Try another .avi format video (RIFF little-endian data, AVI, 854 x 480, ~30 fps, video: DivX 5, audio: MPEG-1 Layer 3, stereo, 44100 Hz), it goes better/smoothly. Sound works for both cases. Any suggestions about how to improve the performance for xbmc on tegra 250 kit? and why xbmc is much slower than omxplayer2?

2. Using the default Confluence skin and install addons for video, music, picture .... then back to the top level, check addons - enabled, but nothing happen once click(or press enter) on any of the new installed addon, here is the logging:
00:33:25 T:1106283952 M:830693376 INFO: initializing python engine.
00:33:25 T:1106283952 M:830693376 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:25 T:1106283952 M:830693376 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:25 T:1106283952 M:830693376 FATAL: Python: error loading python24.dll
00:33:28 T:1106283952 M:830312448 INFO: initializing python engine.
00:33:28 T:1106283952 M:830312448 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:28 T:1106283952 M:830312448 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:28 T:1106283952 M:830312448 FATAL: Python: error loading python24.dll
00:33:30 T:1106283952 M:830013440 INFO: initializing python engine.
00:33:30 T:1106283952 M:830013440 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:30 T:1106283952 M:830013440 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:30 T:1106283952 M:830013440 FATAL: Python: error loading python24.dll
00:33:31 T:1106283952 M:829767680 INFO: initializing python engine.
00:33:31 T:1106283952 M:829767680 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:31 T:1106283952 M:829767680 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:31 T:1106283952 M:829767680 FATAL: Python: error loading python24.dll
00:33:32 T:1106283952 M:829952000 INFO: initializing python engine.
00:33:32 T:1106283952 M:829952000 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:32 T:1106283952 M:829952000 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:32 T:1106283952 M:829952000 FATAL: Python: error loading python24.dll
00:33:34 T:1106283952 M:829890560 INFO: initializing python engine.
00:33:34 T:1106283952 M:829890560 DEBUG: Loading: /usr/local/share/xbmc/system/python/python26-arm.so
00:33:34 T:1106283952 M:829890560 ERROR: Unable to load /usr/local/share/xbmc/system/python/python26-arm.so, reason: /usr/local/share/xbmc/system/python/python26-arm.so: cannot open shared object file: No such file or directory
00:33:34 T:1106283952 M:829890560 FATAL: Python: error loading python24.dll
(This post was last modified: 2011-03-10 10:39 by hfkou.)
find quote
McGeagh Offline
Team-XBMC ARM Developer
Posts: 178
Joined: Oct 2008
Reputation: 0
Location: Cambridge, UK
Post: #56
thats most likely because python and arm dont like each other. We are, slowly, working to fix this.

¤ [McGeagh] ¤
find quote
Phaeodaria Offline
Team-XBMC Member
Posts: 4
Joined: May 2010
Reputation: 0
Location: Aachen
Post: #57
The xbmc-tegra2 branch had been merged back to xbmc master and should compile fine. Dharma does not have the latest OMX patches which are required to get full hardware acceleration and thus does not really support tegra2.

For optimal performance you should use the following configure call

./configure --enable-gles --enable-tegra --enable-openmax --enable-external-python --disable-pulse

Once you've installed xbmc you should run xbmc.bin directly from the binary directory. Otherwise you'll get an X11 error.
find quote
hfkou Offline
Junior Member
Posts: 11
Joined: Mar 2011
Reputation: 0
Post: #58
download code through "git clone git://github.com/xbmc/xbmc.git", then "git pull" and build it, so far it always fail at the "make" step, the last error message on 3/19 is "cores/VideoRenderers/RenderManager.h:119: error: âCOpenMaxâ has not been declared".

also tried Phaeodaria's xbmc-tegra2 branch and get:
xbmc/cores/VideoRenderers/VideoRenderer.a(OverlayRenderer.o): In function OVERLAY::CRenderer::Convert(CDVDOverlay*, double)': /home/ubuntu/xbmc/xbmc-tegra2/xbmc/cores/VideoRenderers/OverlayRenderer.cpp:296: undefined reference to OVERLAY::COverlayGlyphGL::COverlayGlyphGL(CDVDOverlaySSA, double)' /home/ubuntu/xbmc/xbmc-tegra2

So, the latest xbmc(after 10.0) on Tegr2 is still not reaching the ok-to-compile stage yet(?)
(This post was last modified: 2011-03-22 00:05 by hfkou.)
find quote
vane.xbmc Offline
Member
Posts: 70
Joined: Feb 2010
Reputation: 0
Location: Spain
Post: #59
Phaeodaria Wrote:./configure --enable-gles --enable-tegra --enable-openmax --enable-external-python --disable-pulse.

Is it neccesary to configure with "--disable-optimizations" also?

Regards,
Vanesa.
find quote
McGeagh Offline
Team-XBMC ARM Developer
Posts: 178
Joined: Oct 2008
Reputation: 0
Location: Cambridge, UK
Post: #60
no

¤ [McGeagh] ¤
find quote