Porting the XBMC to the beagleboard-XM


I’m trying to make the XBMC run on the Beagleboard-XM, but meet some problem.

After start xbmc from the console, the screen become black and no any GUI is showed.

Angstrom beagleboard distribution;
Linux beagleboard 2.6.32 #3 PREEMPT

XBMC version:
xbmc_10.05-r11 which generated from the Angstrom build package
xbmc_10.05-r11+gitr0+e2ab481ebe964321c358ab9d6402088c714adcbe .6_armv7a.ipk

I wonder is anybody in this group do such thing too? then we can work together to make xbmc
works on the beagleboard-XM platfrom.

BR /Yanbo



Yes, this project is the guider I used to do this work, a bit different is this project is based on beagleboard C4 and I want XBMC running on beagleboard XM, theory speak, there is no different, but I still meet some problem even follow this guider.

BR /Yanbo

Dear YanBo,

I don’t know if you could solve this problem already. But I faced the same issue this weekend.
The solution was to change the kernel command line parameters a bit to get a better screen resolution (and a bit different vram settings).

What I did was installing the package “angstrom-uboot-scripts” and copied the demo script “/boot/u-boot-scripts/uboot-beagleboard-validation-boot.cmd.src” to “boot.src” on my first sd card partition.

After that was the screen resolution better and did xbmc start.

But I was not really impressed by it; it works but the menus are strange and I see some artifacts. My feeling is that the video of XBMC on the beagle board XM made by Koen looks better.

I think I have to check XBMC on a normal PC to see how it should look.



Hi Han,

I have solved this problem, and now the XBMC can run on the XM board. but the GUI menu not be displayed

very well I mean the whole GUI layout some times will be over cover by anoter GUI layout, but it work, I have trring to play a local .rmvb

files and it works fine.

The root cause for my problem is the SGX library not be installed correctly. The XM need libgles 5 but the default is libgles 3, and the pvr script can’t correctly that when start, after change to the libgles 5, all thing seems work.

BR /Yanbo

Dear Yanbo,

I just checked with my XM. I use libgles 4.00. Where did you find version 5.00?

Just as reference my configuration:
I use the angstrom demo image
uname -a
Linux beagleboard 2.6.32 #2 PREEMPT Thu Jan 6 17:37:04 CET 2011 armv7l unknown
opkg list-installed | grep -i gles
libgles-omap3 -
libgles-omap3-blitwsegl -
libgles-omap3-demos -
libgles-omap3-flipwsegl -
libgles-omap3-frontwsegl -
libgles-omap3-linuxfbwsegl -
libgles-omap3-tests -
libgles-omap3-x11wsegl -

I do notice that I am working in 24bit mode:
dmesg | grep PVR
[ 3866.633972] PVRSRV_PIXEL_FORMAT_ARGB8888

Maybe that explains the artifacts that I see when I close xbmc. I will try to run it again with a different display configuration on the kernel command line.
What kind of kernel command line do you use?



Dear Yanbo,


I’m not on the board and the host PC now, so I can’t remember the specified name and path of some files,

To Han:
I have try it on 16 bits mode but not 24 bit mode in the boot parameter.

The whole system I used is bitbaked from the newest Angstrom repo. In my case, the XBMC will show black screen when start, that because the SGX lib (lib5)is not copied to the correctly directory. so if you want running XBMC well, be make sure the SGX driver and lib is installed correctly, the simplest testing way is running the GLES/SGX demo.

Anywhere I’ll post the steps in my case of how to make the XBMC works in XM when I can access the board lately for your reference.

BR /Yanbo

Hi Han,

In my case, when open the /etc/init.d/pvr-init. there are below lines which need be run.

if [ “${ES_REVISION}” != “${SAVED_ESREVISION}” ] ; then
echo -n “Starting SGX fixup for”
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo “${ES_REVISION}” > /etc/powervr-esrev
The correctly ES_REVISION should be 5 in XM board.

Then it will copy the /usr/lib/ES5.0/* and /usr/bin/ES5.0/* to /usr/lib and /usr/bin

You can try copy them by manual if the SGX doesn’t work. hope that is helpful for you.


Hi YanBo,

Your issue seems to be fixed in the newer angstrom demo images.
My ES_Revision is 5 on my XM board.

I think I only have to change the screen setting to 16bpp.

What is your kernel command line?
I have currently this:
cat /proc/cmdline
console=ttyS2,115200n8 mem=80M@0x80000000 mem=384M@0x88000000 mpurate=1000 buddy=none camera=lbcm3m1 vram=16M omapfb.vram=0:8M,1:4M,2:4M omapfb.mode=dvi:hd720 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait

but I believe I should have:



Hi Han,

The bootarg I used as below:

console=ttyS2,115200n8 mpurate=1000
buddy=none camera=lbcm3m1 vram=12M
omapdss.def_disp=dvi root=/dev/mmcblk0p2
rw rootfstype=ext3 rootwait

I have tried omapfb.mode=dvi:640x480MR-16@60 or
In both setting the XBMC works, but there is some mosaic when move mouse, when highlight the menu MUSIC or VIDEO, it always a small font “File Add-ons” floating, which make the menu a bit confusion.

BR /Yanbo