9 Replies Latest reply on Nov 5, 2016 6:07 AM by ankay

    amdpro-gpu rx 460 support missing?

    ankay

      Hello there!

       

      Just tried to install the latest amdgpu-pro (beta?) driver on a completely fresh ubuntu 16.04 installation. The setup itself seems to work, but it does not recognize the GPU and opencl does not work. I re-installed the driver and rebooted every time, but the result is the same each time.

       

      Some infos from the current state:

       

      $ dpkg -l amdgpu-pro

      Desired=Unknown/Install/Remove/Purge/Hold

      | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

      |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

      ||/ Name                    Version          Architecture     Description

      +++-=======================-================-================-===================================================

      ii  amdgpu-pro              16.30.3-315407   amd64            This package install all amdgpu-pro components.

       

      $ clinfo

      No protocol specified

      Number of platforms:                             1

        Platform Profile:                              FULL_PROFILE

        Platform Version:                              OpenCL 2.0 AMD-APP (2117.7)

        Platform Name:                                 AMD Accelerated Parallel Processing

        Platform Vendor:                               Advanced Micro Devices, Inc.

        Platform Extensions:                           cl_khr_icd cl_amd_event_callback cl_amd_offline_devices

       

       

        Platform Name:                                 AMD Accelerated Parallel Processing

      ERROR: clGetDeviceIDs(-1)

       

      $ uname -r

      4.4.0-31-generic

       

      $ lsb_release -a

      No LSB modules are available.

      Distributor ID: Ubuntu

      Description:    Ubuntu 16.04.1 LTS

      Release:        16.04

      Codename:       xenial

       

      $ lspci | grep VGA

      02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67ef (rev cf)

       

      Everything else is uptodate and updated.

       

      Is the RX 460 unsupported by the 16.30.3-315407 driver? No Name for that Device shows up there. Just the Device ID of 67ef.

        • Re: amdpro-gpu rx 460 support missing?
          ankay

          I may have found a clue. Not sure if that is the whole explanation.

           

           

          This site states the Support exists for RX 460, and also requires Ubuntu 14.04 or 16.04: AMDGPU-PRO Driver for Linux® – Release Notes

          The AMD Product Family Compatibility lists all the RX cards as compatible.

           

           

          But then I came across a comment, that stated that all RX cards are only supported since kernel 4.7: Cinnamon (2.8 & 3.0) break using amdgpu-pro with RX460 · Issue #5698 · linuxmint/Cinnamon · GitHub

           

           

          That also is noted here: amdgpu - Gentoo Wiki

           

           

          So if that's the case, I wonder which version of ubuntu 14.04 or 16.04 works with that card, if at all and why that important information is missing from the AMD Driver Download page, as of now. As only ubuntu seems to be the supported Linux Version, I wonder how to get the RX into a working state with ubuntu 16.04.

           

           

          On the other hand I also found sites, which kind of showed, that it should work, which gave me some hope, but only may be correct for pre RX cards, as it seems: Trying The New AMD GPU-PRO Linux Driver On Ubuntu With Vulkan, OpenCL & OpenGL - Phoronix

            • Re: amdpro-gpu rx 460 support missing?
              ankay

              No success with kernel 4.7. The driver fails to build. So actually the RX 460, RX 470 and RX 480 really are not supported.

               

              Setting up amdgpu-pro-libopencl-dev:i386 (16.30.3-315407) ...

              Setting up amdgpu-pro-computing (16.30.3-315407) ...

              Setting up amdgpu-pro (16.30.3-315407) ...

              Setting up amdgpu-pro-dkms (16.30.3-315407) ...

              Loading new amdgpu-pro-16.30.3-315407 DKMS files...

              First Installation: checking all kernels...

              Building only for 4.7.10-040710-generic

              Building for architecture x86_64

              Building initial module for 4.7.10-040710-generic

              ERROR (dkms apport): kernel package linux-headers-4.7.10-040710-generic is not supported

              Error! Bad return status for module build on kernel: 4.7.10-040710-generic (x86_64)

              Consult /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/make.log for more information.

              update-initramfs: deferring update (trigger activated)

              Setting up amdgpu-pro-lib32:i386 (16.30.3-315407) ...

              Processing triggers for libc-bin (2.23-0ubuntu3) ...

              Processing triggers for initramfs-tools (0.122ubuntu8.1) ...

              update-initramfs: Generating /boot/initrd.img-4.7.10-040710-generic

               

               

              Logfile:

               

              DKMS make.log for amdgpu-pro-16.30.3-315407 for kernel 4.7.10-040710-generic (x86_64)

               

              make: Entering directory '/usr/src/linux-headers-4.7.10-040710-generic'

                LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/built-in.o

                LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/built-in.o

                CC [M]  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o

              In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9:0,

                               from <command-line>:0:

              /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h: In function ‘kcl_ttm_bo_reserve’:

              /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:88:9: error: too many arguments to function ‘ttm_bo_reserve’

                return ttm_bo_reserve(bo, interruptible, no_wait, false, ticket);

                       ^

              In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:6:0,

                               from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9,

                               from <command-line>:0:

              include/drm/ttm/ttm_bo_driver.h:858:19: note: declared here

              static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,

                                 ^

              scripts/Makefile.build:289: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o' failed

              make[2]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o] Error 1

              scripts/Makefile.build:440: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu' failed

              make[1]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu] Error 2

              Makefile:1464: recipe for target '_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build' failed

              make: *** [_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build] Error 2

              make: Leaving directory '/usr/src/linux-headers-4.7.10-040710-generic'

               

            • Re: amdpro-gpu rx 460 support missing?
              middy

              AMDGPU-PRO Radeon RX 460/470/480 vs. NVIDIA Linux GPU Benchmarks - Phoronix

              18-Way GPU Linux Benchmarks, Including The Radeon RX 460 & RX 470 On Open-Source - Phoronix

               

              it should work... have you tried kernel 4.8?

               

              edit:

              here's arch linux aur package for it and some people where having issues with the latest version compiling with kernel 4.8. seems to be working with 4.9.

              https://aur.archlinux.org/packages/amdgpu-pro-graphics/

                • Re: amdpro-gpu rx 460 support missing?
                  ankay

                  Thank you. Well, the Phoronix Link suggests, that it should work with Kernel 4.4 also. EDIT: (as seen in the benchmark system table)

                  EDIT: but here the Phoronix Admin states, he used a 4.8 Kernel, not the 4.4: 18-Way GPU Linux Benchmarks, Including The Radeon RX 460 & RX 470 On Open-Source - Phoronix Forums

                   

                  Anyways, I might try the latest 4.9.rc kernel but I tried it already with kernel 4.8.5, but (almost) the same compile error occurs there. Might just need a small patch, but don't know what to do yet:

                   

                  DKMS make.log for amdgpu-pro-16.30.3-315407 for kernel 4.8.5-040805-generic (x86_64)

                   

                  make: Entering directory '/usr/src/linux-headers-4.8.5-040805-generic'

                    LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/built-in.o

                    LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/built-in.o

                    CC [M]  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o

                  <command-line>:0:18: error: invalid digit "8" in octal constant

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_drm.h:68:55: note: in expansion of macro ‘UBUNTU_BUILD_NUM’

                     && LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) && (UBUNTU_BUILD_NUM < 36)) \

                                                                         ^

                  In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9:0,

                                   from <command-line>:0:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h: In function ‘kcl_ttm_bo_reserve’:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:88:9: error: too many arguments to function ‘ttm_bo_reserve’

                    return ttm_bo_reserve(bo, interruptible, no_wait, false, ticket);

                           ^

                  In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:6:0,

                                   from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9,

                                   from <command-line>:0:

                  ./include/drm/ttm/ttm_bo_driver.h:863:19: note: declared here

                  static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,

                                     ^

                  scripts/Makefile.build:289: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o' failed

                  make[2]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o] Error 1

                  scripts/Makefile.build:440: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu' failed

                  make[1]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu] Error 2

                  Makefile:1477: recipe for target '_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build' failed

                  make: *** [_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build] Error 2

                  make: Leaving directory '/usr/src/linux-headers-4.8.5-040805-generic'

                  edit:

                  This is the build error for the latest kernel, with some new issues:

                   

                  DKMS make.log for amdgpu-pro-16.30.3-315407 for kernel 4.9.0-040900rc2-generic (x86_64)

                   

                  make: Entering directory '/usr/src/linux-headers-4.9.0-040900rc2-generic'

                    LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/built-in.o

                    LD      /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/built-in.o

                    CC [M]  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o

                  <command-line>:0:18: error: invalid digit "9" in octal constant

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_drm.h:68:55: note: in expansion of macro ‘UBUNTU_BUILD_NUM’

                     && LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) && (UBUNTU_BUILD_NUM < 36)) \

                                                                         ^

                  In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9:0,

                                   from <command-line>:0:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h: In function ‘kcl_ttm_bo_reserve’:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:88:9: error: too many arguments to function ‘ttm_bo_reserve’

                    return ttm_bo_reserve(bo, interruptible, no_wait, false, ticket);

                           ^

                  In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_ttm.h:6:0,

                                   from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:9,

                                   from <command-line>:0:

                  ./include/drm/ttm/ttm_bo_driver.h:861:19: note: declared here

                  static inline int ttm_bo_reserve(struct ttm_buffer_object *bo,

                                     ^

                  In file included from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu.h:54:0,

                                   from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/include/kcl/kcl_amdgpu.h:5,

                                   from /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../backport/backport.h:10,

                                   from <command-line>:0:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_object.h: In function ‘amdgpu_mem_type_to_domain’:

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_gds.h:34:24: error: ‘TTM_PL_PRIV0’ undeclared (first use in this function)

                  #define AMDGPU_PL_GDS  TTM_PL_PRIV0

                                          ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_object.h:49:7: note: in expansion of macro ‘AMDGPU_PL_GDS’

                    case AMDGPU_PL_GDS:

                         ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_gds.h:34:24: note: each undeclared identifier is reported only once for each function it appears in

                  #define AMDGPU_PL_GDS  TTM_PL_PRIV0

                                          ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_object.h:49:7: note: in expansion of macro ‘AMDGPU_PL_GDS’

                    case AMDGPU_PL_GDS:

                         ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_gds.h:35:24: error: ‘TTM_PL_PRIV1’ undeclared (first use in this function)

                  #define AMDGPU_PL_GWS  TTM_PL_PRIV1

                                          ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_object.h:51:7: note: in expansion of macro ‘AMDGPU_PL_GWS’

                    case AMDGPU_PL_GWS:

                         ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_gds.h:36:23: error: ‘TTM_PL_PRIV2’ undeclared (first use in this function)

                  #define AMDGPU_PL_OA  TTM_PL_PRIV2

                                         ^

                  /var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/../amdgpu/amdgpu_object.h:53:7: note: in expansion of macro ‘AMDGPU_PL_OA’

                    case AMDGPU_PL_OA:

                         ^

                  scripts/Makefile.build:290: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o' failed

                  make[2]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu/amdgpu_drv.o] Error 1

                  scripts/Makefile.build:475: recipe for target '/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu' failed

                  make[1]: *** [/var/lib/dkms/amdgpu-pro/16.30.3-315407/build/amd/amdgpu] Error 2

                  Makefile:1488: recipe for target '_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build' failed

                  make: *** [_module_/var/lib/dkms/amdgpu-pro/16.30.3-315407/build] Error 2

                  make: Leaving directory '/usr/src/linux-headers-4.9.0-040900rc2-generic'

                    • Re: amdpro-gpu rx 460 support missing?
                      ankay

                      I took one more go at it:

                       

                      Tried to use an older kernel (4.4.0-36) and the driver builds successfully but does not boot.

                       

                      So the at the moment the only combination that boots with existing built module is 4.4.0-45.

                       

                      Unity does not start up. Loops with crashes. So for me this driver does not work. There is no SecureBoot involved. Nothing that may prevent loading of that kernel module.

                       

                      I don't know where to find better infos, here are some details:

                       

                      $ dmesg |grep -e radeon -e drm -e amdgpu

                      [    1.807614] [drm] Initialized drm 1.1.0 20060810

                      [    1.828907] amdgpu: module verification failed: signature and/or required key missing - tainting kernel

                      [    1.834539] [drm:amdgpu_init [amdgpu]] *ERROR* VGACON disables amdgpu kernel modesetting.

                       

                       

                      $ lsmod | grep amdgpu

                      # nothing there

                       

                       

                      $ sudo modprobe amdgpu -v

                      insmod /lib/modules/4.4.0-45-generic/updates/dkms/amdgpu.ko

                      modprobe: ERROR: could not insert 'amdgpu': Invalid argument

                       

                       

                      $ sudo insmod /lib/modules/4.4.0-45-generic/updates/dkms/amdgpu.ko

                      insmod: ERROR: could not insert module /lib/modules/4.4.0-45-generic/updates/dkms/amdgpu.ko: Invalid parameters

                       

                      sudo 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:02:00.0

                             version: cf

                             width: 64 bits

                             clock: 33MHz

                             capabilities: pm pciexpress msi vga_controller bus_master cap_list

                             configuration: latency=0

                             resources: memory:c0000000-cfffffff memory:dee00000-deffffff ioport:e800(size=256) memory:dffc0000-dfffffff memory:dffa0000-dffbffff

                        • Re: amdpro-gpu rx 460 support missing?
                          ankay

                          A new driver appeared today on the driver page for ubuntu and RHEL. I tried the newer version for ubuntu, but that also does not work.

                          $ uname -r

                          4.4.0-45-generic

                           

                          $ dpkg -l amdgpu-pro

                          Desired=Unknown/Install/Remove/Purge/Hold

                          | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

                          |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)

                          ||/ Name                    Version          Architecture     Description

                          +++-=======================-================-================-===================================================

                          ii  amdgpu-pro              16.40-348864     amd64            Meta package to install amdgpu Pro components.

                           

                          All the same problems. Unity does not even start. Returns right back to lightdm.

                            • Re: amdpro-gpu rx 460 support missing?
                              ankay

                              Because no pre-built package works for me i tried building the latest kernel with amdgpu features enabled and including the polaris11 firmware files.

                              I took that as a guideline: Getting The RX 480 Running With AMDGPU on Linux

                              Notable differences: I went with the latest kernel from torvalds 4.9.0-rc3+, and i also included all polaris11 bin files besides the polaris10 files.

                               

                              Results:

                              When built as Module the driver itself again fails to build the dkms module.

                              When including the polaris11 firmware files from the latest driver into the kernel, not building a module, it still does not work.

                               

                              I am kind of disappointed. I went a long way to get this driver going, but everything fails. It is absolutely not as easy as the amd driver download page suggests. I still can't see nor say that the RX460 is supported.

                      • Re: amdpro-gpu rx 460 support missing?
                        ankay

                        Finally i found the cause of the problem: nomodeset was set because of another problem. (Other Problem: black blank screen on boot, recovery mode used instead, but that set nomodeset, which i dont need)

                         

                        Solution in my case: check boot parameters. Make sure there is no vga or nomodeset parameter.

                        Read up about KMS. Read the whole Internet and all Kernel News..

                         

                        4.4.0-45-generic with 16.40-348864 works. An amdgpu module is loaded. Amdgpu logs messages to dmesg. So RX 460 works. Driver is ok.

                         

                        I wonder why the 14.04 ubuntu driver disappeared from the downloads page. Why do old drivers not get archived just as nvidia does for their UNIX drivers?

                         

                        AMD, please document such details somewhere near the driver download page.

                        1 of 1 people found this helpful