AMDGPU vs. Radeon Kernel Driver Performance On Linux 5.0 For AMD GCN 1.0/1.1 GPUs
A seldom advertised experimental feature of the AMDGPU kernel driver has long been the GCN 1.0/1.1 graphics support. By default these Southern Islands and Sea Islands graphics processors default to the Radeon DRM driver, but with some kernel command lime parameters can use the AMDGPU Direct Rendering Manager driver. The AMDGPU code path is better maintained since it's used for all modern Radeon GPUs, using AMDGPU opens up Vulkan driver support, and possible performance benefits. It's a while since last testing the Radeon vs. AMDGPU driver performance for these original GCN graphics cards, so here are some fresh benchmarks using the Linux 5.0 kernel and Mesa 19.1-devel.
GCN 1.0/1.1 support within AMDGPU remains experimental and there has been no communication by AMD developers in recent months over potentially defaulting to this driver in place of Radeon DRM. As GCN 1.0/1.1 graphics cards become increasingly less common, it raises our doubts whether a change-over will ever happen at least while these cards are still somewhat common among Linux users. In the end though the AMDGPU driver will be maintained longer with this kernel driver still in use and supported by today's latest Polaris and Vega graphics cards. Given the SMU activity for Vega 20 and appearing to also be for future GPUs, it looks like Navi will be extending the AMDGPU DRM driver once more.
Those wanting to try out the AMDGPU driver in place of Radeon DRM for Southern/Sea Islands graphics cards can boot any recent kernel with the radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 for switching over both SI/CIK GPUs to the AMDGPU driver. Mesa will behave just the same with RadeonSI OpenGL while now also opening up Vulkan support via the RADV driver that is only designed for the AMDGPU winsys.
For some fresh testing off Linux 5.0, I used a Radeon HD 7950, R9 270X, and R9 290 graphics cards as the GCN 1.0/1.1 era hardware I had available that still works and wasn't busy in any other rack-mounted system. In the case of the R9 290, using AMDGPU was the only option as by default on Linux 5.0 the graphics card didn't light up any HDMI/DP connected display with the default Radeon DRM driver. The R9 290 ended up working fine under AMDGPU but had regressed with Radeon DRM - though in the past on some kernels I've occasionally hit display issues with this Hawaii GPU. The Southern Islands HD 7950 and R9 270X worked fine on both the standard Radeon DRM and AMDGPU.
Using Linux 5.0 and Mesa 19.1-devel, I first ran various OpenGL benchmarks on these GPUs for seeing the current performance difference between these kernel drivers.