Intel NUC 5th gen NUC5i5RYH / NUC5i5RYK and Ubuntu 14.04 with 4k display

March 15th, 2016 by bostjan

UPDATE2 @ 2016-09-04: Late to notice it, but Intel has apparently fixed the Skylake (6gen) NUC problems. See here for more details: https://communities.intel.com/docs/DOC-110236. This makes choosing 5gen NUC over 6gen kinda pointless, especially if you are running VMs – 32GB memory makes running VMs a lot smoother than 16GB, which is a memory limit on 5gen. I have NOT tested 6gen NUCs, though.

UPDATE: Ignore everything below and just use Ubuntu 16.04 and enjoy your free time. Tested with 16.04 prerelease (whatever was in apt repos on 2016-04-09).

Prologue

I bought 40 inch 4K Philips BDM4065UC display and I was left with the question: “What would drive this 4K/60Hz beast?”

MacBook Air I have is 2014 model so 4K is doable, but only at 30Hz. Silent fanless desktop i3-3xxx box with some random MSI board is only capable of 1920×1080 resolution, utter cr@p. I remembered that somewhere it lies, still unopened, since being too late to the bitcoin-mining party, some Radeon 7850 card. Found it, installed it, and lo-and-behold 4K @ 60Hz. Aaaaand my silent passive box was not silent anymore. It worked, but Radeon drivers are just a large pile of stinking cr@p (random screen flicker, fans too loud). There must be something better, I thought.

To be perfectly sincere, I had my eyes on NUC all along, but 4K was here first. Initially I was aiming at 6th generation of Intel NUC (Skylake) for the sole reason of max 32GB memory compared to 16GB in gen5, but after reading many reports of failed gen6 specimens and driver issues I went with 5th generation that looked promising on the internets. It mostly worked out of the box, but a few tweaks were necessary to make it really enjoyable in the end.

Video performance

Intel NUC NUC5i5RYH has soldered-on Intel Core I5-5250U processor, which has been released in Q1 2015. Ubuntu 14.04 comes with Linux kernel version 3.13 by default, which is fairly old from current kernel development speed’s perspective and was initially released in Q1 2014, whole year before the processor.

Now I know that Canonical does its best at maintaining old kernel and keeping it bug free, but they most certainly do not port back all improvements from current kernels, including video drivers for GPUs embeded in Intel processors.

So, to get the best video performance, I upgraded Ubuntu 14.04 to 4.4.1 Linux kernel by following these instrucitons.

Result? Well, you have to see it to believe it, but it is a VERY impressive improvement.

VirtualBox DKMS build problem

Once kernel is upgraded, VirtualBox kernel module (driver:) fails to rebuild as newer kernel is built with GCC 4.9+ and Ubuntu 14.04 comes with GCC 4.8.x. The actual GCC error is unrecognized command line option ‘-fstack-protector-strong’, as this option was first implemented in GCC v4.9+.

In order to make all this work again, you have to:

  1. install GCC 4.9+
  2. make sure GCC 4.9+ is the default compiler (I had to manually fix symlinks /usr/bin/gcc and g++
  3. reinstall the kernel to trigger module rebuild

URIs where you can find solutions step by step are available here, here and here.

Confession of a lazy sysadmin

I admit this post has been written a week after I have completed the procedure and without NUC at hand ATM, and I have no desire to repeat it once more (eagerly awaiting for Ubuntu 16.04 which I expect would do all this for me by just presenting itself).

What’s next?

Since I am not a heavy desktop user (in terms of expected computer performance), I will never buy anything larger than NUC again. I am waiting for passive case to arrive later this week to make my office silent again. If more performance than what NUC provides is needed (in my case probably for virtualization and/or containerization), heavy-duty systems need to be either rented or installed in some distant data center where no one can hear them scream.


Leave a Reply

*