I recently built myself a new and shiny HTPC for my living room, and because it took lots of time researching the right components, I’d like to share my experiences. I published this post first on the XBMC forum a couple of days ago. Feel free to comment either here or there. Lots of pictures in the post!
- 1. Hello Beauty
- 2. Requirements
- 3. Hardware
- 4. Software
- 5. Issues
- 6. Power Consumption, Temperatures, Noise
- 7. Related Threads
- A. Appendix: Lots of Pictures
1. Hello Beauty
Meet my first HTPC.
She’s a beauty.
And she doesn’t make a sound.
My requirements were clear from the beginning: I wanted an HTPC, but I also wanted to use it as my 24/7 Linux home server, with 2x big HDDs in a RAID1. Even though most people would say, go get and buy two devices — a Synology NAS and a nettop as HTPC — I wanted it all in one machine. And that made it all a little more complicated:
- HTPC/XBMC with flawless 1080p video playback
- NAS with RAID1: 1 SSD for the OS, 2 HDDs for the RAID1 (= min 3 SATA)
- Linux without a hassle
- Low power consumption b/c it will run 24/7
- Fanless: And of course, it should be completely silent (no fans), b/c it will be in the living room.
Because I wanted something that worked flawless on Linux, I couldn’t just take the best there is and that’s that. As a Linux user, you always have to check for drivers and compatibility. So I did. And I think I made a reasonably good choice here. Everything works, with some minor exceptions (more later).
3.1. Main Parts
These are the main parts I’ve chosen for my HTPC. I’m very happy with everything. No exceptions. Seems like I did good research before.
- Case: Streacom FC10 — 300€
- Mainboard: ASUS P8H77-M PRO — 105€
- CPU: Intel i3-3225 — 126€
- RAM: Corsair Vengeance LP White DDR3-1600 2x4GB 1.35V — 60€
- PSU: picoPSU-150-XT with a 120W AC/DC Adapter (incl. one Y-cable 1xMolex->2xSATA) — 60€
- 1x SSD: Samsung MZ-7PD128BW SSD 840 Pro 128GB — 128€
- 2x HDD: Western Digital WD Red 3TB WD30EFRX — 2×142€
- 1x BD Drive: Sony Optiarc BD-5850H — 81€
3.2. Hardware Justification
So why exactly these components? Here’s a bit about the why.
- The FC10 case is a beauty and can fit the amount of SSDs and HDDs I wanted, it can passively cool CPUs with up to 95W TDP. You got me here. I bought it because it’s pretty.
- The i3-3225 CPU (Ivy Bridge) is 55W TDP, low power and has a HD4000 graphics chip, which is pretty good I think. Additionally, it works pretty good on Linux according to a couple of articles I’ve read. See hardware.info and phoronix.com. According to many people on the XBMC forums, the i3-3225 has a similar idle power consumption as the low power i3-3220T, so buying the T-version wouldn’t make sense — especially because the i3-3225 has a much better graphics chip.
- After many many hours and much help on the XBMC forum, I went for the ASUS P8H77-M PRO mainboard. Why? Because it fits in the FC10 case (!), supports low voltage RAM, does not have problems playing 23.976fps video material, and apparently works fabulous on Linux.
- The Corsair Vengeance LP White memory is low voltage RAM (1.35V), which is supposed to use less power (~ 1.65W per DIMM to my knowledge). Corsair is supposed to be good — people on the XBMC forum often suggest Corsair RAM.
- The 840 Samsung SSD is a new and apparently awesome SSD. I read it’s super fast and has a low power consumption (0.6W idle, max. 3W). There’s a good review on anandtech.com.
- The two 3TB WD Red disks are NAS disks that are super silent (quieter than the WD Green) and use less power than many others (less power than the WD Green) — at least according to tests I’ve read (4W idle, max. 5W). Additionally, the Red is built for 24/7 usage, so I am hoping that it lasts longer. Check out this review on silentpcreview.com.
- The Sony Optiarc BD-5850H Bluray drive I chose is pretty much the only slim slot-in drive out there I think. Amazon reviews say it was quiet. I wouldn’t really agree, but then again, it’s an optical drive — so it must make a at least some noise…
3.3. Adapters, Cables, Thermal Paste
Keep in mind that you have to connect the components with each other, so don’t forget to order the right cables and adapters. I first forgot the slimline adapter for the optical drive — I’m sure you won’t :-)
- SATA Adapter (for multiple HDDs): I/O Adapter DELOCK 1xSATA-St>2x SATA-Bu. / Adapter Power SATA HDD 2x > 15 Pin – St 15 cm — 3€
- SATA Slim Adapter (for BD Drive): DeLock Adapter Slimline SATA 22pin > Slim — 4€
- Power extension: Power ATX 4pin/12V Extension (20cm) — 3€
- Thermal Paste: Arctic Cooling Mx-2 Thermal Compound 4-grams — 5€ (Note: Important! The amount of included thermal paste is not enough!)
3.4. Optional cables
If you don’t have these components/cables, you might want to buy them. SATA cables are typically included with the mainboard, an HDMI is necessary to connect the TV, and an optical audio cable is only necessary if you want to connect your audio receiver and not your TV.
- SATA III Cables: 4x DeLock SATA III Cable red 50cm — 12€ (Note: The mainboard actually includes 4 SATA cables, so you act. don’t need them)
- HDMI Cable (connecting the TV): AmazonBasics High Speed HDMI Cable 2m — 7€
- S/PDIF Audio Cable (connecting the audio receiver): AmazonBasics Optical Toslink Digital Cable 1.8m — 7€
- Medion X10 Remote Control — found it in my techy box, so 0€ :-)
3.5. Grand Total
The total cost of this build is 1185€. Not cheap, I know, but it’s definitely worth it, I think. High quality CPU, HDDs, SSD, and case. Built to last :-)
Linux was a must as I said, so Ubuntu 12.10 was a no-brainer. I didn’t want to use XBMCbuntu or openElec, because I wanted to use the box not only as HTPC, but also as web server, NAS, scripting box, and so on.
I actually thought about going into details on how to set everything up here, but I didn’t fully write everything down yet. Maybe I’ll do that some other time. For now, a list of software and uses will have to do:
- Ubuntu 12.10 with XFCE4 desktop environment (so Xubuntu, I think …); Ubuntu boots and logs in to user ‘xbmc’ in 11 seconds (not that I care, it’s a server after all). XBMC can be started with the remote control by pressing the power button, and it can be killed by pressing another button twice (if it hangs)
- Intel graphics VAAPI drivers (i965-va-driver:amd64), so that video decoding can be done in the iGPU. I have issues with this, though, but it works anyway.
- LIRC (kernel-based LIRC and the standalone LIRC) to control XBMC with my remote control, and to execute commands when I press special button combinations
- XBMC Eden from the Team XBMC PPA; Aeon Nox skin, YouTube plugin, RTLnow plugin, …
- NFS and Samba server for home network file sharing
- Apache2, PHP5, MySQL, Tomcat6, and others for software development
- TightVNC to access the desktop from my laptop or over then net for the user ‘binwiederda’ (second XFCE4 session)
- Guacamole to access the machine via VNC from anywhere without a VNC client (HTML5-based VNC client)
- Nagios to monitor the temperatures (with hddtemp and lm-sensors), disk space and load of the system and my other server
- GateOne as a web-based SSH client, so I can easily administer the machine from anywhere (uses WebSockets)
- rsnapshot backup scripts to back up the HTPC, my laptop and my other server regularly
- Various crawler scripts of my own to automatically buy and download the TV shows I and my GF watch and put them in the right place (so that XBMC can find them)
- mdadm for a software RAID1 of one partition: two 1TB partitions in RAID1 (=1TB) for backups (/dev/sd[ab]1) and two 2TB partitions for media storage (/dev/sd[ab]2, =4TB)
5.1. Hardware Acceleration
Even though the Intel VAAPI drivers are installed correctly, I cannot use VAAPI decoding in XBMC. It sometimes starts playing, sometimes it doesn’t even do that and just freezes completely. The logs show that it in fact does try to use VAAPI, but there are no error messages whatsoever when it freezes.
2:18:08 T:139632131294976 DEBUG: VAAPI - initialize version 0.32
22:18:08 T:139632131294976 DEBUG: VAAPI - vendor: Intel i965 driver - 1.0.17
When I click the stop button on my remote control, XBMC completely freezes with the message in the logs “NOTICE: waiting for video thread to exit” (-> never happens).
HOWEVER, even though this is not cool, I am very confident that this is solvable.
–> MEANWHILE, XBMC works just as good (1080p movies + Aeon Nox) without any glitches
5.2. Other Issues
I had some other small issues that turned out to be easily fixed. Here are a few links to how I fixed them.
- I had some trouble getting LIRC to work with my remote control, but I solved it using this awesome thread.
- The YouTube plugin has a bug in the current version, but this thread helped me fix it.
- Encrypted DVDs wouldn’t work, until I did what is described in this thread
6. Power Consumption, Temperatures, Noise
Power consumption and noise was a big deal right from the beginning. I chose each of the components based on what people and reviews said about their power consumption and their noise levels. Temperatures are rarely measured anywhere, but it goes hand in hand with the other two.
6.1. Power Consumption
The machine idles at 29W, and goes up to about 55W when it’s under heavy load (using some tool, can’t remember the name).
Power consumption table
(some values are just guesses)
There are certainly systems that consume less power, but considering that it has 2×3 TB HDDs and an Intel HD4000 chip, the power consumption is pretty awesome. Here’s how: A CPU that has a low TDP (55W TDP), low voltage 1.35V RAM, an SSD and a low power HDDs.
Here is what I calculated beforehand (mostly taken from reviews, and partly guessed). Unfortunately, I have no idea if that is near the actual numbers, but at least the idle power consumption is correct (table on the right).
The idle CPU temperature is around 38-43°C, under heavy load it goes up to 55-60°C. Since I set the Nagios warning temperature to 60°C (3 days ago), it has not sent me a warning e-mail yet.
The HDD idle temperate is around 47°C for the HDD that’s over the mainboard, 43°C for the other one. The temperature hardly ever changes — it definitely does not fluctuate as much as the CPU temperature. Under heavy load from copying, it can go up to 49-50°C.
Update March ’13: Occasionally, the CPU temperature goes over 60°C now, but only when XBMC idles in the menu at 60 frames per second. It never ever happens in other situations.
I also did a bit more stress testing. When using aircrack-ng to crack Wifi passwords, the temperature reaches about 66°C after 5 minutes of 100% load in all four cores, and even goes as high as 71°C after 15 minutes of uninterrupted stress testing.
After stopping the stress test, the CPU temperature immediately falls back to 55°C, and then slowly sinks back to 50°C after 5 minutes, and to 46°C after 10 minutes.
Let me say it like this: When I turn off my heater, and close the door to the kitchen (fridge noise), and when I’m closer than 1.5m, I can hear something — like the sound of the ocean in a seashell. In short: It’s completely silent. My GF fell asleep next to it multiple times.
7. Related Threads
How it all came together. Thanks to everyone who helped advising me!
- Fanless low power FC10 build: Please check my specs
- Custom build, all-in-one: HTPC/1080p + RAID1 + Fanless + Linux + 30 watts + 24×7
- Mainboard for the i3-3225
A. Appendix: Lots of Pictures
Now to the part everyone first scrolls down to. The pictures.
With the two HDDs and the heatpipes fully installed. All pictures from now on are actually about 10 days after I was using the machine with one HDD.
The CPU power connector cable is a bit short, but its long enough. It might get a bit warm because it’s squished between the RAM and the HDD. I don’t know if that’s bad for the cable …
12V power extension to connect the external cable. The cable from the picoPSU to the external connector is too short
Power and LED pins: The mainboard power pins are not next to each other, so I wasn’t able to connect the power LED
I'd very much like to hear what you think of this post. Feel free to leave a comment. I usually respond within a day or two, sometimes even faster. I will not share or publish your e-mail address anywhere.