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

17,809

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 1920x1080.

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

Share:
17,809

Related videos on Youtube

Kennedy Baird
Author by

Kennedy Baird

Updated on September 18, 2022

Comments

  • Kennedy Baird
    Kennedy Baird almost 2 years

    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: pci@0000: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: pci@0000: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

    • dgh
      dgh about 6 years
      I'm going through this exact same process for Ubuntu 18.04 on mine and seeing the same results. Also tried installing the proprietary drivers (AMD says they're for 16.04) without luck. A fresh Fedora 28 install (skip the nomodeset dance) also only has llvmpipe.
  • kalmiya
    kalmiya about 6 years
    If you added the 'nomodeset' you also have to remove that again. When running vulkaninfo, I'm getting an VK_ERROR_INCOMPATIBLE_DRIVER.. does that work for you ? Also colors on VLC when playing a movie appear to be broken.
  • Kennedy Baird
    Kennedy Baird about 6 years
    Built kernel successfully, two problems: 1) the graphics is super laggy at login screen 2) glmark2 still shows using llvmpipe
  • Kennedy Baird
    Kennedy Baird about 6 years
    From a fresh install this worked perfectly.
  • Kennedy Baird
    Kennedy Baird about 6 years
    Warning, upgrading to kernel 4.17.1-041701-generic reverts the graphics back to llvmpipe. Any thoughts? I tried running update-initramfs again but no change.
  • mikabytes
    mikabytes about 6 years
    Step A today (June 13) makes my fresh install unable to boot. After having removed those packages I can now boot but login screen is laggy like hell. Output from glxinfo | grep OpenGL yields OpenGL vendor string: VMware, Inc. OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
  • user1539692
    user1539692 about 6 years
    Thanks for the warning about updating. I knew there was a reason I didn't do 'sudo apt dist-upgrade' on that box :-)
  • user1539692
    user1539692 about 6 years
    To revert step A, see the oibaf ppa readme, e.g.: $ sudo apt-get install ppa-purge; sudo ppa-purge ppa:oibaf/graphics-drivers
  • Kennedy Baird
    Kennedy Baird about 6 years
    Any idea on the kernel update @user1539692. Why would kernel update reset the driver interaction?
  • user1539692
    user1539692 about 6 years
    I think 4.17.1-41701 may be way 'older' than 4.17.0-999, despite the date, in that it's a 4.17 kernel. The -999 suffix indicates it's a prerelease for the next kernel, i.e. 4.18. If you want to update, do so from a recent kernel.ubuntu.com/~kernel-ppa/mainline/daily, at least until 4.18 is released.
  • Kennedy Baird
    Kennedy Baird almost 6 years
    I've been upgrading my Kernel every now and then, what do you think is better about the ubuntu-x mesa over the oibaf drivers? Are you noticing better performance? Doing these steps should we remove the oibaf mesa?
  • napramirez
    napramirez almost 6 years
    This worked for me. I also repeated it with kernel 4.18-rc6 with success. My only remaining graphical issue with my NUC8i7HNK is that it fails to resume after suspend (graphics are garbled and there seems to be no way to recover except for a hard reboot via the power switch).
  • napramirez
    napramirez almost 6 years
    The suspend issue (mentioned in my previous comment) is resolved when updating the above instructions to use 4.19-rc1. It can be found at kernel.ubuntu.com/~kernel-ppa/mainline/v4.19-rc1
  • Passiday
    Passiday over 5 years
    Tried about five various kernel versions, OpenGL renderer still llvmpipe. Any idea how to detect where things go wrong? Ie, log message etc.