Building XBMC

Notice of delineation from standardised building process

The dependency installation from tools/rbp/depends in the XBMC source does not correctly install the necessary dependencies nor does it list all of them. However, we can obtain all the build depends from the apt repository in Debian. Simply one needs to dpkg -x into bcm-rootfs/. After this, a tarball was created to encapsulate all these libraries.

Libraries such as libshairport were compiled with make -C depends/libshairport and the SOs obtained from the output directory.

librtmp 2.4+git is used to allow better RTMP (type 9 handshake) support.

Building XBMC requires the Raspbmc builders root filesystem. You can learn more about that here

Checking out the XBMC source

XBMC is built from the xbmc-rbp tree of XBMC on Github, and can be obtained with:

git clone

Alternatively, the latest revision can be obtained in tarball format from here, however it is better to use git clone for multiple building as ccache will be easier to use.

Patching the XBMC source

You should patch the XBMC source with the Raspbmc XBMC patch, which configures the build script to set environment variables correctly and makes any other adjustments. The patches are available here. You can then apply them as such:


Building XBMC

XBMC is built using a cross-toolchain. Building does not take a particularly long time.

Now we need to bootstrap & configure XBMC:

sh /path/to/xbmc/source/tools/rbp/
make -C /path/to/xbmc/source/tools/rbp/depends/xbmc

Now we can build (multiprocessor recommended):

cd /path/to/xbmc/source
make -jX

Packaging XBMC

XBMC can be easily packaged for Raspbmc with the create tarball script. This also installs the PVR addons


Now, run the script as follows:

make install

Installing your build

With your xbmc-rbp tarball FTPd to your home directory, the following commands will suffice for installing and launching the new XBMC:

sudo initctl stop xbmc
sudo tar -xzf xbmc-rbp*.tar.gz -C /opt
sudo initctl start xbmc

Be sure to check system information for build date details to verify you are running your build.