AMDGPU vs. Radeon GCN 1.0/1.1 Performance On Linux 4.9 DRM-Next
With the forthcoming Linux 4.9 kernel there is experimental AMDGPU Southern Islands support so that original AMD GCN 1.0 GPUs can optionally work with the newer AMDGPU DRM driver rather than the mature Radeon DRM driver. In this article are tests of some AMD graphics cards from GCN 1.0/1.1 era comparing the performance impact of switching the Radeon/AMDGPU kernel driver with this DRM-Next code for Linux 4.9.
For testing I was using the DRM-Next code from David Airlie's branch, which will be merged into the mainline Linux 4.9 code-base in the days ahead. The DRM-Next code was first tested out-of-the-box then rebuilding the kernel with the only difference being the switch to enabling the experimental AMDGPU Kconfig options for GCN 1.0 and GCN 1.1 support. Linux 4.9 by default will continue using the Radeon DRM driver for GCN pre-1.2 graphics processors.
This DRM-Next testing on Ubuntu 16.04 LTS was done in conjunction with the latest Padoka PPA packages for providing updated Mesa and libdrm, which is also needed for supporting AMDGPU on Southern Islands.
The GCN 1.0 cards tested were the Radeon HD 7950 (Tahiti PRO), Radeon R9 270X (Curacao / Pitcairn), and Radeon R7 370 (Trinidad / Pitcairn Pro). From GCN 1.1 tested was the Radeon R7 260X (Bonaire XTX) while in a separate article will be Radeon R9 290 (Hawaii) benchmarks due to its regressed state.
All of the OpenGL benchmarks in this article were done in a fully-automated manner using the open-source Phoronix Test Suite. While AMDGPU GCN 1.0/1.1 support is still experimental for Linux 4.9, many users have been interested in this support so that all GCN GPUs will be supported by the AMDGPU-PRO driver and as part of that Vulkan -- both for the AMDGPU-PRO stack and the maturing RADV Vulkan driver code targeting only AMDGPU hardware. The AMDGPU DRM driver also has improved memory management, better power management, and other functionality over the long-standing Radeon DRM code.