Apollo Lake NUC Review (NUC6CAYH) 3/3: Linux, HTPC and Conclusions
Allright, in the last part of this article I’m going to try Ubuntu Linux on the NUC6CAYH and see how well it works as a HTPC before concluding the review. If you came here via a search engine or a direct link, don’t miss the earlier parts of the review.
- Part 1: Hardware Overview
- Part 2: Performance and Benchmark Results
- Part 3: NUC6CAYH as a HTPC and Conclusions
Ubuntu Linux on NUC6CAYH
I downloaded Ubuntu Linux 16.04.1 Desktop and set to install it from a USB stick. It seems that the installer did not find the wifi adapter so I plugged in a cable to the Ethernet port. This way the installer can download updates already during the installation procedure. The system booted up just fine (see boot log here), but I noticed there were some distortions on the screen especially when scrolling text in a browser or terminal window. I also noticed the following error in the boot log:
[ 1.923670] [drm] Refusing to load old DMC firmware v1.6, please upgrade to v1.7 or later [https://01.org/linuxgraphics/intel-linux-graphics-firmwares]. [ 1.923679] i915_bpo 0000:00:02.0: Failed to load DMC firmware [https://01.org/linuxgraphics/intel-linux-graphics-firmwares], disabling runtime power management.
So I downloaded the DMC firmware 1.07 from the link given in the error message and installed it according to the instruction on that page (you need to get the Broxton firmware from that page).
tar xf bxtdmcver107.tar.bz2 cd bxt_dmc_ver1_07 sudo bash ./install.sh --install
Also performed “sudo apt update && sudo apt dist-upgrade” and finally rebooted the system. The distortions were gone after this.
I could not get the wifi adapter working though. It seems the kernel 4.4 in Ubuntu 16.04 does not include the driver for the Intel Wireless-AC 3168 adapter in the NUC. You’ll need to update the kernel to 4.6 or newer. In addition you’ll need to place the iwlwifi-3168-22.ucode in the /lib/firmware directory. One source to get the ucode file is here.
Other than those issues it seemed to work just fine. Even the Bluetooth adapter was working fine, even if the wifi did not. I think it’s safe to assume that both of these issues will be sorted out in the coming releases and it should work out-of-the-box.
NUC6CAYH as a HTPC
The Apollo Lake NUC should make a terrific HTPC due to a couple of reasons. Low cost, adequate performance, small size and quietness are just a few of them. In addition it has a HDMI 2.0 interface (needed for 4k at 60 Hz) and it features full hardware decoding of H.264 and HEVC video even at 4k resolutions @60 Hz refresh rate. Even 10-bit HEVC video decoding is supported by the hardware. VP9 hardware decoding is also included, but unlike the coming Kaby Lake chips the decoding is only supported up to 8 bits.
The Apollo Lake SoC does not support HDMI 2.0 natively, but instead Intel has added a LSPCon that will convert the DisplayPort signal to HDMI 2.0. According to the spec sheet for the MegaChips LSPCon that is used in this NUC the chip should also be able to support High Dynamic Range (HDR). Unfortunately I don’t have a 4k HDR television that I could use to test this.
Windows HTPC Credentials
The NUC6CAYH supports HEVC 10-bit decoding even at 4k resolutions. This is a big plus as 10-bit HEVC content seems to get more and more common. It’s worth noting that that is the format chosen for the 4k Bluray as well.
The previous Celeron NUCs had some issues with the HD audio pass-through in Windows (finally fixed!) even if it was just fine in Linux. In that sense this NUC should be a bit better. The driver provides a correct list of supported audio formats:
And when configuring MPC-HC (or Kodi) to pass through the audio stream to the AVR it correctly shows the format of the stream.
However, with the current driver I only got DTS and Dolby Digital 5.1 working! Dolby TrueHD and DTS-HD streams did not work and my AVR told that the stream format was unknown. I’ve been discussing this with the Intel guys and it works just fine for one of their engineers (he even sent me a video showing me that 🙂 ). I’ll update the article as soon as the situation changes in any way.
The initial versions of the device are shipping with LSPCon firmware 1.56 that has a fault when it comes to passthrough of more advanced audio formats such as Dolby TrueHD and DTS-HD. These formats do not work if you have a HDMI 2.0 capable receiver. After upgrading the firmware to 1.66 these do work just fine. Download the update here, read the installation instruction carefully and run the LSPCon firmware update. The update tool works only in Windows though and you need to have a HDMI 2.0 capable amp or TV connected to your NUC while doing the update!
I installed LibreELEC 7.90.009 Alpha version on the NUC and to my surprise most of the things were working straight away, including the wifi adapter. However, the latest stable Kodi version on Linux does not support 10-bit HEVC decoding yet, but the support exists in development versions already. However, the HD audio passthrough did not seem to work for anything fancier than Dolby Digital or DTS. It seems this is a known problem with the Intel GPU drivers. I would expect it to be solved in the nearby future as well.
So basically the audio bitstreaming failure is the only thing that is currently holding me back from turning this box into my perfect living room HTPC. Other points on my checklist pass with flying colours:
- 23.976 Hz refresh rate is properly supported
- It decodes H.264 and HEVC at high bit rates (even 4k@60Hz)
- It can do motion-compensated deinterlacing for SD and HD resolutions
I’ll keep following the HD audio bug report and update this article as soon as the situation changes.
EDIT (25 September 2017): Intel has finally found the bug and the HD audio passthrough works in Linux with this NUC.
This NUC features better HDMI-CEC support than any other NUC until this day. HDMI CEC stands for HDMI Consumer Electronics Control and is an HDMI feature many TVs and peripherals have. This feature makes your devices work better together. For example, it can automatically turn off your TV when you turn off your HDMI CEC-enabled DVD player.
In the BIOS you have the possibility to configure the behaviour when it comes to the HDMI CEC. Personally I was happy to see my TV switching on and selecting the correct HDMI input automatically when I powered on the NUC.
Next to the memory slot there’s a HDMI CEC header on the mainboard. This can be used if you need more evolved HDMI CEC support. With the Pulse Eight HDMI-CEC adapter inside your NUC you can use just your TV’s remote to control the NUC – no need for an additional remote on the sofa table.
Compared to the previous generation low-cost NUC Intel has managed to cram in more functionality again:
- Significantly more powerful CPU and GPU
- HDMI 2.0 port for 4k support
- Improved fan handling
- Integrated microphone
- HDMI-CEC functionality and HDMI-CEC header
I was positively surprised when it came to the performance of the NUC, both in the benchmarks and in practical use. It was responsive and felt fast enought for basic desktop work in Windows 10. It’s also great to finally have full support for HEVC decoding. This makes the NUC a good HTPC candidate.
However, in Linux the drivers are currently having issues with the passthrough of DTS-X and Dolby TrueHD audio formats.
If you’re interested in one, our resident guru, the NUC Guru can assist you in choosing the parts that will work nicely together and give you a shopping list with exact items to buy. There are also some suggested setups below.