Guide to building a MythTV HTPC

NOTE – This is still a work-in-progress, but I figured posting something for now would at least be helpful to others.

Its a journey, but the MythTV setup is very useable and we couldn’t live without it. In 2005 I built our first myth box on the basis that I refused to pay Foxtel (aussie cable) $1k a year, and that I could build a myth box for less than that. Its since paid for itself many times over – there’s more TV on free-to-air than anyone needs in their life, and its nice that we have it set to only record from the ABC for the kids, so they’re never exposed to the deluge of advertising that exists on other channels. Of course, the challenge we have is our kids (5 and 7yo) don’t understand the concept of scheduled TV, to them its always been an “on demand” thing ūüôā

This guide isn’t about how to set up mythTV – thats covered plenty well enough from a software perspective on other sites and forums. ¬†Instead, I wanted to comment on a few of the less-considered parts, like how to choose the right video card, which remotes are good, and which tuners.

 

Getting Started

MythTV isn’t for everyone ‚Äď so start by dipping your toe in the water. If you like it, then its time to go ahead and build a box which can run myth and also sit unobtrusively in the living room.

The best way to get started with Myth is to use just any spare pc you have to hand, get your hands on just a remote control, a dvb-t tuner, and have at it. If you use a separate disk for the install, then later you can use that in a dedicated HTPC build later, and the nice thing about Linux is the default kernel will work with pretty much any hardware, so no reinstall is required.

The myth wiki has the HOWTO for installation instructions: http://www.mythtv.org/wiki/MythTV-HOWTO

I’d start with mythbuntu, unless you’re already familiar with redhat-based linux. There’s plenty of community support for mythbuntu and I’ll be experimenting with it again for my next myth build despite 20 years of redhat familiarity to unlearn.

Building a dedicated MythTV box

So you’ve tried it, and decided you like the look of it. ¬†Time to get serious about building a myth box!

Firstly Рthink about what you want/need from the box.  Not just how will it be used, but where in the house will it be?  Will it be visible?  Will it need to be quiet?  Will kids push buttons on the front of it imulsively, or cats use it as a scratching post?

Once you know what you want, you can start to plan and build a mythtv box which will last you for at least a few years. ¬†Here’s some of the things to consider:

Case

This depends a lot on your motherboard – after running three different cases over the last 8 years of using Myth, I settled on an Antec NSK 2480B. It looks unobtrusive, matches my HT receiver amplifier, and has large fans which makes for quiet fans. It only takes mATX motherboards or smaller. The only specific requirement I’d place on the case is “quiet”, and perhaps “no bright LED’s” although some electrical tape will fix that.

My preference for larger cases is driven by both convenience, and also by noise. Larger cases have space for larger fans, which are inherently quieter than smaller fans. Having space for a single 120mm case fan, and a similarly large CPU cooler fan means you can make the case extremely quiet.

Recommendation: I’d say the Antek NSK-2480B, but its not available everywhere, so also look at similar ones from Silverstone.

 PSU

Low power and efficient is good, so it doesn’t generate much heat and hence doesn’t make any unnecessary fan noise. Either an external power brick with a picoPSU or similar, or something like a Seasonic G Series 360W.

Higher power PSU’s which are gold rated are okay, but its worth pointing out that at sub-10% loads, most PSUs drop off in efficiency pretty fast, so using a 600W PSU means you’ll be burning a few watts extra at idle.

Motherboard/CPU

This used to be the tricky one to get right – I went through a few options before settling on my current (old) Athlon II 5050e on an Nvidia-chipset motherboard. The reason I found it hard was to get the power consumption right down below 40W at idle. Thankfully these days there are some good options.

If you’re buying new, then anything from Intel with 2 cores will have way more than enough processing power for MythTV including commercial detection flagging jobs etc.

If you’re buying used, or recycling old PC gear, then as a minimum, I’d¬†go with something at least based on 45nm Core2Duo as you can get them down to under 30W draw easily excluding disks. ¬†Newer used gear like Sandy Bridge will make it even easier. ¬†Just avoid older stuff like Pentium 4!

In general, based on my experience, I’d avoid Asus motherboards as they’re typically power hogs, and turn off all the unnecessary stuff in the bios that you don’t use like serial/firewire/audio etc. (the graphics card HDMI has its own Audio output capability over the hdmi, so motherboard onboard sound isn’t needed).

