First Impressions of LinuxMCE

Over the past weekend, I had an occasion to try LinuxMCE. It's a major effort to tie other projects such as Plutohome and MythTV together in a cohesive unit using custom wrappers for the above as well as things such as xine, all on an Ubuntu backend.

Anyone that knows me knows a couple things about me:

  1. I am an avid and longtime MythTV user.
  2. I always can requisition a computer or two around the house for "lab" work.
  3. I have an interest in Home Automation--at least from a hobbyist level up until now
One of my friends posted a link of a (now somewhat famous) video of a person showing off LinuxMCE. Here is a copy of the video on Google Video. This video excited me immediately. I had somewhat let my hobby of home automation stall at getting a couple X10 lamp modules and a controller. I vowed to at least give it a whirl--before deploying it in "production".

Before I get into the particulars, let me summarize my findings. It seems that it may not be quite ready for mainstream but those with the know-how to tinker OR mimic closely the hardware recommendations on the "What to Expect" page in the LinuxMCE wiki.

I first attempted to install to a higher end Core 2 Duo system because it was the most accessible. I even waited overnight to allow it to resize a 500GB video cache I had setup to make room for LinuxMCE. This went over crazily for awhile--it seems the board I'm using has some issues. Issues that caused it to just shutoff. I suspected power supply, and even upgraded it, but to no avail. I eventually abandoned it. I am not looking forward to being without it for RMA as the video cache drive doesn't work in anything else... I may buy an el cheapo Core 2 compatible board (that WILL support that drive), then RMA, but that's another story..

I finally settled on commandeering my wife's AMD64 Fedora Core system as she also has a mac mini on her desk (now) that can do all the stuff she needs. Eventually she'll get it back, once the core 2 thing is resolved. I got LinuxMCE installed easily and worked my way through the setup wizard. I didn't have a lot of things that could work (the home automation adapter is in the mail, as well as the extra bluetooth dongles to be used for "presence" detection). I chose a "dedicated system" that also is a "media director"--meaning ubuntu is completely hidden behind the scenes as the computer boots directly to MCE mode. I had a good enough video card that I could use the "UL2 - Alpha Blending" interface that will supposedly scroll the icons like in the video--I haven't put that to the test yet. The regular MCE screen saver is a shot of hi-def creative commons or the like photos, slowly moving around. Quite effective as the entire screen is in motion pretty much the whole time. And, it looked good on my wife's crisp 17" LCD.

My first problem is the known issue from the LinuxMCE site that the binaries to activate the rather cool bluetooth phone interface were zero bytes--I was somewhat disappointed but soldiered on using the on-screen interface. I need to find where the regular instructions for the on-screen "orbiter" are because I couldn't get to the cool fast-forwarding functionality that was in the video. I do have a gyroscopic mouse, and even an extra Windows MCE USB remote and receiver but didn't get that far (yet).

My second problem for awhile was that there was either too much impatience on my part or something, but it took a while to get remote systems fully up. The network booting went off without a hitch--but word to the wise--you need to authorize the PC on a working system to set it up. Fortunately, it blasts its authorize question to ALL orbiters, so once the phone functionality works, that would suffice if you were in range of a working system. I found out that you can setup a generic "web orbiter" which can control any system. Once I got that setup, I ventured upstairs to try to setup our bedroom system. There is no risk since it net boots and doesn't modify the host system at all if you don't want it to. It can find media files on locally attached drives if you authorize it to use them (or it can use them for storage).

Once in our bedroom it netbooted with a simple BIOS setting change. I use NetGear XE104 units to provide LAN-like connectivity to our Myth computers--WiFi basically sucks in our neighborhood due to congestion. My handy web orbiter (which reloads every 5 seconds or so) prompted me to authorize it and I did. Eventually, after using the "Web Admin" interface, I got an image to build and got a wizard to setup audio video settings on this new "media director". I also declined it access to the harddrives as the majority of it is locked in an LVM volume for use with MythTV.

Not long after that, I discovered the second problem. Either I was messing up or something but I couldn't get the OpenGL interface to activate. I finally found where the remote system was storing its OS (an NFS share on the dcerouter or server of the LinuxMCE). I was able to determine where the Xorg.conf file it used was and got it using the nvidia binary driver instead of the nv one. Once I rebooted I got treated with nice pictures.

Next, I wanted to test this feature of omnipresent media. I read up on the file structure it used and scp'd a movie over to its "public" repository. I then went through the "web admin" and matched the video to what it really was (it uses amazon to retrieve cover art and other movie data like actor and director names). We then watched the entire movie without hiccup. The only thing is, again, i didn't know how to control the thing using the on-screen deal, but the web orbiter acted like a phone would--showing normal DVD/VCR-ish buttons. The 5-second refresh messed me up a few times when it refreshed as I was pushing the button so I didn't know if I pushed the button or if it was just refreshing. There was virtually no delay in activating a web orbiter button and the reaction (if it wasn't already reloading or our wifi-which the laptop was using-wasn't reconnecting). It worked nicely for this purpose.

I wanted to test one last thing that could be neat. We have HTPC-style cases in our bedroom and main home theater room. These cases don't have DVD/CD roms in them. If LinuxMCE was truly omnipresent media, it would even stream DVD's right? Absolutely!! I was giggling as I put The Goonies DVD in the server, went upstairs, and watched it. Which brings me to another really cool feature. You can send media to multiple systems at once or move them manually or even have them "follow you". This is how I got the DVD to play upstairs. I switched my web interface to control the server, started the disk (it normally autoplays, but I had shut it off earlier while watching the streaming movie), went into the "floorplan", selected the master bedroom only and the DVD and it popped to life-complete with the menus! It was as if the DVD was in the computer locally. It also played without a hitch and was waiting at the menu for me this morning-meaning no lockup issues.

I would say for enthusiasts, this is ready at least for a whole system streaming solution. For others, you may wait for him to fix the mobile phone interface issues and the opengl xorg.conf issue (I may look into that further and submit a patch). I have nothing to say on the MythTV front, except that it auto-detected the capture cards and provided an easy interface to tie inputs to a zap2it listing set. I didn't actually try to watch TV or record stuff because I didn't have much space available to LinuxMCE. I plan to try go behind the scenes and set it up to be a frontend to my existing system.

I will write more as I get more working--I just wanted to post my first weekend experiences.