51 GPUs Tested, From The Radeon HD 2900XT To RX 580 & R9 Fury: Testing The 2017 Linux Driver Stack

Written by Michael Larabel in Graphics Cards on 2 June 2017. Page 1 of 7. 21 Comments

It's that time of the year where we see how the open-source AMD Linux graphics driver stack is working on past and present hardware in a large GPU comparison with various OpenGL games and workloads. This year we go from the new Radeon RX 580 all the way back to the Radeon HD 2900XT, looking at how the mature Radeon DRM kernel driver and R600 Gallium3D driver is working for aging ATI/AMD graphics hardware. In total there were 51 graphics cards tested for this comparison of Radeon cards as well as NVIDIA GeForce hardware for reference.

Each June we generally do a large Linux GPU comparison looking at the state of the current drivers, timed around the birthday of Phoronix with the site turning 13 next week. This year I ran a number of AMD GPU Linux tests using the 4.12 development kernel and Mesa 17.2-dev Git stack built against LLVM 5.0 SVN via the Padoka PPA. Unlike Catalyst / Radeon Software proprietary drivers, the open-source Linux driver stack continues supporting vintage GPUs even to the R300 series and beyond, but for this comparison I limited it to the original R600 GPU, the HD 2900XT.

It's time for our occasional roundabout seeing how the legacy Radeon hardware is doing with the modern Linux graphics driver stack that continues to support this old hardware.

I tested an assortment of new and old GPUs, basically all that I had available, aside from the Radeon GPUs that were busy on other test systems or lodged away in rackmounted cases. Graphics cards tested for this comparison included:

- FirePro V4900
- FirePro V8750
- Radeon HD 2900XT
- Radeon HD 3850
- Radeon HD 4670
- Radeon HD 4770
- Radeon HD 4850
- Radeon HD 4870
- Radeon HD 4890
- Radeon HD 5830
- Radeon HD 6870
- Radeon HD 6950
- Radeon HD 7950
- Radeon R7 260X
- Radeon R9 270X
- Radeon R9 285
- Radeon R9 290
- Radeon R7 370
- Radeon RX 460
- Radeon RX 480
- Radeon RX 550
- Radeon RX 560
- Radeon RX 580
- Radeon R9 Fury

Sadly, I have a lot more older Radeon cards than I do newer Radeon cards (and more GeForce cards than Radeon, thanks to NVIDIA's continued support and Linux interest) as back in the day ATI/AMD (and their AIB partners) seemed more interested in Linux hardware reviews/benchmarks than they do today and most of these GCN cards were hardware I ended up purchasing, with few exceptions. Then on the NVIDIA side for some reference when using their latest Linux drivers included the following hardware, recently featured in the 28-way NVIDIA-focused Linux tests:

- GeForce 8600GTS
- GeForce 8800GT
- GeForce 9600GSO
- GeForce 9800GT
- GeForce 9800GTX
- GeForce GT 240
- GeForce GTX 460
- GeForce GT 520
- GeForce GTX 550 Ti
- GeForce GT 610
- GeForce GTX 650
- GeForce GTX 680
- GeForce GTX 750 Ti
- GeForce GTX 760
- GeForce GTX 780 Ti
- GeForce GTX 950
- GeForce GTX 960
- GeForce GTX 970
- GeForce GTX 980
- GeForce GTX 980 Ti
- GeForce GT 1030
- GeForce GTX 1050
- GeForce GTX 1050 Ti
- GeForce GTX 1060
- GeForce GTX 1070
- GeForce GTX 1080
- GeForce GTX 1080 Ti

Overall, the state of the Radeon/R600g support for the Radeon HD 2000/3000/4000/5000/6000 series was still quite good, and in fact an improvement over the last year or so. Sometimes there are regressions in the stack, not just in regards to 3D but particularly mode-setting has been troubling at times with this older hardware. When using the Radeon DRM driver of Linux 4.12, it was in good shape on this older hardware. One exception was the FirePro V8800 GPU would produce a blank screen followed by no signal output if setting a 1920x1080 resolution via XRandR, so that card had to be dropped from testing. On the newer side, the Radeon R7 370 still runs into problems with DisplayPort but worked fine with the dual-link DVI connection.

The oldest Radeon card tested in this article is the HD 2900XT, which was released in 2007. Back then it was bleeding-edge with a 80nm fab process, 700 million transistors, and 743MHz core clock while boasting 475 GFLOPS. The RX 580 for comparison is on a 14nm process, 5.7 billion transistors, 1257/1340MHz core clock, and over 5.7 TFLOPS of compute power.

The only other regressions worth mentioning were the Radeon HD 5830 now being stuck at 100% fan speed, so it was quite noisy, and last time I had that card out I don't believe the Radeon kernel driver had any issues with its dynamic fan speed support on that hardware. The Radeon HD 2900XT in OpenGL demanding workloads would run into ring 0 stalls, an endless supply of the messages being dumped to the console.

The open-source Radeon Linux driver stack is in the best shape it's ever been in, with monitoring the scene the past 13 years. In just the past few months, the AMDGPU+RadeonSI driver stack is on to performing on the same speed as the proprietary/hybrid driver and outperforming it in many cases, open-source OpenGL 4.5 support, open-source (unofficial) RADV Vulkan driver, and most new Linux games are now launching with working Radeon support, which couldn't generally be said even just one year ago.

Radeon HD 4000 and newer on R600 Gallium3D currently expose OpenGL 3.3 with the exception of the Radeon HD 5800/6900 series have OpenGL 4.1 due to FP64 support being exposed for those newer GPUs. But as written recently, David Airlie has some experimental work with taking R600g to OpenGL 4.2 including for other R600g-supported models via the soft FP64 support. But that work is still experimental and not merged so wasn't tested for this article. Later on I'll run some tests of that code once it has matured to see its impact, especially since many Linux games require GL4.

51-Way R600g / RadeonSI / NVIDIA 2017 Linux Comparison

Besides looking at the raw OpenGL frame-rates for a few games, the AC system power consumption was also monitored for reference. Only a few Linux games were run due to the immense time needed in testing this large assortment of cards, OpenGL 3.3 for R600g and OpenGL 2.1 for HD 2000/3000 series limiting the available range of games, and then obviously going back so far is difficult finding tests that will still run at 1080p on that hardware while run on today's cards and not be too CPU bound. All of these benchmarks were done in a fully-automated and reproducible manner using the Phoronix Test Suite benchmarking software.

Related Articles