XBMC on Beagleboard_XM RevB

Hi Folks,

Here’s a quick summary of what I’ve been able to figure out so far.

I’ve tried the following scenarios with generally the same result.

  1. Linux Kernel 3.2.18
  2. Linux Kernel 2.6.32
  3. Narcissus build

So it doesn’t feel to be Angstrom or Kernel version dependant.

If I try running xbmc or xbmc-standalone from the console, I get sh: glxinfo: command not found.

Starting gdm and then calling xbmc from the menu I get an indication in the /home/root/.xbmc/temp/xbmc.log file that the eglGetDisplay call has failed and has returned:

dpy:0xda1c48 egl:(nil) init:0

The dpy number varies.

Suggests to me that the eglGetDisplay request has not reached the EGL library. (possible dynamic linking problem ?)

I can run the SGX tests that are installed in /usr/lib. The only problem I have is eglinfo which reports that it cannot find libGL.so: file not found.
The graphics tests here and if I install the X11tests, all run in the X-windows and in the console (Raw).

It appears to me that the drivers and SGX library are installed correctly, but that the call from XBMC is not making it to the target.

I notice that during May 2012 there was a lot of activity in the meta-ti mailing list around the SGX and libGLES libraries. Could this be an artifact of this:
https://lists.yoctoproject.org/pipermail/meta-ti/2012-May/thread.html

Interestingly, I have just installed xbmc-dbg using opkg, and now XBMC starts OK. I get the XBMC (Eden) intro splash and then a mainly black screen with a bar at the bottom and a mouse pointer which doesn’t move.
After that the machine appears to be locked. However, it definitely gets a lot further when xbmc-dbg is installed.

I’m not sure how to go about debugging calls to linked libraries, so any pointers would be gratefully received.

Out of interest, is anyone else having this type of issue, or does anyone have XBMC + Angstrom2012.05 + linux 3.2.18 running on Beagleboard_XM ?

Regards
Zigs

Found that XBMC-dbg was complaining that it couldn’t find libcurl.so.5.
I opkg installed it, and now XBMC works for me.

So in summary.

xbmc seems to have an issue, but installing xbmc-dbg and libcurl.so appears to get around the problem.

Would still welcome comments as I’d lik eto get a clean functioning xbmc. Feel like I have just stumbled on a workaround rather than a fix.

Cheers
Zigs

Hi Folks,

I rebuilt the system from scratch including xbmc-dbg, and it didn’t work, so I did some digging and think that I have found a key part to the problem.

Starting from xbmc (not the -dbg version).

If I install libgles-omap3-x11wesgl, then I am able to start xbmc from the Applications menu in my gnome X11 system, and the front splash page comes up. However it crashes shortly after that.

If I also install libcurl5, then xbmc starts properly and the GUI seems stable.

xbmc does not start correctly from the command line, I’m also trying to find out what command is executed from the menu (any advice on how to find that ?)

I have problems with the sound on my system. alsa is not working correctly, but I was able to access my shared network drive and xbmc appeared to be playing mp3 files.

Zigs

Hi Folks,

More info as I make more discoveries.

The Menu invocation directly runs /usr/lib/xbmc/xbmc.bin which works.

Typing xbmc runs the script /usr/bin/xbmc which first calls /usr/share/xbmc/FEH.py

FEH.py has a patch which appears not to be in the recipe, but is detailed here: https://build.pub.meego.com/package/view_file?file=xbmc-11.0-FEH-py.patch&package=xbmc-eden&project=home%3Acxl000%3Abranches%3Ahome%3Acxl000%3Axbmc&rev=b4c4fbbee1f64ad61ffa7cec3b19350c

This gets us over the glxinfo error message. I also had to change OpenGL_ES2 to OpenGL_ES. (ES2 is required by XBMC for future compatibility, but currently runs with ES).

I also had to install the package xdpyinfo. Found info on that here: http://www.mythdora.com/?q=node/5041

Finally in the script it tests to see the bit depth of the display. It is testing for this to be set to 24 (whereas before it required 16). 16 bit depth appears to work, so in FEH.py I changed the test to greater than 15 in the function badColorDepth()

if int(match.group(1)) > 15;

This at least gest xbmc running, although the frame rate is currently poor.

I hope this helps some folks.

Zigs