The Open-Source AMD Linux Driver Stack Hitting Problems With The Radeon RX 590

Written by Michael Larabel in Radeon on 16 November 2018 at 08:00 PM EST. 42 Comments
RADEON
While the Radeon RX 590 that launched this week is just yet another Polaris refresh, it turns out the open-source AMD Linux graphics driver stack isn't yet playing well with retail RX 590 graphics cards. This is quite a surprise considering the PCI ID was picked up months ago and the mature Polaris Linux driver support for quite a while now, but could be like the rough Raven Ridge Linux experience where the production cards with the shipping vBIOS isn't what the developers encountered during their pre-production driver enablement.

Yesterday I bought a Sapphire Radeon Nitro+ Rx 590 8GB GDDR5 graphics card in order for conducting Linux benchmarks. The card arrived and so far I have yet to come up with a working driver combination for this 12nm Polaris graphics card. This may also explain why I was left completely in the dark for this launch besides the obvious leaks but with no review samples nor even any press briefing invite, which is why I ended up buying the card on launch day.


When booting an Ubuntu 18.10 system with the Linux 4.19.2 stable kernel and Mesa 19.0-devel paired with the very latest AMDGPU microcode files, it was a surprise that there was no display only several seconds later to mode-set with an 800 x 600 resolution and to be using LLVMpipe CPU-based acceleration.


When prodding the kernel logs, there is a ring test failure pertaining to the UVD code and that ends up causing a device initialization failure, which is treated as a fatal error. There is also a reported failure about reading the card's minimum clock speeds.


Moving to the Linux 4.20 Git kernel, the problem persists with failing to properly initialize the GPU. That caught me by surprise as I figured at least the current Linux Git development cycle would have working support for this Polaris refresh.


Next I moved onto the AMDGPU DRM-Next 4.21-WIP kernel branch for the very bleeding edge kernel code that is currently under development and won't be mainlined until the Linux 4.21 cycle. Sadly, that too was the same flop.


I am not the only one to encounter similar behavior with the Radeon RX 590 on Linux. I reached out to some of AMD's Linux team once hitting these errors but have yet to hear back.


Long story short, it looks like at least one initialization issue is blocking the Radeon RX 590 Linux support. Hopefully the workaround ends up being trivial enough that it can be quickly back-ported to existing stable Linux kernel series. Once the Radeon RX 590 is running well on Linux, I'll be through with a ton of benchmarks that I have already been working on this week with other graphics cards using the newest Linux driver stacks. This situation is sadly reminiscent of the Raven Ridge launch earlier this year where the open-source driver team was working on support for months in advance, but the production hardware/BIOS ended up varying a lot from their hardware bring-up that is was very shaky support at launch. The Raven Ridge support improved a lot on Linux since launch, but even to this day some hardware still seems to be problematic both of hardware in my labs as well as reports by users. Hopefully it won't take nearly as long for the RX 590 support to be in shape.
Related News
About The Author
Michael Larabel

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, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week