AMDGPU vs. Radeon DRM With GCN 1.0/1.1 GPUs On Linux 4.11, Mesa 17.1-dev

Written by Michael Larabel in Display Drivers on 6 April 2017 at 02:47 PM EDT. Page 1 of 4. 21 Comments.

With the upcoming Linux 4.11 kernel release as well as for the next cycle (Linux 4.12), the Radeon DRM driver remains the default for AMD GCN 1.0/1.1 GPUs while the newer AMDGPU DRM driver continues offering "experimental" support for these earlier generations of GCN GPUs. As it's been a while since our last Radeon vs. AMDGPU GCN 1.0/1.1 benchmarks, here are some fresh tests today with Linux 4.11 Git.

Radeon DRM is the default for GCN 1.0/1.1 since that's where these cards were originally supported and are considered mature there. However, many Linux users -- particularly enthusiasts and gamers -- have been interested in using the AMDGPU DRM driver that's designed for GCN 1.2+ but the experimental Kconfig switches allow enabling the GCN 1.0/1.1 support. Among the reasons for users with GCN 1.0 and GCN 1.1 hardware to use AMDGPU DRM has largely been for allowing compatibility with AMDGPU-PRO for its proprietary Vulkan, OpenGL, and OpenCL components. Additionally, the open-source RADV Vulkan driver only works with the AMDGPU DRM driver. Vulkan is a big one but others also have wanted GCN 1.0/1.1 support due to this newer code-base and it offering some improvements over the mature Radeon DRM code, new features almost exclusively being catered to AMDGPU, etc.

For this testing I compared the Radeon and AMDGPU DRM drivers with a Radeon HD 7950, R9 270X, R9 290, and R7 370 based upon the hardware I had available. Mesa 17.1-dev Git was used throughout the entire testing process and no other changes made to the system besides swapping the GPUs and used DRM driver. The Linux 4.11 Git kernel was used from the Ubuntu Mainline Kernel PPA; the good news is that newer Ubuntu kernel builds do enable the Kconfig switches for SI/CIK support in AMDGPU DRM; all you have to do then is blacklist the Radeon DRM driver from loading.

All benchmarking done via the Phoronix Test Suite. But before getting to the performance results, a few comments on the experiences encountered with the cards available. When testing the Radeon HD 7950, the AMDGPU DRM driver wouldn't mode-set the display when using the HDMI port. But when using a HDMI-to-DVI adapter to connect to the card's DVI port, it worked fine with AMDGPU; HDMI and DVI both work fine on the stock Radeon driver. And with the Radeon R7 370, DisplayPort had to be used with AMDGPU as HDMI wasn't working there. Also, good news in regards to the Radeon R9 290, the regression my particular card had faced previously seems to be working fine with expected OpenGL performance on Linux 4.10~4.11.


Related Articles