Open-Source NVIDIA Driver Is Still Sour For Some GPUs
Nouveau, the reverse-engineered open-source NVIDIA Linux graphics driver that's been in development now for the better part of a decade, is working brilliantly for some NVIDIA GeForce graphics cards while for other NVIDIA GPUs the experience is a sloppy mess. Using the Linux 3.13 kernel and Mesa 10.1-devel Gallium3D driver code installed on top of Ubuntu 13.10, here's what the experience is like when trying a number of GeForce graphics cards with this latest open-source driver code.
As part of a lot of new Linux benchmarks coming, I had mentioned in other Linux GPU driver testing articles this week that the aim was to have a new massive open-source Linux graphics card comparison out on Friday, today. That article has been delayed until this weekend as the Nouveau experience with Linux 3.13 and Mesa 10.1-devel (using the Oibaf PPA and mainline kernel PPA) from Ubuntu 13.10 x86_64 was more rough than anticipated. The testing process has been drawn out due to having to watch closely for Nouveau driver problems like system hangs and rendering problems. In this article are some Nouveau driver notes about my testing of many different graphics cards on this latest Linux 3.13 + Mesa 10.1-devel code. All of the Nouveau and Radeon Gallium3D performance results will hopefully be complete on Saturday.
Nouveau driver bugs aren't too hard to come by given that this driver has been developed through reverse-engineering the NVIDIA proprietary graphics driver over the years and that many of the involved developers are just doing so as a hobby / student project / unpaid independent developer. Up until a few months ago, NVIDIA officially didn't even support the Nouveau project but took a neutral approach. Now they are trying to help out Nouveau but to date we haven't seen too much yet as there will still be the same legal hurdles and other challenges that made AMD's open-source driver start out slow. While the Nouveau driver developers have independently done a great job, they are still limited by manpower. For most NVIDIA graphics cards out there Nouveau can light up the hardware just fine and provide decent 2D/3D/video acceleration and will work fine for basic use-cases -- advanced NVIDIA driver functionality, top-notch performance, and OpenGL 4 support are among the missing items. The most pressing issue though is likely the continued lack of dynamic power management / re-clocking support, which badly hinders modern NVIDIA GPUs from performing well on NVIDIA and leads to inefficient use of the graphics card.
The other unfortunate problem with Nouveau is that it can be notorious for regressions between Linux kernel and Mesa releases. As mentioned in past Phoronix articles, dealing with Nouveau can be really like a game of Russian Roulette in terms of whether your NVIDIA GPU will work or not. In this latest round of testing I did from the Linux 3.13 kernel and the latest Mesa/Gallium3D development state, this statement still holds true and for several graphics cards that previously worked quite well with Nouveau, are no longer even showing a picture on the screen. So aside from the performance data on Nouveau and other open-source drivers that will be shared this weekend, in this article are just notes on different NVIDIA graphics cards that encountered issues with this graphics driver.
Before sharing those findings, first I must say I was rather surprised to see the GeForce GTX 760 and GTX 770 graphics cards playing nicely with the Linux 3.13 kernel and Mesa 10.1-devel. While the performance for these newer NVIDIA "Kepler" graphics cards were slow due to lacking re-clocking / power management support, the accelerated OpenGL support was there and the benchmarks were running fine without rendering defects. These newer Kepler graphics cards ran decent and in some regards even better than the several year old GeForce graphics cards. With the Linux 3.14 kernel will also come open-source support for the GeForce GTX 780 and TITAN (GK110 GPUs), so when the 3.14 kernel is further along those graphics cards on the open-source driver will be tested at Phoronix.