For information on building a low-power quiet PC, the forums at silentpcreview.com have excellent info. ¬†The only thing I’d say is avoid Atom cpu’s, as they’re (possibly) too underpowered to run the commercial detection processes. My 5050e is dual-core 2GHz (I’ve actually underclocked it – stock is 2.6GHz, but I wanted less power draw and its still fast enough).

Myth doesn’t require much memory – I’m using 4Gb at present, but 2Gb was plenty and the machine never used swap memory with 2Gb, although that was on Centos which isn’t into flashy window managers etc.

 Video Card

For Myth, the best option is any Nvidia card which supports VDPAU, which is the hardware accelerated decoding/encoding and deinterlacing libraries for Nvidia cards, as used by both Mythtv and XBMC. Pretty much anything from an old GT9200 onwards will work in a pinch.

There used to be a poor choice of gpu’s, with tradeoffs in deinterlacing grunt versus noise/power. However that’s all changed with the Nvidia GT630 revision 2 GPU, which has 384 cores, and consumes very little power. So little that a few manufacturers have variants out with no fan, which is awesome, as it means the card is silent and has no parts to wear out!

Stay away from ATI/AMD video cards for Myth. For more on VDPAU see this page here:  http://www.mythtv.org/wiki/VDPAU

Recommendation: any passively-cooled Rev. 2 GT630 (e.g. ASUS GT630-SL-2GD3-L
or Zotac ZT-60409-20L

TV Tuner Card

This can be painful – if you end up with a tuner card which isn’t well supported under linux (Leaktek, I’m looking at you!).

The easiest and most reliable solution is a Sony Playtv, you can find them on ebay (e.g. here). They use a generic tuner chip which is supported under just about all forms of Linux (including server-oriented distro’s like Centos if you use the centos-plus repo).

The Playtv is a dual-tuner, so you can record two multiplexes at once. One handy feature of dvb-t and myth is you can record multiple stations from each multiplex at a time. My tuners are set to allow 3 simultaneous recordings from each multiplex, so recording from Nine, Go! and Gem at the same time only takes one tuner as they’re all from the same broadcaster, and on the same multiplex.

This thread on Whirlpool has good info on tuner cards: http://forums.whirlpool.net.au/archive/1880443

I’m currently using a pair of Dvico TinyTwin dual USB tuners (for four tuners total), although mine are an older version so I’m not sure the current new ones are supported in linux, depending on what chip is inside them.

Separate back-end and frontend?

I run a combined frontend and backend on the same host. I’ve considered moving the backend into a virtualised host in my home server a couple of years ago, but issues with passing the USB controller for the tuners to a virtual machine prevented me from doing that.

Your networking setup also affects this decision. ¬†If you’re using wifi for the frontend’s connectivity, then you may have issues with dropouts, whereas cabled ethernet gives you more freedom in separating the front and backend.

Remote Control

For some reason most guides don’t really talk about remotes much.

This can be about the hardest part to get working correctly. I mostly use a Windows MCE remote (Windows Media Center Edition) from Hauppage, although there are other versions out there. The key is using a remote that works with the linux mce driver. There are other alternatives, but I find that the MCE one is a good fit for the shape/style and buttons. Getting it working and then tweaking it can be a challenge, but having it work from a remote makes it much more family-friendly – my mother has no trouble using mythtv when she’s baby sitting for us.

As far as which mce remote – I’d go with one which is a recognised brand (philips, hauppauge, microsoft, HP
, dell) on the grounds that they’ll be higher quality plastics and last well. Our current Hauppage one has been going for 6 years and is still in heavy use.

This page shows a few different Windows MCE Remote’s available: ¬†http://www.mythtv.org/wiki/MCE_Remote

The ones which are sought-after are the original Microsoft branded ones ‚Äď they’ve got backlighting for the buttons and are well made. I have one of them too ‚Äď we switch between them depending on whether one has absconded around the house with the 5 year old!

You can also go for something like a Logitech Harmony Рhowever call me old fashioned, but I prefer remotes with tactile buttons rather than touch screens.  That way you can use the remote while looking at the tv, without worrying about hitting the wrong functions or waiting.

TV Guide Data

Finally – the one bit I didn’t mention was TV Guide data. Far and away the best source for Australian TV is Shepherd (http://svn.whuffy.com/). Once installed, its self maintaining, and automatic – its a perl script which updates itself regularly, and feeds the myth database.

 

Lastly – good luck with it, and perservere. Once up and running, its a great system, and the only challenge after that is learning not to fiddle with a working mythtv box, as the only times ours has had any downtime has been because I broke it by doing stuff like an unnecessary linux kernel update!

Leave a Reply

Your email address will not be published. Required fields are marked *