It has been a few weeks since NVIDIA last pushed out a Linux display driver update (173.14.12), but this morning already they have pushed out a new update. The just-released NVIDIA 177.67 display driver doesn't introduce OpenGL 3.0 support or any other major features, but it does look to resolve a number of bugs, provide improvements to the Render extension, add official support to the GeForce GTX 260/280 graphics cards, and a number of other improvements.
Back on June 16 NVIDIA had released the GeForce GTX 260 and GTX 280 graphics cards. These two PCI Express graphics cards are NVIDIA's new high-end solutions for consumers and the first in the GTX series. On the same day they had provided 2D-only open-source support for the GTX 260/280 in their xf86-video-nv driver and later they had then released the 177.13 driver with beta support for these new GPUs. For the past two months this support has only been available through the beta driver, but the support has finally been christened today with the 177.67 official driver release.
Back in December NVIDIA had delivered major XRender improvements for its binary driver. The performance of this X extension was improved significantly, as our benchmarks had shown. With the 177.67 driver are some additional Render extension improvements. This driver has improved support for Render masks and Render repeating modes and transformations for video memory pixmaps. Additionally, they have accelerated support for Render convolution filters for video memory pixmaps on the GeForce 8, 9, and GTX series.
In addition to the Render extension improvements, NVIDIA engineers hope to have addressed some of the stability problems found on the GeForce 8, 9, and GTX graphics processors. Some GeForce 6 and 7 PCI Express GPUs may also have improved stability.
ATI's binary fglrx driver has supported DisplayPort for several months. Now, however, that NVIDIA is pushing out DisplayPort-capable products, the NVIDIA driver has picked up this support too. The 177.67 driver supports DisplayPort display devices, including 30-bit devices.
NVIDIA engineers have worked out a bug that caused GPU errors when changing TwinView modes with Compiz enabled, improved the error recovery paths taken in case of GPU command stream corruption, removed an old workaround that caused fake Xinerama information to be reported, and fixed a problem that resulted in IRQs being disabled on some multi-GPU SMP systems. This driver has also added an AllowSHMPixmaps option to the driver, which is used for toggling whether applications can use shared memory pixmaps. While NVIDIA's newest graphics cards don't support XvMC, this driver release does fix the sub-picture component order reported by the driver's XvMC implementation.
Last but not least, the NVIDIA 177.67 Linux driver works around a cache-flushing problem on some kernels that had caused corruption and stability problems. They have also added experimental support for PCI Express MSI and improved compatibility with recent Linux 2.6 kernels.
This is NVIDIA's biggest Linux driver update this summer, but it's sad to see they aren't providing any OpenGL 3.0 support yet on Linux/FreeBSD/Solaris when they have already done so for Windows. The improved stability is great along with the Render extension improvements, but in our initial tests of this new driver we have found that the render-bench test profile within the Phoronix Test Suite actually runs slower with this new driver. In addition, when using the NVIDIA Quadro NVS 140M at least, it doesn't appear they have yet fixed the 2D performance problems. It's about time they officially support the GeForce GTX 260/280 graphics cards on Linux as well as DisplayPort interfaces. Next week is their inaugural NVISION conference and hopefully there is more good news for Linux users coming out of that event.
NVIDIA's Linux, Solaris, and FreeBSD binary drivers can be downloaded here.