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)
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!
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.
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.
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.
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.
(Message sent from Windows 10 … eeeeeeeeeew I feel dirty)
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.
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.
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.
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.