Sunday, May 5, 2013

Switching from OpenELEC to XBMC + Raspbian on Raspberry Pi

[Update 09/13/2015]
While the instructions below probably still work, if you are starting from scratch I would recommend OSMC (formerly Raspbmc) which gives you an optimized Kodi install over Raspbian, so you can still install anything else you need on top of that. Currently, I'm trying OSMC + Samba + minidlna to replace my old htpc, and may give OpenELEC another try.

[Original post 05/05/2013]
I decided to switch from OpenELEC to XBMC installed on Raspbian due to all the issues I've experienced with the latest releases - random lockups and unreliable wireless network connection make it completely unusable, and OpenELEC's stripped-down nature makes it difficult to diagnose and implement workarounds. From what I read on the OpenELEC forums these instability issues are due to old firmware in the build, but since all my Raspberry Pi hardware already runs fine on the latest Raspbian I decided to just install XBMC on top of that.

Apparently there are other issues with running XBMC on Raspbian, such as the full keyboard not working in the XBMC interface, but that can be worked around. With a stable wifi connection I can edit config files via ssh. Also, once XBMC is configured to enable remote control via http the soft keyboard on the smartphone XBMC remote app will work.

Since I'm using BerryBoot, I used the "clone" function to create a clean copy of the latest Raspbian image. With the latest BerryBoot I was able to do this via VNC, and as an unexpected bonus my wifi config settings got carried over into the new Raspbian install. I named it "Raspbian XBMC," set it as default, then booted into it and went through the usual setup steps in "raspi-config." Before running updates I install screen so that I can let the long update run and just disconnect from the ssh session. After that I did the usual "sudo apt-get update" and "sudo apt-get upgrade" to get everything up to date.

I installed XBMC as per Michael Gorven's instructions here and edited /etc/default/xbmc so XBMC would run on startup as user pi. After that it's more or less just installing plugins and customizing.