There are a lot of excellent blogs and articles out there on how to build a Home Theatre PC (HTPC). There are very detailed articles written almost weekly about choosing the ultimate components, to long discussions about which is the best software to run and why.
This will be a little different. This is just a story about my build, how I chose my parts, and why I went about it the way I did. Maybe my experience will help you think about your build a touch differently.
Why build an HTPC in the first place? The story behind the story.
For a while we had satellite TV. Then we switched to cable. There were about five channels we regularly watched out of fifty or seventy channels. Amd there were a lot of shows on speciality channels I didn’t want to pay for. It was annoying.
As I learned more about online digital content I found that most of what we wanted to watch could be obtained online. Most. We’ll come back to that.
My first step was to attempt a proof of concept without spending any money at all. I wanted to try a bunch of things to see what would be best for my family. So I learned about the offerings for media center software and very quickly narrowed down to Windows Media Center or XBMC. (My journey spanned the version and name change from xbmc to kodi. To save the confusion I’m going to refer to this as kodi for the remaining post.)
The idea of free and open source appeals to me a lot and the more I read the more I liked the idea of a linux based operating system. By all accounts it is very stable, fast, and resistant to viruses and malware.
Kodi was the clear winner for me. Now, how to test?
I have a sufficiently spec’d laptop that would serve as a great test bed before spending any money. First I installed kodi for Windows to try out the interface and start to play with some of the settings. I hooked my laptop to the TV to see the interface and watched a couple of videos. So far so good.
Then I installed Ubuntu as a secondary boot operating system to try out the Linux flavour of kodi. Ubuntu is totally free so there was no risk to taking this step.
Contrary to many blogs talking about how easy it is to make the switch to Linux, I struggled with it. I’m struggling less with it now, 6 months later, but it is tough to go from Windows to Linux. If you keep trying you will get there, but you’ll need some patience. Depending on how you choose to install kodi you may never see the actual operating system so don’t worry about getting to know Linux just yet.
In the end, after weeks of testing and a ton of trial and error I ended up with an Ubuntu system running kodi on my laptop and after a few weeks of playing with it I was satisfied this would work for the family.
Hardware. Some hard choices and trade offs.
I knew all along I wanted a dedicated HTPC. We had used a WDTV box for a couple of years and while it fit the need of streaming ripped DVDs stored on a basement computer it was not sufficiently flexible for us to cut cable.
I started the most recent part of my journey with a Pivos box running android with kodi preinstalled. It is a slick device but I didn’t see it having the flexibility to grow as our wants grew. At the time, the android version of kodi was still a little flakey and there were a couple of regular little issues that bugged me. So I took it back and started planning a full HTPC build.
First I set my goals for the machine.
- It is going to sit beside the receiver so it had to look like it belonged on the audio shelf. In other words it couldn’t look like a typical computer.
- It MUST be quiet. Preferably silent. Having a traditional computer fan whirring all the time in an otherwise quiet room was simply not an option.
- I knew this device would be on all the time so it had to be energy efficient.
- It had to be powerful enough to deal flawlessly with 1080p. Dealing with 4k was not a requirement since it will be many many years before we have a 4k TV in the house. I’ll build a new HTPC then and move this to the basement.
- As for content, it had to be able to stream all content off my storage device in the basement without requiring any transcoding, including DVD .iso files, and it had to be able to stream any online content.
I used these goals to pick and build my HTPC. And I was very happy.
Remember I said MOST content that we wanted was online? After spending the money and building the HTPC we decided there are a few shows that we didn’t want to go without. So I bought an HD antenna, put it on my roof, and added a new goal for the machine:
- It had to be able to handle live TV coming from a digital antenna mounted on my roof.
Then, I realized there is going to be a decent amount of computing power sitting there often at idle, so I decided I wanted this machine to be the coordinator of all my system backups. Unfortunately the software I prefer is windows software… So I added another goal:
- it had to be able to run a widows virtual machine in the background while running kodi in the foreground. And the virtual machine could not affect the primary purpose which is being an HTPC. Coming soon is another post on the topic of virtual machines, and another post on backups. There’s to much to cover to try and do it here.
I was lucky that the hardware I bought could handle both the new requirements, but it did require some software changes which I’ll get to.
I’m going to spare the details of all my component searches and flip-flop decisions and just list the components I went with and why:
Case: First I chose the case. Silverstone GD04. Has almost the exact same dimensions and matte black finish as my Onkyo receiver. Plus, it has large and therefore quiet case fans, and a ridiculous amount of ventilation which allows for cool operating under even the most demanding conditions.
Processor: Then I decided on the processor. I chose the AMD Sempron 3850 quad core for a number of reasons
- Low power means low heat, and low heat means quiet. This quad core peaks at 1.3 Ghz which is plenty for all the non 4k video you can throw at it. It is slow according to today’s 3+ Ghz CPUs, but an HTPC such as this does not require the speed or power of a faster processor. Plus, faster means heat, and heat means noise. And more power means less efficient for an always on machine.
- The CPU drops to 800 MHz when idle so it uses even less power and generates less heat when not being used.
- It has an integrated GPU which is a nice feature that allows for hardware acceleration and no need to purchase a separate video card.
- It is fully compatible with Linux and the Linux installation of kodi.
Motherboard: After choosing the processor I chose the motherboard. My requirements were not big for this part. I needed three minimum SATA ports for internal drives: Boot drive, blu-ray drive, and possible PVR / storage drive later on. RAID was not a requirement since all my media is in the basement on a mirrored NAS. My only other requirement was an HDMI output. And of course it had to fit in the case I’d chosen.
The motherboard I chose (ASRock AM1H-ITX) has all my wants plus more, and has the ability to run off a laptop power supply which means no big power supply in the case, no possible noisy fan, and the system runs more efficiently at idle with the laptop power supply.
Drives: I went with a 120GB SSD as the boot drive for a number of reasons
- SSD drives are silent
- SSD drives are fast… Which means faster system boots, faster and more responsive menus in kodi, faster loading of art and media info as the selections change
The comparatively small storage size of an SSD boot drive is not an issue because, for the most part, you won’t be storing your media there anyhow. And you will not need the speed of an SSD when reading or writing media. But the very small access times do make a noticeable difference with the menus and boot.
Memory: I initially went with 4GB RAM. For a dedicated HTPC (not a file server or media server) there is no need for more memory than that. Used as strictly a media appliance I never had any issues. Plus, if the system does require the disk as swap space, SSD drives are fast enough it is like having slow RAM. When buying memory ensure you get a single stick rather than 2x2gb. This does allow for expansion later if you want more. I’m glad I followed this advice told to me.
I have since increased my memory to 8GB but I’m using the machine differently than I had initially planned.
Since RAM is “so cheap”, this is the part I would have changed – I should have bought a single 8GB stick up front and been able to expand to 16GB later.
Other stuff: Input devices. Ideally I want to use my cheap harmony remote. But it’s not working yet. For the initial setup, hook up a keyboard and mouse. Wireless USB is nice as it let’s you sit on the couch in comfort. But you’ll only need it for a short time.
In our house we mostly use our smartphone as a remote. Yatse is fantastic…
I bought the parts and had a professional shop build the computer for me. I’m literate, but not that literate.
I have been through a few different software choices so far in my HTPC journey. Each has their pros and cons. I’m going to give a brief view of the ones I have used but will spend much more of my time on my final choices.
- My first go was with a special Linux distribution called openelec. It is a dedicated Linux based system for running kodi. There is no real operating system behind kodi in this distribution, kodi acts as the OS. As such There is no real operating system access. The best part about openelec is that it installs super quickly and just plain works. However, I found that I wanted to use my system differently and openelec didn’t have enough flexibility. For your first system I would suggest starting here. I was extremely pleased with openelec and we would still be running it today if i hadn’t changed quite dramatically what I wanted the whole computer to do. (recall, run a virtual machine and live TV).
- Kodibuntu also just works. It has a stripped down Linux operating system behind it which I thought would be sufficient for my needs, but I found the OS a bit painful to use. It really is geared toward those wanting a simple appliance without doing much more with the machine. I ditched it after only a day or two.
- What I settled on was a full installation of the most recent Ubuntu 14.04 then I installed kodi. You are able to boot directly into kodi, or into the OS itself. When booting directly into kodi it feels just like an appliance, but it has the power and flexibility of a full operating system when you want it.
My final build is this: A mostly dedicated Home Theater PC running very competent HTPC software interface, able to watch ripped movies and live TV, and able to run a virtual machine in the background. After about 3 months I’m still as happy as day one.
A word on planning your build.
Read. A lot. Trust what I’ve written but do your research too. Think long and hard about how you want to use your system including any possible virtual machines you might want to run. VMs can be demanding on the system, so depending what you want your VM to do (video rendering or photo editing perhaps?) you may require a much stronger system than I’ve outlined. Or the best decision might be to leave this as an HTPC only and do your really heavy lifting in another box.
If you want a virtual machine running in the background that takes care of some backup tasks, maybe a little web surfing or MS Office stuff, and email, along with a little bit of photo manipulation, you’ll be fine with either the CPU I chose of the Athlon version of that CPU. If you want a little more power, an Intel i3 or quad core i5 would be the way to go – although you will also need to change the power supply and more cooling will be required which means possible noise. It’s about evaluating the trade-offs and understanding what you truly need from the HTPC.
I hope this post helps you consider, or reconsider, what you think an HTPC can do. Hardware and software are now good enough that you aren’t restricted to just running a dedicated HTPC – you can do other things with it too.
If you have other ideas for builds, or other hardware suggestions, please leave your comments!