Installation of AMDGPU-PRO driver

Is there a way to install the amdgpu-pro driver on openSUSE Leap 42.1? Because I need it to get a RX 480 graphics card to work.

The driver can be downloaded on the AMD site:–Release-Notes.aspx

But there are only packages for Ubuntu.

Ist the a way to convert the Debian packages to RPM and use it on openSUSE? Is the AMD driver compatible with the kernel and version in openSUSE Leap 42.1?

AFAIK, no… ask AMD about an rpm version…?

I have the in kernel amdgpu driver running on Tumbleweed (Mullins R5 GPU) with the 4.8 rc3 kernel and a tweaked xf86 driver.

I sea that openSUSE Leap 42.2 Beta includes the amdgpu driver. I don’t try it yet. But at least it would be better than nothing.

But for games, I think, the pro driver is needed. Maybe AMD would release one for Leap 42.2. AFAIK its based on the same kernel version (4.4) as Ubuntu 16.04 which is supported by AMD, so support Leap 42.2 may be easier for AMD.

Eventually 42.2 will have the proprietary drivers, but for now you would need to install the hard way using an AMD installer form the AMD site. It is not a sure thing that it will work in the beta though

Not sure it will be anytime soon… fglrx is history for > 42.1 and unless you have a modern AMD APU/GPU (Not less than probably 2 years old) it’s radeon only. There are something like 26 deb files for x86_64 in the Ub* package?

What is you GPU?

/sbin/lspci -nnk |grep -A3 VGA

I’m running it on Tumbleweed, for 42.2 I have to rebuild the kernel module (my card got missed) as well as rebuild the xf86-video-amdgpu package…

Good to hear someone has this running on TW. Could you post a small guide on how to set this up? I’ve been trying to get it running for weeks now on my R390X.

lspci -nnk |grep -A3 VGA
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] [1002:67b0] (rev 80)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Radeon R9 390X [1462:2015]
        Kernel driver in use: radeon
        Kernel modules: radeon

All I did was create a /etc/X11/xorg.conf.d/20-amdgpu.conf with;

cat /etc/X11/xorg.conf.d/20-amdgpu.conf

Section "Device"
   Identifier "AMD MULLINS R5 GPU"
   Driver "amdgpu"

Then edited /etc/modprobe.d/50-blacklist.conf to add;

blacklist radeon

Reboot and it fires up…

/sbin/lspci -nnk | grep -A3 VGA
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] [1002:9851] (rev 45)
    Subsystem: Dell Device [1028:06bf]
    Kernel driver in use: amdgpu
    Kernel modules: radeon, amdgpu

/sbin/modinfo amdgpu |grep 9851
alias:          pci:v00001002d00009851sv*sd*bc*sc*i*

uname -a
Linux 4.8.0-rc5-2.gd38eb05-default #1 SMP PREEMPT Thu Sep 8 16:18:49 UTC 2016 (d38eb05) x86_64 x86_64 x86_64 GNU/Linux

For more info check;

cat ~/.local/share/xorg/Xorg.0.log for more info

An interesting article… openSUSE Leap 42.1 running amdgpu :wink:


Reported as working on

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] (rev 80) (prog-if 00 [VGA controller])


i | kernel-default                 | package    | 4.8.rc5-2.1.gd38eb05 | x86_64 | Kernel builds for branch master (standard)    name: kernel-default

lspci -nnk|grep -A3 VGA01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT / Grenada XT [Radeon R9 290X/390X] [1002:67b0] (rev 80)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Radeon R9 390X [1462:2015]
        Kernel driver in use: amdgpu
        Kernel modules: radeon, amdgpu

cat /etc/X11/xorg.conf.d/20-amdgpu.conf 
Section "Device"
   Identifier "AMD"
   Driver "amdgpu"

[edit 201609132155: Additional info]

Adding “blacklist radeon” to /etc/modprobe.d/50-blacklist.conf is not needed on my setup.


IIRC, Sea Island adapters (like your own) won’t result in the automagic loading of the amdgpu kernel component; they default to the radeon kernel driver. So, I’d suspect that the radeon kernel driver is loaded (in the initrd) and isn’t unloaded until the display server configuration you have set causes the amdgpu DDX driver to call for the loading of the amdgpu kernel driver. You could verify that with

dmesg | grep 'radeon\|amdgpu'

… the xorg log might provide hint of this too.

IOW, if you want amdgpu through and through, you’d have to blacklist it and update your initrd to make sure that gets picked up there too … if you were to use another display server where there is no DDX (i.e. Wayland), then you’d likely be still using radeon … I could be wrong though.

Tnx for your reply.

It seems to me though that amdgpu is used as my X server is no longer experiencing random crashes/freezes since updating the kernel to 4.8

