@madpilot makes

MythTV + XBMC = HOT SAUCE

In December, I blogged about my new Atom-based MythTV setup. Whilst is was OK, I’ve since bought a Jetway J9F2 coupled with a Core2 T5500 (1.6Ghz) CPU. Let me state this now: it is the best MiniITX based media centre setup there is. It has HDMI and DVI outputs, two gigabit network ports and digital audio, and has enough power to happily decode free-to-air HDTV. The layout suits my case better than both previous boards, as there seems to be more airflow – with two caveats:

  1. You NEED to use low-profile RAM if you want the DVD player to fit. I got some Kingston dual-channel sticks off eBay (2GB worth).
  2. Because I use right-angle PCI riser for my trusty AverMedia DVB-T card, I had to slice some of the plastic off the SATA cable to make it fit (The SATA ports are in a really bad spot). The SATA cable that comes with the board is slightly non-standard, which made it possible to perform the surgery – I don’t think it’ll work on regular SATA plugs, as they are thicker.

But besides that, it really is an awesome rig. Oh, it turns out that the “power” issue I had was actually because the DVD wasn’t sitting properly with the old board, which was causing something to jam, which in turn drew too much power and shut the system down. With the new board (and the low profile RAM) DVD playback works perfectly. I’m yet to try burning.

Anyway, since everything is now working properly, I thought it time to mess around with some more software! It is no secret that the MythTV UI is pretty bad (understatement!) – particulary the video and music plugins. Whilst we use the PVR features A LOT, we also watch videos and listen to music quite a bit, and with the library growing and growing it was getting harder and harder to find what we wanted to watch or listen to.

My little brother introduced me to XBMC a while ago, and I was really impressed. It actually feels like a real media center – it has slick effects, nice themes and just feels better. Up until November last year, it was a Windows only affair, but now the port to Linux has been released, so I have installed it. And it is ace. It’s not perfect, but it sure beats MythTV for video and music watching. Some highlights:

  1. When you are watching a movie, and need to go back to the menu, the video continues playing in a smaller window
  2. You can browse music by Artist, Album and Song (unlike MythMusic which is a horrendous tree setup)
  3. It is smart enough to group TV shows together AND it can pull meta data out not only for TV shows, but episode in those TV shows
  4. You can group different directories, so, if you are like me and have a couple of external drives, you can group movie directories from both drives into one list
  5. I’ve said it before, but (almost counter-intuitively) having nice animations and transistion makes things feel more polished and it does.

Although it does support the MythTV protocol partially for watching live TV, it isn’t ready for prime time yet – you can’t easily change channels, or view the EPG, nor can you change signal inputs or hit record to record a program which means I still need to run MythTV. Mind you, when they implement the API fully, I would happily drop mythfrontend for XBMC.

So make life a little more remote control friendly, I’ve added a custom menu item for XBMC into my /usr/share/mythtv/library.xml that just runs xbmc -fs (full screen mode), so I can select it from the Media menu item in MythTV.

There is still some outstanding issues though:

  1. I need to get my remote mapped properly – for some reason it ignores my arrow keys, which is really annoying. I guess I just need to mess with the Lircmap.xml file to sort that out.
  2. I need to work out how to add an exit menu item on the main menu – I haven’t got a key I can bind to the shutdown menu, which makes to make dropping back to MythTV impossible without a keyboard
  3. There is no interlacing support in the Linux version yet (that I can find anyway) so HD tv is unwatchable – no biggie – I use MythTV for that.

Other than that, give it a go – it is what MythTV SHOULD be. 4 1/2 stars.

MythTV on an Intel Atom

I’ve been using MythTV for about 4 or 5 years now, first as just a DVD player, video and music player and more recently as an actual television replacement.

Unsuprisingly, my old VIA M10000 was starting to get a bit long in the tooth (it IS a 4 year old motherboard that was underpowered when it was new), so when the D945GCLF was released by and Intel a few months ago, I decided to give it a go.

Just like all the netbooks out there at the moment, it’s a Atom 1.6Ghz, so it’s still underpowered, but it surely has to beat the old 1Ghz Nemehiah…

Since the board was so cheap – it was about $AU90, compared to around $AU300 I paid for the M10000, so the extra dollars I had to fork out for new RAM, a HDD (I needed a SATA one), power suppy and extra heatsink didn’t hurt as much as it could have.

