RadeonSI Disables SDMA For Polaris To Fix Corruption Bugs

Written by Michael Larabel in Radeon on 8 January 2020 at 01:47 AM EST. 25 Comments
RADEON
For those plagued by OpenGL corruption issues with the RadeonSI driver on Polaris GPUs like the Radeon RX 580, System DMA (SDMA) support is now being disabled as a workaround.

There have been bug reports going back to at least last June and others more recent about in-game artifacts or other corruption issues within OpenGL programs on some games with Polaris discrete GPUs.

Users have observed that the AMD_DEBUG=nodma environment variable tends to workaround the issues, so now the default behavior of Mesa 20.0-devel (and queued for back-porting to Mesa 19.2 and 19.3) is disabling of SDMA support for Polaris / GFX8 AMD graphics hardware.

There are possible performance implications from disabling SDMA but we'll see if it materializes into any significant difference. Then again, GFX10/Navi with RadeonSI still has SDMA disabled too over random timeouts. Navi SDMA support was disabled by default fairly quickly in order to address hangs. For GFX9/Vega between these generations, SDMA copy support was added just last month but for discrete GPUs currently requires an environment variable to enable.
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