dmesg | grep 'radeon\|amdgpu'    3.956284] [drm] amdgpu kernel modesetting enabled.
    3.962613] fb: switching to amdgpudrmfb from EFI VGA
    3.963428] amdgpu 0000:01:00.0: VRAM: 8192M 0x0000000000000000 - 0x00000001FFFFFFFF (8192M used)
    3.963430] amdgpu 0000:01:00.0: GTT: 8192M 0x0000000200000000 - 0x00000003FFFFFFFF
    3.967996] [drm] amdgpu: 8192M of VRAM memory ready
    3.967997] [drm] amdgpu: 8192M of GTT memory ready.
    4.141081] amdgpu 0000:01:00.0: amdgpu: using MSI.
    4.141103] [drm] amdgpu: irq initialized.
    4.151983] [drm:ci_dpm_init [amdgpu]] *ERROR* Invalid PCC GPIO: 13!
    4.151988] [drm] amdgpu: dpm initialized
    4.152584] amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000200000010, cpu addr 0xffff88042aadf010
    4.152614] amdgpu 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000200000020, cpu addr 0xffff88042aadf020
    4.152647] amdgpu 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000200000030, cpu addr 0xffff88042aadf030
    4.152674] amdgpu 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000200000040, cpu addr 0xffff88042aadf040
    4.152707] amdgpu 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000200000050, cpu addr 0xffff88042aadf050
    4.152734] amdgpu 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000200000060, cpu addr 0xffff88042aadf060
    4.152764] amdgpu 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000200000070, cpu addr 0xffff88042aadf070
    4.152789] amdgpu 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000200000080, cpu addr 0xffff88042aadf080
    4.152818] amdgpu 0000:01:00.0: fence driver on ring 8 use gpu addr 0x0000000200000090, cpu addr 0xffff88042aadf090
    4.152875] amdgpu 0000:01:00.0: fence driver on ring 9 use gpu addr 0x00000002000000a0, cpu addr 0xffff88042aadf0a0
    4.152905] amdgpu 0000:01:00.0: fence driver on ring 10 use gpu addr 0x00000002000000b0, cpu addr 0xffff88042aadf0b0
    4.153238] amdgpu 0000:01:00.0: fence driver on ring 11 use gpu addr 0x000000000108bd30, cpu addr 0xffffc90001e38d30
    4.153340] amdgpu 0000:01:00.0: fence driver on ring 12 use gpu addr 0x00000002000000d0, cpu addr 0xffff88042aadf0d0
    4.153365] amdgpu 0000:01:00.0: fence driver on ring 13 use gpu addr 0x00000002000000e0, cpu addr 0xffff88042aadf0e0
    4.551333] fbcon: amdgpudrmfb (fb0) is primary device
    4.675469] amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
    4.810301] [drm] Initialized amdgpu 3.3.0 20150101 for 0000:01:00.0 on minor 0
    8.898750] [drm] radeon kernel modesetting enabled.

It most certainly is being used. I stand corrected. Looks like the “automagic” is in place.

It seems you where correct after all. I had removed the blacklist entry from modprobe.d BUT did not regenerate my initrd.

For future reference: blacklist radeon is needed in /etc/modprobe.d/50-blacklist.conf and mkinitrd needs to be run after adding the entry. I also added grub boot option amdgpu.powerplay=1 to allow fanspeed control on my card.

PS: Sorry to the OP for hijacking your post.

Ahh, okay. After you’re last post I glanced through commits, but didn’t spot anything (and didn’t bother going through the amdgpu mailing list other than a quick skim, as its fairly voluminous). So, knowing that you had mentioned that you’re using a more recent kernel, I simply figured that it (native support for Sea Islands (CI)) has been recently enabled and I had overlooked it. * I did not, at the time, consider that you may already have had amdgpu in the initrd … which would (as things currently stand), without the blacklisting set, get reverted upon future kernel updates.

  • PS - the older Southern Islands (SI) just got the same level of support as currently exists for CI queued up for kernel 4.9

My GPU is a RX480 Polaris 10:

VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Polaris10]

At the moment I run it on openSUSE Leap 42.1 in “VGA mode”. Normally I don’t buy the newest card, because I know that this often make problems under Linux. But my old card was defect and I don’t want to buy an older model.

I think, for Steam games, I need the amdgpu-pro driver, so I didn’t try to get the amdgpu (opensource) driver to work on Leap 42.1. I will try this when I upgrade to Leap 42.2. I think it should be easier on this version, because I see in a VirtualBox installation of Leap 42.2 Beta, that the amdgpu driver is already included. And I hope that there would be a solution for the pro driver in Leap 42.2 anytime soon.

Yes, you should be fine on 42.2, not sure if it will default to radeon (there was a proposed fix on the openSUSE kernel ML), be interesting to see how it goes…

I still think a check with the AMD folks is worth pursuing, the more voices, the more likely they may get something out?

AMD releases driver version 16.40:–Release-Notes.aspx

Unfortunately still no openSUSE/ SUSE Enterpreis version.

But now a RHEL version is available. This packages include at least RPM und SRPM. Maybe this could be a easier way to build a SUSE version?

anyone know if it possible?

What GPU do you have? At this point you would need to ask the AMD folks to see if it’s being worked on. Looking at the deb package, seems a lot of files are replaced, not sure how that would go on openSUSE… I’m sticking with amdgpu at present seems to be working fine so far.