Are The Open-Source Graphics Drivers Good Enough For Steam Linux Gaming?
Over the past week on Phoronix have been several featured articles looking at the performance of SteamOS with the proprietary AMD/NVIDIA graphics drivers: 22-Way Comparison Of NVIDIA/AMD Graphics Cards On SteamOS, 4K AMD/NVIDIA High-End GPU Comparison On SteamOS, and Is SteamOS Any Faster Than Ubuntu 15.10 Linux? One of the frequent questions that have come up since then is how the open-source driver performance compares to that of the binary blobs on SteamOS, so here are some of those benchmarks.
This article is to serve as a look at the open-source graphics driver performance compared to the proprietary AMD Catalyst and NVIDIA graphics drivers on SteamOS. As Valve's SteamOS ships with the proprietary drivers enabled by default and is anyhow on an older version of the Linux kernel, etc, I carried out the open-source driver tests on Ubuntu 15.10 to get as fresh of an experience as possible. Beyond just running Ubuntu 15.10, I also switched over to using the Linux 4.3 Git kernel and enabled the Padoka PPA for Mesa 11.1-devel plus LLVM 3.8 SVN. This basically is providing the latest mainline open-source graphics driver experience as of earlier this week. Again, on the proprietary driver side was Catalyst 15.9 and NVIDIA 352.30. All other Ubuntu/SteamOS packages/settings were at their defaults unless otherwise noted.
The same Intel Core i7 5960X Haswell-E system as used in the previous SteamOS tests in the past few days was used for this comparison on SteamOS with proprietary drivers versus Ubuntu 15.10 with the latest Nouveau/Radeon drivers. The graphics cards tested in the open and closed environments were the GeForce GTX 650, GTX 680, GTX 760, and GTX 780 Ti on the NVIDIA side. The GeForce GTX 900 series graphics cards couldn't be tested since the Nouveau driver doesn't yet support OpenGL hardware acceleration for these newer Maxwell GPUs until NVIDIA ends up releasing the necessary signed firmware images. On the AMD side for this comparison were the Radeon HD 6870, HD 6950, HD 7950, R9 285, R9 290, and R9 Fury.
Beyond the caveat of not being able to test the GTX 900 series in this comparison due to lack of open-source hardware-accelerated support, here's some other notices about current limitations on the cards that were tested:
- For the NVIDIA GeForce GTX 600/700 series graphics cards benchmarked, Nouveau continues only to have partial re-clocking support with more proper GPU core and memory re-clocking support still being worked on and not yet part of the mainline kernel. For this testing on Linux 4.3, I enabled the Nouveau Pstate option to enable re-clocking, but with the different graphics cards tested, I was only able to hit the mid performance state of 0a. The GTX 650 used to be able to be fully re-clocked on Nouveau, but under this kernel it seems to regress as now -- like the other cards -- setting a frequency state higher than 0a will immediately cause the graphics card to fail.
- The Radeon R9 285 and R9 Fury graphics cards use the new AMDGPU kernel DRM driver rather than the Radeon DRM driver. AMDGPU in Linux 4.3 (and Linux 4.4) still lacks re-clocking / power management support for the discrete graphics cards, thus there's no other option than running the hardware at their very low boot frequencies. We're still waiting for AMD open-source developers to implement power management for Tonga and Fiji GPUs with this driver.
- The Radeon HD 6870 and HD 6950 graphics cards are the two products using the R600 Gallium3D driver while the other AMD GPUs use the newer RadeonSI driver. The RadeonSI driver exposes OpenGL 4.1 currently (when using LLVM 3.8 SVN) while the R600g driver is still presently at OpenGL 3.3 compliance. The R600g is catching up to RadeonSI and the other drivers with OpenGL 4 support, but it's not quite there yet. Thus OpenGL 4 tests couldn't be run with these two older Northern Islands graphics processors.
So with all of those open-source driver shortcomings noted, on the following pages are the results from these Steam Linux gaming benchmarks between SteamOS 2.0 Brewmaster with the proprietary drivers versus Ubuntu 15.10 with the very newest open-source driver code for NVIDIA (Nouveau) and AMDGPU/Radeon. The games where tests were running successfully in both configurations were BioShock Infinite, DiRT Showdown, Metro 2033 Redux, Metro Last Light Redux, and Team Fortress 2. All of the benchmarks were driven via the open-source Phoronix Test Suite benchmarking software.