The last two items were required because the Travla case I have only had a 60W PSU which turns out wasn’t quite gutsy enough (more on this in a moment) and because of the large factory heatsink (for the Southbridge or Northbridge or whichever one ISN’T the CPU) stopped the DVD player from fitting – thankfully an after-market low-profile heatsink seems up for the job.

Problem 1: The Realtek 8165 network card wasn’t recognised by the Gentoo 2008.1 live CD, since the kernel was too old. Throwing in a spare PCI network card allowed me to bootstrap it, and kernel 2.6.27+ seem to support the card. Thankfully the rest of the base install was realitely painless – well as much as a Gentoo install can be… As of that kernel, there isn’t yet a kernel optimisation options specifically for the Atom, so I picked the Dual Core defaults which seems fine.

Problem 2: I spend WEEKS trying to fix this until I gave up. As usual XvMC, the interface that makes DVD and digital TV playback less CPU intensive would segfault on Xine, mplayer and MythTV (From memory I spent two years trying to get the M10000 working – I’m obviously less persistent now). I tried different gcc flags, getting the latest version from the relevent repositories, but nothing seemed to work. However, since the CPU would happily decode SD over-the-air broadcasts and DVDs I was tempted to cut my losses and forget about it. The fact that XvMC wouldn’t have helped out HD content either (It theoretically maxes out for anything bigger than 1024×768 I think. Oh, and it doesn’t do MPEG4) the decision was made.

Interestingly, Xine would happily decode a Channel 10 “Full HD” ATSC recording, but MythTV seems a little more CPU hungry, so live tv is too choppy to watch. I wonder whether the dual-core version might have enough headroom – I might try that in the new year (Although I have a feeling the larger CPU heatsink will stop it fitting in my case).

Problem 3: The board would randomly (or not so randomly as it turns out) reboot itself. You would have thought after spending so much time in class during electronics units at Uni, I would have worked out that the 60W wall adapter I was using couldn’t supply enough juice. If the second USB tv tuner and the DVD player were in use at the same time, the picoPSU 120 would shutdown. Thankfully ebay came to the rescue, and an 80w adapter is sitting on a delivery dock somewhere in Hong Kong. Hopefully it will find it’s way to my house.

Problem 4: The volume from the Intel HD chipset is REALLY low. Normal listening has the volume at ~80-90, rather than the 30-40 of the old board. I can probably fix that, but it’s tolerable, so I’m not to worried…

Problem 5: The GPU fan IS LOUD. It’s ok when there is something on the TV at a decent volume, but when it’s off, it sounds like a really small 747 in there. Mind you, if we are in the lounge room, the telly is probably one, so again, no biggie.

Problem 6: The latest version of Gentoo has trouble compiling mjpegtools-1.8 which is required by mytharchive. I had to compile it by hand, after applying some patches.

Problem 7: There is a bug in the network card driver, where sometimes, if the system performs a warm boot, the network card will stop working, which can only be fixed by a cold reboot (sometimes multiple times).

Problem 8: Clutch – the web interface to Transmission has remove the ability to have transmission download .torrent files for you. Now you have to download them to the desktop, then upload them. Dumb. The developers said something about not wanting AJAX calls to have to wait, which sounds like a dubious excuse to me – file uploads aren’t AJAX calls, they have to make a full round trip to the server.

So after all that (Oh, come one – 8 issues is a walk in the park for installing Linux! :P), the system is up and running. Overall, it’s not bad.

Advantage 1: The menus are much, MUCH snappier than the old machine. I can press a button on the remote, and I no longer have enough time to make a cup of coffee before the menu item changes.

Advantage 2: The standard transitions in  mythphotos now work. OpenGL doesn’t though.

Advantage 3: One of the plus sides of not having to use XvMC means the OSD is in colour and not distorted (Because the overlaygot mixed in before the scaling is done, the font rendering always looks weird).

So if this a good buy? If you aren’t afraid of a compiler, and aren’t going to miss HD OTA (Blueray WILL NOT WORK), then sure – it’s cheap and mostly easy to get working. It would be nice if there was a DVI output on the board – Intel could have easily replaced the serial port or parallel port with one. It also would have been nice it they had put a better GPU – either a low powered one, or a better spec’d one, I’d be happy with either.

But all in all, for a cheap, interium board it’s quite nice. 3 stars.