Setting up Rasbmc (XBMC) on a Raspberry Pi

Raspberry Pi in Action

This is a cheap way to get a high quality and flexible media center sitting under (or in my case, behind) your TV.


From Windows:

  1. Download the installer
  2. Insert your SD card into the computer.
  3. Unzip and run the raspbmc-win32 installer.
  4. Once that is done, stick the card into the Pi and give it some power.
  5. Wait while it installs the root system (grab a coffee!) This should take about 15 minutes, then with a little luck the Pi will reboot twice, run it’s automatic updater, reboot again, then finally open into XBMC .
  6. Note down the IP that is assigned to the Pi as it flashes up, or work it out by checking your router.
  7. Set up your remote. I use Yatse on my Android devices. Otherwise plug in a keyboard or mouse. I’m assuming you can get some input sorted.
  8. Go Settings -> System -> Video -> Video Output and calibrate the TV (otherwise the left sidebar ends up off screen for me).
  9. Add your content. Go Video -> Files -> Files -> Add Videos…
  10. Click browse and choose your directory (root file system / media for me)
  11. Then choose the type of Video you are adding. I’m only adding home videos, but I imagine selecting something here will check online services when you add content and pull down more information and images about that piece of content.
  12. Repeat till you’ve got all your videos and music set up.
  13. Enjoy your raspbmc media center!
  14. Be sure to power it down before resetting it.

That’s the basic install, below is the more advanced stuff.

Setup SSH

  1. SSH will be running on the Pi so shell into the ip and login using the default login, ‘pi’ with password ‘raspberry’.
  2. Select your locale – I choose en_AU UTF8 and en_AU ISO-8859-1. Sit back while locales are generated.
  3. Choose your location. Tip: Australia is one above what you can see by default. Finally you will be dumped at the CLI.
  4. sudo apt-get update (DO NOT do upgrade, currently that breaks the system completely – See:


Install transmission

sudo apt-get install transmission-daemon

Set it to run at startup –

sudo update-rc.d transmission-daemon defaults

Edit the transmission settings file

sudo vi /etc/transmission-daemon/settings.json

change rpc-whitelist-enabled to false

sudo /etc/init.d/transmission-daemon restart

Next we change the mount status of our usb drive so transmission can write to the drive.

First get the drive name:

sudo fdisk -l

Then match the drive name, such as /dev/sdb1 to the UUID:

ls -l /dev/disk/by-uuid

In my case it is 6CBA-812B

Now, edit fstab:

sudo vi /etc/fstab

Add a line like the following:

UUID=6CBA-812B /media/mediatomb vfat defaults,auto,umask=000,users,rw 0 0

Make the mediatomb directory:

sudo mkdir /media/mediatomb

Test with sudo mount -a then reboot and check the drive automounted.

BumbleBee drivers on Ubuntu 12.10

My ASUS laptop has 2 graphics cards, one Nvidia and the other Intel. Ubuntu uses the Intel one by default, but that leads to poor performance for gaming. So I need to install the Bumblebee drivers.

  1. sudo add-apt-repository ppa:bumblebee/stable
  2. sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
  3. sudo apt-get update
  4. sudo apt-get install linux-headers-generic
  5. sudo apt-get install bumblebee bumblebee-nvidia bbswitch-dkms
  6. Reboot or re-login

Swat PPA has the latest Nvidia drivers.

Except that I log back in and ‘optirun glxspheres’ returns:

[ 118.398232] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[ 118.398323] [ERROR]Aborting because fallback start is disabled.

Luckily this can be fixed by editing /etc/bumblebee/bumblebee.conf. Look for the line that says ‘Driver=’ and add ‘nvidia’ at the end. Then reboot, and test with ‘optirun glxspheres’. The graphics card light should switch from blue to white, and the output should look something like the following:

Polygons in scene: 62464
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: GeForce GT 540M/PCIe/SSE2
111.175734 frames/sec - 124.072120 Mpixels/sec
112.450230 frames/sec - 125.494456 Mpixels/sec
125.164298 frames/sec - 139.683357 Mpixels/sec

The fix comes from here.

If its still not working try reinstalling using the advice at

Hopefully this is a bit cleaner in 13.04.