I think I may have decided upon a use for my Raspberry Pi. It’s now running raspbmc - a optimised port of the media centre software XBMC. For such a teeny and low powered device it runs it beautifully. Performance is a bit more sluggish than my Acer Revo R3700 running XBMCbuntu but some of the added extras in raspbmc make up for it.
It’s so good that I’ve actually decided to sell the Revo and use the Raspberry Pi as my main XBMC machine. OK the Pi isn’t powerful enough to emulate old consoles like the Revo did but I never really played them anyway. I don’t even get enough time to play my PS3 and XBox nowadays.
Where the Pi really succeeds is video playback. 1080p videos play smoothly due to hardware decoding of the h.264 video codec. Old non-HD avi files play well too. That tends to sum up my entire video library so it works for me. 5.1 audio decoding works out of the box. I had the Revo for two years and I still had problems getting surround sound (or in fact any sound through HDMI) whenever I installed a new version of XBMC or Ubuntu back when I was using Boxee. Whilst fiddling to get something working can be fun sometimes, I don’t particularly want to be fixing something when I actually want to watch a film.
Thanks to the newly released HDMI CEC functionality I can even control XBMC with my TV’s remote control so I don’t have to buy a separate remote. You can of course use the iOS or Android remote apps which are great in some ways but awful for navigating menus as you have to look down to see where your finger is on the touch screen.
Whilst being able to use my TV remote is great some of the buttons were mapped to strange functions. I had accepted this as one of the very few drawbacks. What I didn’t realise was that you can map the buttons to whatever the hell you want. All you need to do is edit the remote.xml file. The command below creates one in your home directory from the default XBMC one.
cp /opt/xbmc-bcm/xbmc-bin/share/xbmc/system/keymaps/remote.xml /home/pi/.xbmc/userdata/keymaps/remote.xml
I then opened the newly created remote.xml in my home directory and added these lines to the <FullScreenVideo> section.
The 3 are fairly easy to work out. The <select> section means you can now click the select button to bring up the video controls rather than changing the aspect ratio like it does by default.
YOu can find all the commands on the XBMC wiki.
I’ve recorded a video to show using my Philips TV remote and what to expect from the Pi. The Inception video at the start is 1080p although it doesn’t really look like it on camera. The TED video app is a bit slow to list content and start videos but performance is fine once playing the video.