Open source Linux driver supports 3D acceleration with all GeForce GPUs
The Nouveau driver in the current Linux 3.8 development branch has recently acquired everything that's necessary to support the 3D acceleration features of any GeForce graphics hardware. Together with a current version of libdrm and the Nouveau 3D driver in Mesa 3D 9.0, this allows Linux applications to use 3D acceleration even with the most recent GeForce graphics cards.
The Nouveau drivers in stable Linux kernel versions already support the acceleration features of all GeForce chips; however, with some current mid-range and high-end cards, the features could previously only be used after making manual adjustments. This is due to acceleration only being available with the firmware from NVIDIA's proprietary graphics driver for the GF119 Fermi graphics core (for example used in GeForce GT 520, 520M, 520MX and 610M cards) that is part of the NVC0 family. The same applies for Kepler chips in the NVE0 family (for example used in GeForce GTX 670, 670M, 680, 680M, 690 cards). This firmware can't simply be obtained from the driver archive or downloaded from the internet; instead, prospective users must install the NVIDIA drivers and then laboriously extract the firmware when initialising the graphics hardware. However, just before New Year's Eve (and therefore after the completion of the main development phase of Linux 3.8), Linus Torvalds integrated various modifications that were mainly written by Red Hat employee Ben Skeggs and which enable the Nouveau driver itself to supply a firmware for the mentioned graphics chips (1, 2). For other GeForce graphics cores, the driver has offered all the necessary components for some time.
The latest modifications should allow the Nouveau driver to support the acceleration features of any current GeForce chip. The open source Linux drivers from AMD and Intel can also use the 3D capabilities of almost any graphics chip. This means that, ultimately, the open source drivers used in popular Linux distributions now support 3D acceleration with almost all of the graphics chips that are currently available in the PC market. The only current, commercially relevant exception is the graphics cores in AMD's Southern Islands generation, which are used in the latest mid-range to high-end Radeon HD 7750 to 7970 models; open source drivers for these cores are currently being developed in co-operation with AMD developers. Additionally, only rudimentary open source drivers are available for the PowerVR graphics cores that are used in some of the chipsets of Intel's Atom products.
The developers of the Nouveau driver don't receive any support from NVIDIA and use reverse engineering techniques to obtain the information they need to program their driver. Despite their latest milestone, NVIDIA's proprietary graphics driver will continue to be the preferable choice for many areas of use, as the Nouveau driver only offers rudimentary or no support for various important features. For example, decent fan control support is still in preparation and will initially only cover older GeForce chips; as a consequence, GeForce cards that don't regulate their fans themselves are rather noisy when operated with the Nouveau driver. Furthermore, the driver can't switch between the various graphics chip and memory speeds with many current cards and often causes the graphics hardware to run at the slowest operating speed – the 3D performance that is achievable this way is usually sufficient for 3D composited desktops such as Unity or the Gnome shell but stays well behind what NVIDIA's proprietary driver can tickle out of the same graphics hardware.