My amazing aluminium lunchbox: Using a NUC5i3 as HTPC, web server, cloud server and living room gaming PC

I never did buy that Intel NUC D34010WYKH, the home server upgrade that I recognised some two months back was a completely frivolous investment. I didn’t buy it because I bought the new 2015 Broadwell-based model instead. All told I spent 5000 DKR (~€670/$750) on the thing plus components and accessories. So let’s get to the point: Is it just as ridiculous and frivolous a waste of hard-earned cash as I said it would be? Yes, it is. Do I regret it? No, I don’t. Not one bit.

The paradox resolves itself easily, though. Technically there isn’t any single function that the NUC serves that wasn’t also served by the old Atom-powered  machine. But a) every single function is better served by the NUC and b) looks, feel, noise-level, power consumption.

As for building the machine it hardly deserves a paragraph. Taking things super slow and careful I spent between 1 and 2 hours putting a 256 GB M.2 SSD, 8 GB of low-voltage RAM, and a 2TB 2.5″ SATA harddrive inside of my little lunchbox. The instructions for doing so are an appropriately IKEA-like set of numbered drawings. Unlike IKEA, the components feel very sturdy and you sense that nothing can really go wrong here. The screws holding the case together, for instance, are all held in place, so even when unscrewed they are still attached to the upper part of the case (aka “captive screws”). The most complicated part was fastening the SSD. It was 60 mm long, not 80, so I needed to move a screw from the 80mm hole to the middle 60 mm hole. Everything else was a matter or slipping and clicking stuff into place. I have a mini-HDMI and a DisplayPort out and four USB3 ports, two of which are permanently occupied with a wireless controller receiver and a backup USB flash drive, leaving two at the front free. I wouldn’t have minded more, though.

DSC01085
From left to right: Power, ethernet, mini-HDMI, and USB extension cord with wireless controller receiver on the end. The USB Flash drive used as backup drive is hidden under cables.

The choice of Ubuntu for OS was – again – somewhat by chance. I happened to be setting the thing up the very day that Ubuntu 15.04 “Vivid Vervet” launched and so it just seemed a reasonable place to start. Although various desktop experiments meant that I ended up starting over again with a fresh install, I stuck with Vivid Vervet. The only bad things I have to say about it is that it’s LXDE setup is needlessly complicated by providing two separate profiles (LXDE and Lubuntu) and somewhat more seriously, the switch to systemd is very much a work in progress. A lot of packages simply haven’t been converted and so rely some kind of intermediate service that translates systemctl commands into startup commands. Mostly it works but occasionally it fails. As it turned out it was a fortuitous choice (of OS) as it gave me access to Kodi betas and I needed a beta for my controller to work. Some things are just easier when you choose mainstream.

The machine – a NUC5i3RYH – currently does service as an HTPC, a living room gaming computer, a web server (serving this site amongst others), and a personal cloud server. The only thing that’s missing is the mail server which will be moved when I’ve got a weekend to spare. I’ll go through my experience with the nuc in each of these areas in turn and finish off by talking about what the machine feels like as a replacement for old recycled hardware.

This isn’t trying to be an objective review or performance measure. It is just a collection of thoughts and experiences with this piece of kit and how it compares to running the same jobs on an old desktop computer stashed away in a cupboard. I should also say that more than just the hardware has changed in the last two months. I have bought a new stereo and TV and hooked it up to the nuc, I have made the switch from a somewhat unkempt Arch install to a fresh and updated Ubuntu 15.04 one. And I have understood what is meant by an ‘HTPC’. So it’s hardly an all-other-things-being-equal comparison.

HTPC

The nuc runs Kodi (formerly XBMC) on a bare one-workspace LXDE desktop. Kodi is the only graphical user oriented interface of the machine and I use a wireless Logitech-made Xbox-like controller to interact with it. It took time for me to realise that this was the proper way to do HTPC. Prior to this I had set up various configurations with various desktops (Unity, XFCE4) and various numbers of workspaces. I used mouse, keyboard and modified controller layouts to switch between applications. In short, I tried to build a slightly modfied desktop setup. It didn’t work well. You can’t properly use a desktop browser – or file browser or video player – without a mouse and using a mouse from a couch, even a wireless one, is not ideal either. I found myself constantly trying to work against the applications and tricking peripherals into thinking they were something they weren’t.

So I finally settled on running Kodi fullscreen in LXDE and accepting that whatever I needed to do, I would do through this interface. Which means that it does video and music and it can launch other programs (more on that later). If I desparately want a web browser, a controller friendly one is available through Steam. Seeing that – with the right skin – Kodi is a far nicer and more responsive interface than anything I could ever hack together, that is actually a win. I could run Kodi instead of a window manager rather than inside one but that would preclude launching other apps, like Steam, so that was not an option. LXDE/Openbox is a famously non-fuzzy and easily configurable window manager, so it was pretty much a no-brainer once I had decided on Kodi as the main interface.

