Graphics drivers for Intel NUC Hades Canyon NUC8i7HVK (AMD Radeon RX Vega GH)

I know this is a commonly asked question, but I am having trouble with this..

I am running Ubuntu 18.04. I have had to use nomodeset parameters in grub on boot to have boot correctly.

uname -mrs

Linux 4.15.0-23-generic x86_64

lspci | grep VGA

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega [Radeon RX Vega M] (rev c0)

Running ubuntu drivers devices gives no results

lshw -c video

  *-display UNCLAIMED       
   description: VGA compatible controller
   product: Advanced Micro Devices, Inc. [AMD/ATI]
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: [email protected]:01:00.0
   version: c0
   width: 64 bits
   clock: 33MHz
   capabilities: pm pciexpress msi vga_controller bus_master cap_list
   configuration: latency=0
   resources: memory:90000000-9fffffff memory:a0000000-a01fffff ioport:e000(size=256) memory:db500000-db53ffff memory:c0000-dffff

   *-display UNCLAIMED
   description: Display controller
   product: Intel Corporation
   vendor: Intel Corporation
   physical id: 2
   bus info: [email protected]:00:02.0
   version: 04
   width: 64 bits
   clock: 33MHz
   capabilities: pciexpress msi pm cap_list
   configuration: latency=0
   resources: iomemory:2f0-2ef iomemory:2f0-2ef memory:2ffe000000-2ffeffffff memory:2fa0000000-2fafffffff ioport:f000(size=64)

I tried adding amdgpu.dc=1 to boot params but doesn’t change anything.

glmark2

=======================================================                                                
glmark2 2014.03+git20150611.fa71af2d                                                               
=======================================================
OpenGL Information
GL_VENDOR:     VMware, Inc.
GL_RENDERER:   llvmpipe (LLVM 6.0, 256 bits)
GL_VERSION:    3.0 Mesa 18.0.0-rc5

— EDIT —

Upgraded to kernel 4.16 and no changes, although running glmark2 is less intensive on the CPU

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

Update: I posted a writeup at
https://ubuntuforums.org/showthread.php?t=2400400
with the instructions updated for 4.19-rc2.

Here’s my original answer:

Here’s what I did to get it working today on ubuntu 18.04 (from memory, probably with typos):

a) Install latest mesa from https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers

b) Followed https://wiki.ubuntu.com/Kernel/MainlineBuilds
using http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2018-06-08/

i.e.:

$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2018-06-08/linux-modules-4.17.0-999-generic_4.17.0-999.201806080237_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2018-06-08/linux-image-unsigned-4.17.0-999-generic_4.17.0-999.201806080237_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2018-06-08/linux-headers-4.17.0-999-generic_4.17.0-999.201806080237_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2018-06-08/linux-headers-4.17.0-999_4.17.0-999.201806080237_all.deb
$ sudo dpkg -i linux*201806080237*.deb

c) Rebooted and noticed error in /var/log/kern.log about no firmware, so installed that:

$ wget -m -np https://people.freedesktop.org/~agd5f/radeon_ucode/vegam/
$ sudo cp people.freedesktop.org/~agd5f/radeon_ucode/vegam/*.bin /lib/firmware/amdgpu
$ sudo /usr/sbin/update-initramfs -u -k all

and rebooted.

And it worked. Having a working ssh connection to the machine made recovering from mistakes and black screens a lot easier.

A couple of odd glitches (fishgl.com’s fish stopped moving once, and I got a crazy high result for furmark once), but it’s been up and relatively snappy for at least half an hour now 🙂

glxinfo reports

OpenGL renderer string: AMD VEGAM (DRM 3.26.0, 4.17.0-999-generic, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.0-devel
OpenGL version string: 3.1 Mesa 18.2.0-devel

glmark2 reports a score of 10698 (vs. 2571 on i7-6700 with HD Graphics 530, and 2770 on Skull Canyon live ubuntu 18.04)

furmark 0.7 from pts8 reports 1718 at 1920×1080.

Your mileage may vary. Your machine may explode. Good luck!

Solution 2

The answer to this questsion is as follows:

a) You need ucode files not existing in Ubuntu 18.04, namely those: https://people.freedesktop.org/~agd5f/radeon_ucode/vegam/ – they need to go to /lib/firmware/amdgpu

b) You need a kernel that includes vega m patches. Those are currently pending to be including into drm-next. Hopefully they make it into kernel 4.18. If you build from source, here you go: https://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-4.18-wip – you can use kernel-package to build it (make-kpkg …) When you install kernel and updated firmware, make sure to run sudo update-initramfs -u

c) I suggest using mesa 18.1 or later. Paulo has that version in his ppa: https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/pkppa

On the hades canyon NUC at hand we disabled the Intel-GPU in Bios. After above steps everything was working – including hevc-10 bit decoding via vaapi.

Solution 3

Here’s a possible updated recipe, no promises:

sudo add-apt-repository ppa:ubuntu-x-swat/updates
sudo apt dist-upgrade        # pulls new mesa from above ppa
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc5/linux-headers-4.18.0-041800rc5_4.18.0-041800rc5.201807152130_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc5/linux-headers-4.18.0-041800rc5-generic_4.18.0-041800rc5.201807152130_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc5/linux-image-unsigned-4.18.0-041800rc5-generic_4.18.0-041800rc5.201807152130_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc5/linux-modules-4.18.0-041800rc5-generic_4.18.0-041800rc5.201807152130_amd64.deb
sudo dpkg -i linux-*.deb
wget -m -np https://people.freedesktop.org/~agd5f/radeon_ucode/vegam/
sudo cp people.freedesktop.org/~agd5f/radeon_ucode/vegam/*.bin /lib/firmware/amdgpu
sudo /usr/sbin/update-initramfs -u -k all

That black screens here when booting on the lower powered hades canyon (with the i7-8705g), but is said to work with the higher powered hades canyon (with the i7-8809g). You can use the grub menu to get back to the stock kernel.

Also, if you need to update the BIOS to 0044, see https://downloadcenter.intel.com/product/126141/Intel-NUC-Kit-NUC8i7HNK and https://www.intel.com/content/www/us/en/support/articles/000005636/mini-pcs.html

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply