This post is the happy conclusion of one heck of a weekend. I worked extremely hard all weekend trying dozens of options for buildig a media box. With no exceptions, they sucked. GeexBox was terrible. Mythbuntu was okay but MythTV was terrible. Piren sucked.
Ultimately though – I decided to try XBMC – it was awesome, but the live version was a bit limited.
So I installed it inside Ubuntu Jaunty. It is gorgeous, and I even have my WIImote working as a mouse to control it.
So here is the setup and the steps involved:
I built it out of the old parts of my computer from before it’s last upgrade, it’s an AMD Sempron single core machine with 2Gb of RAM and a 300gb hard-drive, about 200Gb filled with video files.
The name of this new box: andysandimas.
All I added to it was a WIFI card and an NVidia video card (for TV-out support).
I used my LCD secondary monitor from my main desktop to do the initial setups with however – since it is just not fun to do real work on a TV-screen.
So I started by just installing plain old Ubuntu from the Jaunty live CD – then I installed the wiimote software as per this document, and XBMC as per this one.
All pretty straight forward. I did however uninstall NetworkManager and install WICD instead because having to type my password to unlock the keystore to connect to my WPA network everytime I booted was just… not on for this case.
Then I wrote two little scripts in my home directory. The first is to get the wiimote running at bootup, it just requires a quick press on the scan button (note for those having trouble like I did: the new wiimotes don’t go discoverable by pressing 1 and 2 but instead has a little red button next to the battery-casing to enable USB).
Here is the content of wiimote.sh
#!/bin/bash
wminput -d -r -w -c ir_ptr 00:1F:C5:7B:81:D8 &
This tells the wiimote input system to run as a daemon, reconnect if it loses signal, and wait indefinitely for a connection – nice for having it there all the time. Though I do need to rescan from the wiimote after reboots.
The second script is for starting XBMC, this is my launchxbmc.sh script:
#!/bin/bash
export XBMC_HOME=/usr/share/xbmc
xbmc -fs
Both scripts are set up to be run from startup applications. I also enabled the ssh server so I can get in remotely to do tweaks.
One seriously annoying thing I encountered with this now near perfect setup is Ubuntu’s notifications for updates: which would pop up when it found them – then de-fullscreen XBMC – despite me trying to watch a movie.
So I set that to autodownload them, and only check every two weeks.
Basically there is still a full ubuntu desktop running behind XBMC – easy to reach by just exiting the application, and this means adding things like xmame later to really expand the box’s usefullness is remarkably easy.