In computing, nouveau is a software project aiming to develop free software drivers for Nvidia graphics cards, by reverse engineering Nvidia's current proprietary drivers for Linux. This project by X.Org Foundation and freedesktop.org was initially based on the obfuscated 2D-only free and open-source "nv" driver. The name of the project refers to the fact that "nouveau" means "new" in French.[1] The name was suggested by the original author's IRC client's French autoreplace feature which suggested the word "nouveau" when he typed "nv".[2]
Like most other 3D graphics drivers for X.Org, nouveau is implemented as a module and is licensed under the MIT license. It originally used the Direct Rendering Infrastructure (DRI) of Mesa 3D for rendering 3D computer graphics, which allows to accelerate 3D drawing using the graphics processing unit (GPU) directly from the 3D application; but in February 2008 the work on DRI support ceased and moved on to the new Gallium3D.[3][4]
Contents |
The nouveau driver has been used as the default open-source driver for Nvidia cards in the Fedora 11[5] and openSUSE 11.3[6] distributions of Linux. It is included in the repository of Ubuntu 9.04[7] and made default in Ubuntu 10.04.[8] It is also included in Debian.[9] The drivers included in these operating systems, however, do not allow hardware acceleration of 3D operations.
On 10 December 2009 nouveau was accepted in the 2.6.33 version of Linux kernel as a staging driver.[10]
Fedora 13 (May 2010) allows installing the mesa-dri-drivers-experimental package, which activates experimental hardware acceleration for 3d graphics, which was not activated without this package.
3D acceleration is included in the Ubuntu 10.10 archives in the libgl1-mesa-dri-experimental package. It is being considered for default installation in Ubuntu 11.04 for improved Unity support.[11]
Compiz recommends nouveau over the Nvidia proprietary driver.[12]
The project uses several custom-made programs for its reverse engineering, such as MmioTrace (Memory Mapped I/O Trace)[13] and REnouveau.
REnouveau (Reverse Engineering for nouveau)[14] is a program licensed under the GNU GPL (using SDL) that collects data for most of nouveau's reverse engineering work. Users with the proprietary NVIDIA drivers can help the development of nouveau by providing information about the hardware of their NVIDIA cards through REnouveau. REnouveau works by copying the current graphics card MMIO register space, drawing some graphics and taking another copy of the MMIO, and outputting the difference to a text file. It runs about six dozen different tests which the user of the computer then makes a tar.bz2 archive of and submits by e-mail, after which it is automatically transferred to the project's FTP servers for the developers to analyze.
|