BeagleBoard/GSoC/2010 Projects/XBMC

Project: XBMC
Student: Tobias Arrskog

Mentors: Mike Zucchi, Mans Rullgard, Søren Steen Christensen

Repository-git: git://xbmc.git.sourceforge.net/gitroot/xbmc/xbmc and branch gsoc-2010-beagleboard

Repository-svn: http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard

Blog: http://xbmc.org/author/topfs2/

Latest blog entries:

Weekly report 8

Weekly report 7

Weekly report 6

What to do when you have the dirty regions

Announcement

Lightning talk:

http://www.youtube.com/watch?v=gvJ32T-W3Gw

http://vimeo.com/12917275

Dependencies
Koen have been nice enough to add a dependency list to narcissus but for those that doesn't want to make a new image here is the package list

opkg install task-native-sdk boost-dev libgles-omap3-dev libsamplerate0-dev liblzo2-dev bzip2-dev libwavpack-dev mpeg2dec-dev libfribidi-dev libpcre-dev libcdio-dev libmodplug-dev flac-dev libsdl-mixer-1.2-dev libsdl-image-1.2-dev alsa-dev enca-dev libxt-dev libxtst-dev libxmu-dev libxinerama-dev curl-dev libmicrohttpd-dev gperf cmake zip git python-devel openssl-dev cvs pkgconfig-dev libxrender-dev libxrandr-dev git glibc-gconv-ibm850 glibc-charmap-ibm850 angstrom-version

Interesting patches for beagleboard
To enable the experimental omap overlay video renderer use configure option --enable-omap-overlay

To enable dirty region based rendering add this as advancedsettings.xml (~/.xbmc/userdata/advancedsettings.xml) true

Build Instructions
Since XBMC is a big application it takes up the entire ram of the beagleboard on link, this means that we need swap (here is how this can be done http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html)

export CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O2"

export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu"

./bootstrap.angstrom

./configure --enable-gles --prefix=/usr --sysconfdir=/etc --cache=config.cache --disable-optical-drive

make

make install

Sit back and enjoy, the build process will take a few hours.