Thursday, 7 December 2017

Using a NUC as a HTPC

So I have been having a play with a NUC as a HTPC. It looks like it could be a good replacement for the AMD E350 I am currently using to play movies and do a few unrelated things in my bedroom.

The main issue with the NUC is getting Linux support for its hardware. So I chose to test it with Xubuntu because Intel specifically supports only a few distros (Ubuntu and Fedora particularly) for hardware. This makes it easier to get the drivers needed (there is a wireless and bluetooth card built into the one I am testing, the NUC6CAYH which can have one 2.5" laptop HDD and up to 8 GB of RAM installed).

There have been issues in the past with EFI support for NUCs. Suffice it to say I couldn't get Debian to boot on the NUC. But the installer for Xubuntu was able to do the EFI install properly. It is the first time I have set up a computer by choice as an EFI installation, which requires a new skill set - a separate 300MB FAT32 partition is required specifically for this function. The system restarted just fine - it looks like the Xubuntu installer puts the required files into the folder to be compatible with what the NUC expects to find on startup.

The messy part was updating the NUC's firmware - the update tool provided by Intel only works on Windows 10 x64, so I have had to install that first, then run the updater, to ensure it has all the updates needed. After that I took Windows off to install (firstly) Debian, which couldn't boot as the Bios wouldn't recognise it. At that point I did some checking for compatibility issues and decided to go with Xubuntu and using the UEFI boot. 

Out of the box it looks like most hardware is OK - it recognises the wireless card, and possibly Bluetooth will work, which will be interesting. I used to use Bluetooth on mainpc to transfer photos and files to my phone when I wanted to post on Instagram or something like that. It was flaky however and I haven't bothered with it since reinstalling some considerable time ago - possibly Debian doesn't have the driver stack installed by default - because I started using Google Drive to transfer stuff instead. I can't think of any particular reason to use Bluetooth with a HTPC so it probably isn't that big a deal. It would only be useful if I could use it to play music from a phone to the HTPC's speakers and I am pretty sure that is not possible.


Their claim to fame is to be a very small package - smaller than a Mini-ITX, which is partly achieved by having sideways memory sockets, eliminating any slots on the board, and having only a single SATA port and limited other headers etc. Another part of it is that the CPU which is a Celeron J3455 quad core, is mounted directly onto the mainboard without a socket, and because it has a very small TDP of only 10 watts maximum, the fan needed can be quite small as well. In fact it is possible in the Bios to configure the system to turn the fan off when it isn't needed, and in truth I have never noticed the fan running, it must be very quiet.

The system has four USB ports, VGA, HDMI, SD card reader and two sound connectors one of which doubles as an optical and analogue output. It comes with a universal power adapter with different plug heads so you just clip on the plug head that fits your local mains socket. It comes with a VESA mounting plate which as we all know can be used just as a general wall mount or whatever. The system uses an Intel visual bios which has the annoying habit of not recognising the Logitech multimedia keyboard I use properly - specifically its function keys, so I have had to plug in a corded keyboard to change the Bios settings.

So now I am using Xubuntu again - this doesn't mean I have any intention of switching any more computers back to it (especially since mediapc was upgraded to Debian recently) - it is just easier on the NUC because of better hardware support. Debian would tell you on startup about a pile of missing firmware files in the Linux kernel - Ubuntu has installed all the right files itself so it just works without all the error messages.