2D support for the nv3 and up (everything from the Riva to now, basically) is available in Xorg in the
Currently NVIDIA 3D DRI development is being done in the Nouveau project, which is rewriting the DDX driver (
nv is provided by NVIDIA and is obfuscated, new
nouveau will replace it), co-operating with other teams to improve DRM architecture to support NVIDIA cards and writing 3D/DRI support on top of those.
nVidia provides their own closed-source binary drivers, which are not based on the DRI. DRI developers can not help you with issues with the closed drivers. A DRM module for nVidia hardware was developed as part of the EXA work for that chip. This is currently available in DRM CVS, but not in any mainline kernel. Full DRI support would require adding DRI awareness to the 2D driver, and porting the 3D driver from UtahGLX.
No support exists for the original nv1 chip anymore. For details, see NV1.
Hardware specs are not available. Some reverse engineering has been done and can be found at RivaTV Riva128. More reverse engineering in Nouveau.
The hardware appears to be slightly more complex than your typical queue-up-the-vertices-and-fire card. There seems to be extensive state tracking in the hardware itself, which is probably used to optimize performance when multiple GL contexts are active.
nVidia nForce AGPGART driver
UtahGLX also has an old, basic support for nVidia Riva / TNT / GeForce for XFree86 3.3 and 4.0. Someone could port this to DRI.
Nouveau project aims at producing Open Source 3D drivers for NVIDIA cards.