AMD R9 390 finally usable on Linux!

I recently found out from the following post that the R9 390 was now usable with AMDGPU as of kernel update 4.16.7:

I wanted to share my experience in case there are others with the R9 390 who suffered from the following bug:

https://bugs.freedesktop.org/show_bug.cgi?id=91880

For the last two years my R9 390 was basically unusable on Linux as it would always result in a blank screen when using the radeon drivers. The only time I was able to run a game with the R9 390 was when using fglrx. This was back in 2015!

The particular 390 in question is the Gigabyte G1 version. I got it to work on Ubuntu 18.04 with kernel 4.18.5. You need to upgrade your kernel and switch over to the AMDGPU driver. Below are links to perform the required steps:

Upgrade your kernel (>=4.16.7):

Because I am running Ubuntu, I used Ubuntu Kernel Upgrade utility (UKUU)

Switch over to AMDGPU:

https://wiki.archlinux.org/index.php/AMDGPU

Check the section titled “R9 390 series Poor Performance and/or Instability” and add the following boot parameters to grub: radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dpm=1 amdgpu.dc=1

*Blacklist radeon does not seem to work. I was only able to switch over to AMDGPU by performing the above.

I tested a few game such as Tomb Raider, Rise of the Tomb Raider, Shadow Tactics and the performance was excellent. Also tested some titles via steam play such as Nier and Dark Souls 3. The performance via steam play was hit or miss depending on the title. Finally my 390 is usable!

7 Likes

Can you verify Vulkan is working? It might be the source of some of the Steam Play DXVK issues.

Yay i sold off that GPU months ago! Still stuck with an R7 360.

This is interesting. My MSI R9 390 has been packed away in its box for the last year or so since I switched to Linux. I’ve tried a few times to get it to work on Fedora 27 & 28 with each new Kernel release but so far I’ve had no luck. Every time it changes power states the GPU crashes.

The last time I tried was with Kernel 4.17. I know there were major improvements to AMDGPU and kernel support for AMD GPUs from 4.15 onward but has there been a significant change with 4.18?

Might be time to dig it out again and give it another try.

I had the same MSI 390 and it worked just fine when I forced the power states to high; when I was back on kernel 4.9.

Just tested Doom with the vulkan API and it ran perfectly.

Make sure the kernel driver in use for the GPU is AMDGPU. Even after upgrading the kernel mine still defaulted to radeon.

2d:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290/390] (rev 80)
	Subsystem: Gigabyte Technology Co., Ltd Hawaii PRO [Radeon R9 290/390]
	Kernel driver in use: amdgpu
	Kernel modules: radeon, amdgpu
2d:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
	Subsystem: Gigabyte Technology Co., Ltd Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

As for the kernel version, no reason other than I just used the latest that was available. I honestly never knew the black screen issue was linked to the power state until recently as I had just given up on trying to get the 390 to work in the past.

1 Like

Thanks for the info.

I’ve updated my spare PC to Fedora Rawhide with kernel 4.18.5 and installed my MSI R9 390 to give it another go and I think it’s working :slight_smile:

I managed to get Unigine Heaven benchmark to run without issues (which I assume should be demanding enough to get the GPU to change power states)

MSI_R9_390_Rawhide

In previous tests the card would crash when I opened a coupled of windows on the desktop or tried to watch a video on YouTube but so far it’s been pretty stable.

The next test will be to see if it works in my main PC. It’s running Fedora 28 so is still on kernel 4.17, but it looks promising so far.

EDIT: Unigine Heaven has just run on the same PC booted into kernel 4.17.19

Glad to hear that it’s working now. I am still testing it out with various games but so far I have been having a pretty good experience with AMDGPU. Some titles like metro run amazing when compared to how they use to run on fglrx. Rise of the tomb raider runs almost perfect with the exception of some occasional screen tearing whether vsync is on or off.

There are some things that I am still getting use to, such as no catalyst control center. I remember having this with the fglrx drivers. It was good for GPU scaling and configs for other monitors. At the moment when I want to extend my display to my TV as an additional monitor, I usually have to restart the PC for Ubuntu to detect it as a secondary display. Still looking into this as Ubuntu 18.04 does not seem to have an option to detect display.

Looks like I’ve got more troubleshooting to do :frowning:

