I recently got a Raspberry Pi, which is an ARM based device which runs Linux. My goal is to use this as my HTPC running XBMC, so that I can move the fileserver out the lounge.
Edit: I've moved the latest information and updates about these packages to this page.
Building
I installed Raspbian on my RPi, which is basically a rebuild of Debian Wheezy specifically for the RPi (targeting the ARMv6 architecture with hard float). I found various instructions on how to build XBMC for Raspbian, but none of them were in the form of deb packages, and installing software without packages just makes me queezy. So I went off and built it myself.
Since the RPi is relatively low powered, I built the package on my laptop using qemu-user, which emulates binaries with a different architecture. I based the packaging on the XBMC package in Wheezy, and the source is from the xbmc-rbp branch on GitHub. I made the modifications to the source as per this forum post and added an initscript so that it can automatically start at bootup.
Installing
The easiest way to install the package is to add my archive to your system. To do this, store the
following in /etc/apt/sources.list.d/mene.list
:
deb http://archive.mene.za.net/raspbian wheezy contrib
and then import the archive signing key:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
You can then install it as you would with any other package, for example, with apt-get
:
sudo apt-get install xbmc
(If you don't want to configure my archive you can download the packages manually, but you'll have
to deal with all the dependencies. Note that it requires a newer libcec
package which is also in
my archive.)
The user which you're going to run XBMC as needs to be a member of the following groups:
audio video input dialout plugdev
Running
To run XBMC, run xbmc-standalone
from a VT (i.e. not under X). XBMC accesses the display directly
and not via Xorg.
If you want XBMC to automatically start when the system boots, edit /etc/default/xbmc
and change
ENABLED
to 1
:
ENABLED=1
You also need to set the user which XBMC should run as (the xbmc
user is not automatically created
at the moment). Run sudo service xbmc start
to test this.
Configuration
The following settings in advancedsettings.xml decreases the CPU usage while showing the UI. Disabling the RSS feeds also helps with this.
<advancedsettings>
<gui>
<algorithmdirtyregions>3</algorithmdirtyregions>
<nofliptimeout>0</nofliptimeout>
</gui>
</advancedsettings>
Rebuilding
If you want to rebuild this package with a different source (e.g. a later Git revision), you need to
prepare the source by running ./bootstrap
before creating the orig.tar.gz
. You obviously need
all the build dependencies (which should be listed in the packaging), as well as the VideoCoreIV
libraries in /opt
. You probably want to set DEB_BUILD_OPTIONS=nocheck parallel=4
to disable the
tests (they failed to build for me), and speed up the build by using more than one core. You can
find the packaging in my archive or my Bazaar repository.