The old server is behind the cupboard door on the right. I’m counting the days until I can unplug it for good.

Now there’s not much of a comparison to make here as the previous machine’s “HTPC” function was an open file browser plus VLC. I navigated this setup using a wireless trackball. Video played on a supermarket 24″ screen and analog audio on a student stereo. The nuc on the other hand is hooked up to a new 40″ TV and a new digital stereo. But even without that contrast, Kodi on the nuc is a delight. It responds immediately and htop metrics say that it hardly makes a dent in the nuc’s capabilities. Supposedly it – at least this fifth generation (Broadwell) – is capable of 4k video but as I do not have a 4k TV that remains to be seen. Standard HD video is decidedly not a problem and Kodi/Ubuntu 15.04 automatically uses VAAPI on the integrated Intel HD5500 graphics. I had a small problem when using VLC (before I picked up on the HTPC notion and Kodi) in that standard Xvideo output would be dotted with green flashes. This appears to be a known issue. Use of VAAPI, whatever the video player, is therefore pretty much a must.

Living room gaming

I think I tried playing Thomas Was Not Alone on the old machine once, using a keyboard, sitting on the floor in front of my then “TV” (the aforementioned 24″ monitor). Needless to say it was no great success. Let me just start by saying that while I haven’t had much time to game in the past two months, I have had some great gaming moments with the nuc, reliving the absolute joy that is Psychonauts and finally delving into the strange but beautiful world of FEZ. Beautiful that is, on a new, shiny 40″ TV.

Gaming on the nuc has posed three challenges: 1) How do I get to the games, 2) How do I interact with the games and 3) What games can I play?

Originally I envisioned a multi-workspace setup, like the one on my desktop, where desktop Steam would reside on one of the workspaces. Since this simply didn’t work, I had to figure out how to run Steam from within Kodi. Which fortunately turned out not be that much of a problem: Just install an application plugin. Kodi is always running until I launch steam in Big Picture Mode from within Kodi. Kodi is shut down, Steam starts and restarts Kodi on exit. It’s a bit of a hack but it doesn’t feel like one at all, quite the opposite, and it works without any hiccups. I can also setup non-Steam applications, like Minecraft (including a special controller profile that links controller buttons to keys) though that is a bit cumbersome. Steam is the reason I chose a controller as the main interaction device as it works perfectly with both Kodi and Steam.

The specific controller – the Logitech F710 – hasn’t been completely free of problems, though. For one thing, the nuc’s aluminium case plays havoc with the wireless receiver, so I had to put it on the end of a USB extension cord. And the fact that it is a third party controller means that I have had compatibility problems both with versions of XBMC/Kodi (I skipped 14 “Helix” and went straight to the beta of 15 “Isengaard”) and with Steam games (Kentucky Route Zero). Other than that it seems like a perfectly decent piece of hardware.

So what kind of games does it run? The answer is surprisingly many, considering the limitations we’re putting on it: Linux, controller support, integrated graphics friendly. A review of the fifth generation nucs on Toms Guide suggests using the i7 model for ‘light gaming’. I suspect that to that way of thinking ‘gaming’ is 3D by definition. Anyway, this was the i3 model sporting Intel HD Graphics 5500, not the i7 with its fancy Iris Graphics 6100, so I was not overly confident. Nevertheless, I was saddened to find that Euro Truck Simulator 2 was off limits, at least without cutting a lot of graphics corners. I had hoped to while away a few late evenings, driving through Europe from the comfort of my couch. And I didn’t even think of installing Borderlands 2 even though people report decent results on Intel graphics. That still leaves a lot of interesting indie titles, including a few 3D games, like Tower of Guns and Ziggurat both of which seem to be running smoothly. Even more surprising is the fact that the decidedly desktoppy XCOM Enemy Within can not only be played using a controller but also runs quite nicely on the nuc. And The Crypt of the Necrodancer works well with a controller but has me considering investing in a DDR dance pad for my living room.

What it boils down to is this: If you like indie platformers and old/minimalist/artsy FPSes (say a Half-Life 2 or Heavy Bullets) the nuc has you covered. You get a smattering of other genres – story telling, tactical, adventure – too, but these are the spice and the platformers the meat. Nevertheless, it has come to the point that even within this narrow subset of my games library, I now have a pile of shame.

I mentioned big draws like Psychonauts – which I would play on any device anywhere – and FEZ but the surprise hit of the nuc’s gaming universe has been Proteus. I’ve played the cheery LSD trip simulator before on laptops and desktops but it comes into it’s own on the big screen. Just before heading to bed, I spend five to ten minutes just running around the island. I chase chickens. I climb hills. I watch the sun go down. And I feel wonderfully calm and preprared for sleep in a way that desktop gaming could never make me feel.

