A Radeon RX 590 Workaround For Linux But With Abysmal Performance
Written by Michael Larabel in Radeon on 29 November 2018 at 10:00 AM EST. 25 Comments
While AMD is able to reproduce the Radeon RX 590 Linux failure and is currently investigating the necessary Linux driver fix(es) for getting this latest Polaris refresh graphics card working correctly, if you already upgraded and don't have the luxury of switching to another graphics card until a solution is in place, there is a workaround to getting the RX 590 on Linux with working hardware acceleration but very slow performance.

Hopefully it won't be much longer before the necessary Linux driver fixes are at least available in patch form to have the Radeon RX 590 initializing correctly on Linux and then hopefully those changes are small enough for quickly back-porting to existing Linux stable series as fixes. This RX 590 Linux issue as reported in the previous article is known to be a vBIOS interaction issue with the Linux driver and is affecting at least some Sapphire and XFX RX 590 products that I am aware of but potentially other AIB partners depending upon their video BIOS modifications.

But if you already picked up a Radeon RX 590 as an upgrade or new system and don't have the ability to use a different graphics card for the time being, fortunately a Phoronix reader discovered a temporary workaround -- short of booting with nomodeset where you then lose out on kernel mode-setting and any form of GPU acceleration while being stuck to a sub-standard resolution... Phoronix reader Nate was upgrading from a problematic Radeon R9 390 graphics card that is still affected by power management issues on Linux and went with the RX 590. But with his RX 590 he hit the same behavior I have been highlighting the past two weeks.

With his new RX 590 being affected by similar problems as his R9 390, he tried the same workaround: booting with the kernel command line parameter of amdgpu.dpm=0 to disable Dynamic Power Management (DPM) for the kernel graphics driver.

Sure enough, that gets the Radeon RX 590 booted and successfully driving the display with working GPU acceleration! The RadeonSI OpenGL and RADV Vulkan drivers also loading up just fine without any other problems! The amdgpu.dpm=0 test was even done on the stock Ubuntu 18.10 installation with the Linux 4.18 and Mesa 18.2 stack.

But before getting too excited, by disabling DPM it also severely hurts performance... You are disabling the dynamic power management for switching between power (performance) states based upon GPU activity. So you are bound to crippling slow clock speeds and the manual power profile adjustments are not available from sysfs for any manual re-clocking / power management changes. This is similar to why the open-source NVIDIA driver (Nouveau) support is in very rough shape and slow is due to the lack of re-clocking / power management, but in their case they are blocked by NVIDIA in releasing signed PMU firmware.

So when booting the Radeon RX 590 with DPM disabled it works for a basic desktop, but certainly not useful for any gaming or real GPU workloads:

Until the proper RX 590 fixes land for the AMDGPU driver in the Linux kernel that's what the performance looks like with the workaround... But at least the workaround is good enough if you simply want to use the RX 590 with the Linux desktop and have working AMDGPU KMS display, OpenGL acceleration that's fast enough for desktop compositing even at 4K, and other basic usage rather than the out-of-the-box behavior of booting the system and only to find the display not even lighting up. But still a disappointment for this launch of a Polaris refresh card being botched for Linux users and not even knowing about the Linux driver state until buying a retail card.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week