Raspberry Pi and XBMC
This article is rather out-dated. Though it still contains useful information you’re probably more interested in my new version of the Rapsberry PI XBMC shootout which compares the three distributions based on the final version of XBMC 12.
Even though the Raspberry Pi was originally introduced as a platform for educational purposes the majority will end up connected to a TV streaming movies and music to the living room. The hardware is ideal for media playback and combined with the availability of XBMC and its low power consumption and price tag make the Raspberry Pi the perfect media player.
There are three major flavors of XBMC available and heavy debates are going on about which one is the best. Time for a shootout to see which one is really earns the title “King of the Pi”.
To make this comparison as representative as possible the latest version of the three distributions, Raspbmc, OpenELEC and XBian, were all tested with the exact same settings on the same hardware. A 4 GB 4 speed SD card was used as the storage medium and the Raspberry Pi was connected to a Samsung LCD TV over HDMI streaming videos from a Synology NAS over a 100 MBit Ethernet connection.
[UPDATE 2 oct 2012] I couldn’t have picked a worse moment to write the original post. During the writing of this post both XBian and Raspbmc released a new version (0.8 and RC5 respectively) with lots of improvements and new features. Time for a quick update.
To get XBMC running on your Raspberry Pi you need to install it onto an SD card from which you will boot your Raspberry Pi. The way the three distributions install XBMC differs and even though you end up with a working version of XBMC the end results aren’t exactly the same either.
Raspbmc provides a Windows installer which you simply run, select the SD card you want to install on and push the install button. Within a minute the program is ready and it is time to insert the SD card into the Raspberry Pi where the real work starts.
After the Raspberry Pi has booted from the sd card it informs you the downloading and installation of Raspbmc will start and should take between 15 and 25 minutes. After pressing the Next button it starts by re-partitioning and formatting your SD card after which the latest version of Raspbmc. It then prints the encouraging message “Installing Root Filesystem. Go grab a cup of coffee” which is what I did.
Once finished the Raspberry Pi reboots and you’re welcomed by the Confluence skin of XBMC 12 Alpha 5 which is already configured for your local language (Dutch in my case). Since the installation process also re-partitions your SD card all free space on your card is available to store media but because of the rather large install size it meant I only had 700 MB of free space left on the 4 GB card.
Installing OpenELEC is a little more elaborate since OpenELEC doesn’t come with a nice Windows Installer. You have to use the free Win32 Disk Imager program, which is also used to install the official Raspberry Pi linux images onto SD cards, to install a recent OpenELEC image. Since OpenELEC is not offering pre-built images yet you have to build one yourself or download one from the web (from http://openelec.thestateofme.com/ for instance). Writing the image to your SD card will take about 5 minutes after which you are ready to boot OpenELEC for the first time.
Like Raspbmc OpenELEC is also based on XBMC 12 Alpha (version 6) with the Confluence skin and the language is already set to your local language as well. OpenELEC boots in the lowest resolution possible so manual adjustment is required whereas Raspbmc configures this automatically. You also need to disable the RSS feed manually to increase user interface performance which Raspbmc does by default as well. But even with these additional steps you are up and running in under 10 minutes easily which is a lot faster than the Raspbmc installation process.
The installation process doesn’t look at the size of your SD card and just uses the size of the install image you’ve built or downloaded. So in order to take advantage of the full size of your card, you need to download an image which matches the size of your SD card. The good news is that OpenELEC itself only occupies 900 MB of space leaving the rest for the end user to store media.
Like OpenELEC XBian is also installed by writing an image to your SD card with the Win32 Disk Imager program. Only this time the images are provided by XBian so there’s no need to build one yourself or ask your favorite search engine to find one for you. Again it takes less than 5 minutes to prepare the SD card for use in the Pi.
The result is a XBMC 12 Alpha 5 installation with an installed size of
700 900 MB leaving plenty room for your media but because it uses the same installation method as OpenELEC you’ll have to do some hacking to use the full capacity of your SD card. The good news is that their latest release ( 0.7 B1 0.8) allows you to re-size the SD card through the settings menu.
You might choose to leave your Pi running all the time but I prefer to power it of a USB port on my TV so it powers up as I turn on my TV. If you’re not keen on running an always on setup as well start up time will be and important factor. Nothing as annoying as having to wait before you can watch your favorite movies.
It takes 1 minute and 30 seconds from the moment you power up the Raspberry Pi until the moment the interface is displayed on screen. And even after the user interface is ready for action it feels really slow at the beginning like it is still starting up. The reason for this long start up time is the fact that Raspbmc is based on a full Linux distribution with XBMC installed on top of it meaning Raspbmc has to start up a full operating system before it can even start XBMC.
At start up one of the big advantages of OpenELEC immediately shows. Because OpenELEC is a fully stripped down Linux distribution with only the minimal parts needed to run XBMC start up times are reduced to approximately 45 seconds after which the user interface immediately feels smooth and responsive.
XBian takes roughly the same time to boot as OpenELEC and here the user interface feels alive straight from the start as well.
Performance and video playback
The most important part of this shootout is the performance comparison of the contestants. A cumbersome installation or rather lengthy start up time is something you can live with but an unresponsive user interface or non fluent movie playback will absolutely ruin your multi media experience.
Performance of the user interface is not measured with a stopwatch in hand but simply judged on how smooth navigating through XBMCs menus and playlists feels. All three XBMC version run the user interface with more than 35 frames per second
with Raspbmc being the slowest at 31 fps and OpenELEC being the fastest at 36 fps. Despite the small differences in frame rate the Raspbmc user interface feels nowhere near as smooth as the other two and occasionally it takes 2 to 4 seconds to go from one menu to another. The user interface of the latest version of each of the distributions feels smooth with some occasional lags when switching between menus. Opening larger media libraries is slow on three distributions and clearly shows the Raspberry Pi lacks the muscle power of Intel Atom systems.
To test the video playback a 1920×816 H.264 movie with a 1536 kb/s DTS audio track was streamed over the network with the DTS audio being decoded to 2.0 stereo by the Raspberry Pi.
Again Raspbmc didn’t do too impressive and playback was halted every 5 seconds for 1 second while the other two contestants had no trouble playing this video without any delays or other glitches. All three contestants had no trouble playing this video without any delays or other glitches and the Raspberry Pi was only pushed beyond its limit when trying to skip forward 10 minutes.
Features (out of box)
All three XBMC flavors deliver quite a complete media center experience. CEC worked out of the box on all installation allowing you to control XBMC with the remote of your TV
thought updating to the latest beta of Raspbmc broke this feature. OpenELEC and Raspbmc have an auto updater which XBian users have to do without. XBian can be update but this requires login in to the Rasberry Pi with SSH and downloading an running a script and may a bit too scary for novice computer users. XBian misses PVR functionality offered by the other two distributions as well. All distributions now offer PVR functionality out of the box. PVR is probably something the majority of the users won’t use but if you plan to hook up your XBMC to a remote TV server (like TVheadend) XBian is not for you at the moment all our contestants can handle it.
All three distributions are still under construction and many features and improvements will be added in the near future. Though none of the three are completely finished at this moment OpenELEC seems to be the best choice with its smooth user interface a outstanding video playback capabilities and a great set of features.
XBian performs as well as OpenELEC but lacks quite a lot of nice features like the auto updater and PVR. Raspbmc is doing fine in the feature department but the slow start up time stuttering video playback and lagging user interface make it finish last for now.
XBian and Raspbmc share the second place. Both of them offer good video playback and smooth user interface as well but miss some of the specific advantages of OpenELEC. Raspbmc is feature packed but it takes twice as long to start up as the other two and also the installation process is quite time consuming (though you’ll usually only go through this once). XBian misses features like an autoupdater and the settings menu feels a bit immature but it boots just as fast as OpenELEC and also offers a good set of features.
All three are by now really good alternatives to XBMC running on a HTPC and which one is your favorite depends on your personal requirements and taste. My personal favorite is still OpenELEC but I’ll be watching the other two as well to see where they go.
Once you’ve made your choice you might also be interested in this guide describing how to get the most out of XBMC on your Raspberry Pi.