My Boxee Box

I was always fighting with my perfect home-theater idea, most of my setups based on low end devices that suppose deliver something always were failing here and there. On the other side I’ve always want to have a development server that I can upload my small projects (a real *nix box sitting in the corner) and maybe a backup then as well (through rsync). In the last year I was looking at couple projects like MythTV and XBMC, but still part missing here was hardware. Having desktop kind PC, just blowing air is not something you would like to have your livingroom (and it’s not making your family happier) but rather on desk or hidden somewhere in the cabinet.
But finally I’ve found a box and a software that fulfill my needs with Boxee and Asrock ION 330 nettop.

Why Boxee? First of all I was looking only on open source software and basically there are two good players left on the field Boxee and XMBC as I see now. Well… almost, cause they are basically the same software (Boxee is build on top of XBMC). Boxee looked like most straight forward, plays any format I can think of, do video & audio rss and have tons of apps. It caught my eye for some time as I was waiting for original Boxee Box which look pretty awesome. But still time will come to check out XBMC and possibly Moovida (previously Elisa, Fluendo project). I’m not taking MythTV under consideration cause I’m not interested in recording.

Why Asrock? It’s a slick device, small, quiet but still powerful for this particular need. Easily handle 720p and possibly 1080p video files ( can’t test it, my TV can do only 720p ) and HDMI output. My version ION 330 HT comes with 2GB RAM, 320GB HDD and … ir remote. Enough and remote is nice extra feature that I would buy anyway. All for less than 300E.

( this will not take you by hand but rather guide what can be done )

As a base system I’ve chosen Ubuntu 9.10 which have prebuild packages on Boxee site. Don’t install 64bit version, although it’s supported by Boxee, remote controller which comes with Asrock will fail. During installation of the system (from USB stick or CD) add automatic login to the desktop with your user, this can be done pretty easily now and will save you time and space (you would need to have keyboard connected to the box constantly to provide password to login). After installation of system you can already download Boxee .deb package and install it.

This is pretty straight forward, check out restricted drivers in System > Administration and install proprietary Nvidia driver.

My setup required HDMI audio work in Ubuntu and Boxee. Create new .asoundrc file with:

pcm.!default { 
  type plug
   slave {
       pcm "hdmi"

Then in alsamixer unmute all IEC958*.

Download a driver, unpack it and install. This will install lirc as well. This is a little bit tricky cause the screen with drivers will be shown to you twice ( before and after patching ). At first time just ignore it, at second time choose “Nuvoton Transceivers/Remotes”. After that you can check with irw does your set up work with pressing any key on remote, you should see something like that:

taihen@rock:~$ irw
000000037ff07bfe 00 One mceusb
000000037ff07bfe 01 One mceusb
000000037ff07bfd 00 Two mceusb
000000037ff07bfd 01 Two mceusb

Just as a remark there are handy Boxee client for iPhone and Android which you can use instead of remote.

Last touch
It would be nice if your Boxee Box started automatically. In System->Preferences choose “Startup Applications” and hit “Add”. As command put /opt/boxee/run-boxee-desktop. Alternatively you can start Boxee with remote by creating your own ~/.lircrc:

        remote = mceusb
        button = RecTV
        prog   = irexec
        repeat = 0
        config = /opt/boxee/run-boxee-desktop

Where button could be any button from remote. You can discover button name by irw (like above). Test your configuration with:

irexec -d ~/.lircrc

Final thoughts
When you sorted out all your media center problems, your fun is nowhere to end. Cause most of the time it will not be used so what you can do with it? Well first thing is to add sleep capability (can be put a sleep and woken up through remote), maybe torrent client (for example transmission with web interface and dropbox syncing for automatic pickup of .torrent files), maybe apache with mysql database… etc

Have fun.