Building a Linux HTPC

I consider myself an avid Linux user. I suppose I should qualify that by saying I love Linux, and I enjoy using Linux but I am by no means any sort of expert on the platform. With that said, I try to use it wherever I can being a big fan of the FOSS community and enjoying the ability to make something exactly how I want it. My home has always made heavy use of HTPC’s (Home Theater PC’s) and historically I have just taken whatever old hardware I had lying around and used it for this purpose. Up until about a month ago my two HTPC’s were both old Mac’s I had stopped using: A 2009 Mac Mini and a 2006 Macbook Pro. As such I left them running their native OSX and everything worked fine. I started having issues with the older Macbook Pro recently, though, where it was simply unable to keep up with playing back high bitrate HD quality video. Since my wife and I spend so much of our time watching movies and TV shows through our HTPC’s I felt like it was finally time to just up and build a new low-budget computer just for this purpose instead of dealing with obsolete hardware.

My budget was about $400 going into it and I did pretty well considering. I should qualify that budget by mentioning I happened to have a 128gb SSD “lying around” so that particular component was “free” as far as my budget was concerned. In terms of specs what I wound up building came out to the following:

I didn’t actually buy all the stuff from Newegg as I am lucky enough to have a Microcenter near my house. Believe it or not, I walked out the store with the complete build for about $400 thanks to a huge discount on the motherboard for bundling it with a CPU and not having to buy the SSD which I already had.

Anyhow, this post isn’t meant to be about my build or any of the specifics surrounding my decision making process, it is meant to be about what I wound up doing with it after I had it home and ready to power on.

Before I go into the whole Linux vs Windows for the HTPC thing I should also mention that the entire goal surrounding this build was for my HTPC to be a true media center. Meaning I would not be switching to my PS3 to play blurays or netflix and I would not be switching to my cable box for TV. This build was meant to convince my wife and I to finally cancel cable and “cut the cord”.

Initially I had simply assumed I would run linux on it. As such once it was all built I installed Arch Linux (my favorite distribution) on it and started getting everything set up. I had fluxbox/XBMC set up got everything working just how I wanted it before I hit my first major stumbling block: Bluray.

When I decided to install linux on my HTPC I hadn’t even considered that it would not be able to play bluray discs. I know anyone reading this who is well versed in linux might try to argue that it can, which is kind of true, but I needed this build to be wife proof. The current status of bluray on linux basically boils down to: With the right libraries installed it can play some bluray discs, maybe even most bluray discs, but it can’t play all of them. Especially recent releases which use BD+ instead of AACS for copyright protection.

This issue isn’t really unique to Linux, Windows has a similar issue with DRM/HDCP protected content, the major difference is in how easy it is to defeat it. On Linux its pretty much a crapshoot on if your drive is blacklisted or if a video will play and there aren’t many elegant workarounds. On windows there are a couple pieces of software you can install, most notably AnyDVD HD, which basically break the DRM in the background and let apps like XBMC simply play the disc. In either case (Windows or Linux) you are circumventing the copyright protection, it is just that it’s much easier to do this on Windows than it is on Linux.

The next major stumbling block I ran into was with online streaming services such as Netflix or Xfinity TV which use Silverlight. As of right now there really is no good way to watch Silverlight based video on Linux. The only decent solutions are to run firefox through WINE in a pseudo-windows environment to allow playback. This is not elegant at all and it barely works at that. This was another thing I had not even considered: How could such a wildly popular and seemingly technically in touch service like Netflix essentially not work at all on Linux? Regardless of the answer to that question – it really doesn’t.

As such, much to my dismay, I wound up having to scrap my entire Linux installation in favor of Windows.

As of right now, it seems, if you want a fully working wife-friendly media center solution your best bet is windows. Not only is it easier/possible to integrate bluray, netflix, hulu, xfinity, amazon instant, etc into your media center if you use windows instead of linux but you also get more options in terms of which media center software you use. It seems that any media center application which runs on Linux will also run on windows, but the reverse is not true. When running Linux you can use XBMC, Plex, OpenELEC and a few others but on windows you also get the very popular Media Portal among others which are windows-only. This isn’t really important to me as I always use XBMC but having more options is always nice.

Once I got past my initial disappointment of having to use Windows over Linux I realized that at the end of the day Windows is really just a much nicer platform for a media center all around when it comes to accessibility, compatibility, codec support (think MadVR), among other things. There are some things Windows just really does better, as much as I hate to admit it.

So, in summary, if you are considering using Linux as your platform for your next HTPC build make sure you have considered what your needs are before you waste too much time. DRM and Linux don’t seem to get along too well.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.