Desktop gaming is tense and strategic. TV/couch gaming is more relaxed and atmospheric. As a person who has never owned a console, I’m beginning to see the attraction. Especially as I do not have to own a console but a tiny computer that is always on anyway and runs linux. Think of it as having a PlayStation 2(.5) that doesn’t take up any space or is controlled by Sony. It’s not a replacement for a PS4 but you’ll have to game exceedingly hard to run out of entertainment options as long as you like indie stuff. People may dismiss dedicated Steam machines but I’m very grateful to Valve for allowing me to use my server as a sideshow Steam machine. And with the Steam controller soon on the market, the options will only expand. I suspect that in a few years time living room gaming will be virtually synonymous with VR but for now, this suits me just fine.

Web server

The old Atom-powered server ran a fairly standard LEMP setup. LEMP rather than LAMP, because I sensed that it might be a little underpowered for Apache. I have essentially just copy-pasted the old Nginx-WordPress install (okay, installed nginx, php and mysql, reworked the old nginx configuration into the new one and literally copied over all the WordPress stuff except the database which was dumped and imported into the new MySQL server) and it works. Do I notice a speed bump? Yes, a moderate one most prominent in WordPress. admin. But then I have also dedicated time and effort into adopting PageSpeed Insights suggestions. Does the nuc work as a web server? Definitely yes. Of course, my site hardly gets swamped by traffic so I can’t say what happens when you start getting visitors for real. But as a personal blog/WordPress host it’s excellent, if anything it’s probably overpowered if you don’t use it for other things as well.

Personal Cloud Server

I run Subsonic, TT-RSS, Syncthing, and a number of other private cloud apps. And they also ran on the old server. Are they more snappy now? Yes, just like WordPress is. There were limitations with the old hardware. Owncloud groaned and struggled. Subsonic could reencode music on the fly but not HD video. The nuc handles all Subsonic tasks easily. As for Owncloud I have no doubt that it will be a  much better experience this time around, especially with PHP 7 around the corner. But the fact that these things mostly worked and worked well was a large part of the reason, I had difficulty justifying the upgrade.

Look and feel and operation

Admission: The first few days after I set up the nuc, I patted it affectionately when I went to bed. I would smile and my eyes would go slightly misty. So in case you couldn’t tell, I absolutely love my little aluminium lunchbox. I went out and bought new ethernet cables because I wanted something nice and pretty, not old and wrinkled to go with my new box. It is not a design marvel, the way some Apple products want you to think of them, but it is a piece that radiates quality in build and look. It feels solid and it has a nice weight to it. I have no doubt that it will still be with me five years from now, in one form or another. The fan gives off a slight purr but I have to put my ear down to within two metres to actively pick it up. And even so it is a purr, not a whine. The old box is always warm, tending towards hot. The nuc is never hot and only gets warm after a protracted gaming session. I strongly suspect that a lot fewer kilowatts are being blown.

No, the CDs don’t have anywhere to go anymore. But they do pretty up the place more than a stash of hard drives.

Conclusion

So did I need new hardware or could I have gone on relying on recycled old desktop junk? I don’t know if Kodi could have run at all or as smoothly on the old server. Some people seem to run it on Raspberry Pis which I suppose means that it will run on a matchbox. Measured on pure performance, probably only the gaming aspect really justifies the purchase, though that is debatable as well; what are really the system requirements of The Binding of Isaac: Rebirth? On the other hand many small to moderate improvements in performance, coupled with the look and feel factor, does go a long way. But there is something else going on here as well.

In my last piece I described the way I thought about my old server:

It was like a storage container: You open it, you throw stuff in, you close it. Nobody cares about whether a storage container is stylish or ugly.

That is the sense I was hoping to abolish with this new server. Because when you use a server to hold so much that is important to you and your daily life – writing, pictures, video, adresses, email – it is important that you feel you can depend on it. That it is more than just a junk box. The nuc feels like a proper allround digital home and that’s why the money is well spent.

3 Comments

Nice. I’m thinking of getting an i3 NUC too, maybe the Skylake one (NUC6i3SYK) for the same scenario: HTPC with Kodi, Web Server (maybe with Apache + FPM) and maybe some light couch gaming using a controller.
I’m currently using a Raspberry Pi 2 with Kodi and another

Have you tried using Steam in-home streaming, for those games that aren’t still available on GNU/Linux?

I have and it hasn’t been a huge success but I’m pretty sure the bottleneck is the host machine’s (a work windows laptop) ability to encode the stream while also rendering the frames. If you have a powerful windows machine and ethernet connections all the way from host to client, I can’t see why 1080p gaming shouldn’t be entirely possible on your setup. Good luck with it.

I am currently using a laptop with broken screen to run my things, and just bought a second hand 5th gen i3 NUC. I will use it as a web server, torrent server, test Oracle DB server, Kodi, and possibly Plex server. Then I came across this article. Very nice read, thanks so much.

Leave a Reply

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