A Linux-based HTPC (with Netflix): Here’s how I did it.

A while ago I wrote about my experiences setting up my NUC as an HTPC using Linux Mint, XBMC, and MythTV. I wanted to see how inexpensively I could put together a NUC-based HTPC, and the idea of using a free operating system was appealing, provided I could get the features I needed. Live TV was a big part of that and I thought MythTV would give me the live TV piece. If you're having trouble sleeping I suggest you check it out here. A quick recap is that I fell in love with Linux Mint, was impressed as always with XBMC, and had some "issues" with MythTV. Now when I say issues what I really mean is installing and configuring MythTV was something akin to doing my taxes on the long forms with a #2 pencil by candlelight; it's a long, slow, painful process and you'll find yourself throwing out what you've done and starting over several times.

In the end I decided it was just too much work. Even after I got MythTV working I found the interface for watching and recording tv clunky and un-fun. Besides, this setup didn't get me Netflix which is what I use my HTPC for mostly anyway. So while I still occasionally boot into Mint the idea of it being my regular HTPC was shelved and I sheepishly went back to good old Windows 7. I brought flowers and a card and begged forgiveness for ever straying.

Recently I played around with Android on my NUC.  Android was an even bigger disappointment because Android on x86 is still in its infancy. It's not a realistic solution for an HTPC yet. I emphasize YET because I think there's a lot of potential there and in time we'll see some neat stuff. Still, Android just wasn't happening and it made me start thinking about my fling with Linux. I deciding to call Linux Mint up and take it out for a spin again. And I sure am glad I did! After quite a bit of research, trial and error, and lots and lots of Googling I figured a few things out. I figured out how to get MythTV working the way I wanted, how to set up XBMC to be able to watch and record live tv, and…wait for it…HOW TO WATCH NETFLIX IN LINUX! True Netflix has been possible in Linux for a while, but it involved installing and configuring multiple different applications. It was a long, painful process of setting up Wine to run IE to get Silverlight so you could get Netflix. Sound like a lot? Well it is. Luckily I stumbled across a project called Netflix-Desktop for Linux. These guys, geniuses that they are, automated the whole darned thing so the non-Linux-gurus out there (like yours truly) could install this whole Netflix thing without making our brains cry.

That was the final piece of the Linux HTPC for me. I can now do more or less everything I want on this Linux configuration, including watch & record live tv, stream content from various sources, watch Netflix, and even stream Pandora. So rather than bore you will all the messy details of how I figured this stuff out I'll get to what everyone really wants: instructions. One of my pet peeves in the Linux community is when people will say "Oh yeah, you just need [cryptically named app]. Install that and it will be great!" and then they don't say word one about HOW to get or install it. Well none of that here. I've got the straight dope and I'm going to share it! What I'm NOT going to give you is a step-by-step "click this, then type this, then click this" set of instructions. What I AM going to give you is the general steps and commands you need. If you need someone to tell you how to find something on the menu or which box to click when it asks "Do you agree to the terms of service?" then this probably isn't a good idea and you should stop right here. Think of this less as me holding your hand and more as me pointing you toward the door.

First, a disclaimer: I'm not telling you to do this, I'm showing you what I did. If you mess anything up please don't grab a pitchfork and hunt me down. Proceed at your own risk, preferably on a system that you don't have anything critical on.

What is it?

What does it do?

How do I get it?

Instructions

Linux Mint

This is your operating system. It's free, it's pretty, and it's a lot like using Windows 7.

Go to Linuxmint.org, go to the download section and pick the version that's right for you. You can choose between x86 and x64, and decide which desktop you prefer. The current version is 15, code named Olivia. I selected Cinnamon as my desktop. Once you've downloaded the ISO file you can use your computer to burn the image onto a CD or use a tool like Linux Live Key (linuxliveusb.com) to make a bootable flash drive.

Boot to your CD or flash drive. Select the Install option (to install it to your hard drive) and follow the instructions (which are surprisingly simple) to install. You can dual boot with Windows and other operating systems or you can wipe your hard drive and install it clean. Up to you.

After you boot up allow the updater tool to install all necessary updates.

MythTV

This gets you the ability to view and record live tv, assuming you have a tv tuner. If you don't have a tv tuner you can skip this step

Just start pulling your hair out now to save time. This is by far the hardest and most frustrating step. After that, open the Software Manager (it's on the menu) and search for MythTv. You'll notice there are many listings. The one you want is "MythTV: Personal Video Recorder Application-Client and Server". You could also eventually get it by going to www.mythtv.org but not directly.  As I mentioned in my previous post they don't make it available for download there.

Seriously, there are so many possible combinations of settings, tuners, and database options I can't begin to tell you. The basics are:

  1. install it
  2. open mythty-setup (or MythTV Backend Setup from the menu).
  3. set up your database (this happens automatically if you follow the prompts
  4. set up the database connection
  5. select your capture card (that's your tuner)
  6. create your video source
  7. create your  input connection
  8. go to Channel editor and scan for channels

Those are the general steps.  My best advice is to leave as much at the default as possible; don't change anything unless you have to. If you've never done it you're in for a ride and Google is your friend. If you've done it before it'll be a cake walk.

XBMC This is the media center application and it is awesome. This is one part of this setup I will say is better than the Windows config. XBMC gives you tons of customization options, multiple skins to pick from, and endless add-ons for everything from streaming videos to playing games. Go to XBMC.org and go to the download section. You'll want the current version (code named Frodo) because it includes the live tv support. There is a version of xbmc in the Software Manager but it's older and doesn't have live tv capability. Open a terminal (that's like a command prompt for us Windows people) and enter the following commands in order. Each will ask for a couple of confirmations.

  • sudo apt-get install python-software-properties pkg-config
  • sudo apt-get install software-properties-common
  • sudo add-apt-repository ppa:team-xbmc/ppa
  • sudo apt-get update
  • sudo apt-get install xbmc
Once it's installed, open it. Go to System, then Settings, then click on Live TV.On the General tab click on Enable and you'll be prompted for your database information for MythTV. This will include things like the database name, port number, user name, and password. All of this is available in MythTv Backend Setup.Click Enable for "Use backend channel numbers". This will bring up a warning about not having a PVR (personal video recorder) installed. Save that, then go back to System Settings and select the Add-ons tab. Go to PVR clients and enable the MythTV cmith PVR client. This is what gets you the recording capability. Save the settings and go back to the main XBMC screen. You will now have a Live TV menu. Click on it and start playing around. It's pretty cool.There are lots of other settings you can configure but the above should get you your basic live tv capabilities.
Netflix Desktop for Linux Netflix (duh) Open a terminal. Enter the following commands, follow the prompts:

  • sudo apt-add-repository ppa:ehoover/compholio
  • sudo apt-get update
  • sudo apt-get install netflix-desktop

Once that's done, open it. It will ask you to click a few Oks but mostly you can just watch as it downloads the necessary pieces and makes them work together. Not much to do but wait.

After it's done setting up, open it and you should see the familiar Netflix login screen. You can now log in and start enjoying Netflix. That's all there is to it.

XBMC Add-ons

Anything you want...seriously

In XBMC go to System, Setting, Add-ons

Decide what you want to do (Pandora, news, movie trailers, movies, gardening, anything) and pick an add-on for it.

Assuming you made it through all of that (especially the MythTV setup) you now have a pretty awesome (and totally free) HTPC configuration. Have fun!