It was all going well, absolutely no problems for the last week or so with kernel 4.18.7 but Fedora just rolled out kernel 4.18.8 (and shortly followed with 4.18.9 which I was hoping was a patch) but now with both of those kernels my PC no longer boots when using AMDGPU.

I can see that something has changed in the boot process because it seems to try to switch video modes before starting plymouth where as with 4.18.7 it goes straight from the low rez video mode to the plymouth graphical boot theme.

Been trying to figure out what’s changed for a while now but it’s 5am so I reckon it’s a job for tomorrow.

Shecks
(Message sent from Windows 10 … eeeeeeeeeew I feel dirty)

Hey its fine. We’re just glad you’re being tenacious about this.

I almost got a 390X back when they came out but I’m really glad I didn’t if its just now working correctly.

I’ve made some progress, it’s half working now. I can get my PC to boot to Gnome if I remove “rhgb quiet” from the kernel command line.

I am still using “amdgpu.dc=1 amdgpu.dpm=1 amdgpu.cik_support=1 radeon.cik_support=0” so everything is working as before once in Gnome I just can’t have a graphical boot anymore

… I am now researching Kernel Mode Setting to see what could have broken since kernel 4.18.7 because as far as I can see the problem seems to be related to the AMDGPU driver not being able to switch to graphics mode during boot.

The investigation continues :thinking:

2 Likes

Shecks, did you get any further with this? Seems like all the new kernels break the GPU drivers and to be honest performance is no where near windows. Honestly makes me wonder why i bother with Linux as windows just works.

1 Like

@markmozza yes everything’s working well now.

In my experience there were two issues introduced with different kernel updates. As far as I know the first one was an issue with the Plymouth graphical boot. With that issue the only way for me to boot my PC was to remove the rhgb option from the kernel parameter and use text only boot. This was resolved about a week after it was introduced so I was able so I add the rhgb option back in and all was well for a while.

A few weeks later that was another kernel release (I think it was the update from 4.18. to 4.19) that broke something in the AMDGPU driver again. This time it turned out to be a problem with AMD DPM setting and the amdgpu.dpm. Up until this point I was manually setting amdgpu.dpm=1 to force DPM to be enabled for my R9 390.

It seems that there have been some changes here and there is a known bug regarding the issue here.

As far as I can see it’s also affecting some of the newer AMD GPUs too. Some people are reporting that setting amdgpu.dpm=1 allows them to boot but their GPU will run in a low power state so performance is poor.

In my case the only way to boot with my R9 390 is to remove the amdgpu.dpm setting completely (neither setting =1 or =0) from the kernel parameters.

For my R9 390 removing amdgpu.dpm doesn’t seem to have caused any performance issues because I am still getting the same results with the Unigine Heaven benchmark.

If you are having similar issues it might be worth taking a look at the amdgpu.dpm to see if any of the different combinations work for you.

For reference, I am currently running Fedora 29, kernel 4.19.8 using my MSI R9 390 with the following kernel parameters and everything is working well.

amdgpu.dc=1 radeon.cik_support=0 amdgpu.cik_support=1 quiet rhgb

Hope that helps,

Shecks

1 Like

I have a Sapphire Nitro 390X (Hawaii XT I believe) and I’m using the following args:
radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1

But since I’ve upgraded to kernel 4.19 my system can’t boot with amdgpu enabled. It just shows black screen after grub with no logs and kernel dumps. It just freezes right after selecting Linux from boot. I’ve tried to play with these values but disabling dc and dpm and the problem persists.

Booting with radeon on 4.19 or amdgpu on 4.18 works perfectly.

I’m using OpenSuSE Tumbleweed. I wonder if there is an issue on my side.

Have you tried removing amdgpu.dpm completely rather than setting it =0 or =1 ?

Actually I didn’t tried forcingly disabling by supplying a zero value. I’ve tried booting without dpm and dc, without dpm or without dc. Maybe my computer is setting dpm as default?

I’ll try tonight and report my findings. Since I don’t have another GPU or a serial output I have no idea if the kernel is trying to output some error.

1 Like

If you’re using Plymouth as the graphical boot manager you could also try adding plymouth:debug to the kernel command parameters to see if it outputs any useful information.

@Shecks Im about to try your settings wish me luck!

UPDATE:
No luck, low res, cant detect monitor as always.