Similar to the recent open-source year end driver recaps (Nouveau, Radeon, and Intel), here's a recap of NVIDIA's binary driver activities for 2015 along with some benchmarks comparing the performance of the proprietary driver over the past year.
Among the highlights for the NVIDIA Linux driver in 2015 were:
- Support for all of the latest GeForce and Quadro Maxwell-based GPUs.
- Expanded G-SYNC support.
- Support for various new EGL extensions.
- A new build system for the NVIDIA kernel modules.
- A new nvidia-modeset kernel module used for mode-setting and will in the end be used to interface with DRM/KMS.
- Full OpenGL support for EGL rather than just OpenGL ES.
- Support in VDPAU for lossless H.264/AVC video streams and support for the VDPAU Feature Set F that brings in H.265/HEVC video decode support.
- A new system memory allocation method for large allocations in the OpenGL driver.
- Many bug fixes.
The EGL and kernel module related work are significant as step towards supporting Mir/Wayland via the NVIDIA binary driver, which will hopefully happen in early 2016. The other improvements and new features were also great. Through 2016, NVIDIA continued to be prompt in supporting new versions of the Linux kernel and X.Org Server. There's also more details on the NVIDIA Linux driver progress via this earlier NVIDIA Linux top news of 2015 article.
With some of the fixes in the driver having evolved OpenGL performance, I did a basic performance comparison seeing if/how the performance changed over 2015 with several different games and other graphics workloads. Tests were done using the 340.65 and 346.35 drivers as the latest releases at the end of 2014 and then the NVIDIA 358.16 Linux driver as the latest currently available binary driver. Two tests were done for the end-of-2014 tests as the then-new GTX 980 was running into an issue with the older 340 stable series where as the 346 series was in beta state at the end of 2014. Tests were done from the same system running Ubuntu 14.10.
A GeForce GTX 780 Ti and GTX 980 were used for testing as a Kepler and Maxwell graphics card supported by the drivers used for this comparison. All of these reference benchmarks were done with the open-source Phoronix Test Suite benchmarking software, including tests of some popular Steam Linux games.