The irregular Nouveau-Development companion
Issue for August 26, 2006
1. Introduction
Hello and welcome to the first issue of TiNDC. Through this companion we will try to tell you something about the status and progress of our work, what we are developing and where we could need some help from you. Now why "irregular"? Well, eloquent wrinting isn't exactly our strong point, not even our main interest. So we will create a new issue only if we find time, as development has top priority.
2. Current status
Since this is the first issue of TiNDC, perhaps a small overview of the current status would be a good idea. Currently most work is done in renouveau, while work in other areas is slowly starting.
Renouveau runs small OpenGL programs and dumps the current state of the Nvidia card. When comparing these dumps manually with the executed OpenGL program, it is possible to find out, what certain commands do. You can probably understand that this is a slow process. But pmdata has nearly completely charted all NV10 objects and commands, though quadro ones may still be missing.
Sturmflut did honor his name and flooded us with a bunchof patches, all for lightning stuff on NV20+. But still, there is much work left, for example at the time of the writing of this article, there were still 80 unknown commands for a NV40 based card (like Gforce 6600 etc.). Before this count for all cards intended to be supported hasn't dropped significantly, a complete and working driver for 3d operations is not more than just an illusion.
Nevertheless, development speed is picking up: While there were 187 patches to all modules during the month of July, this number was reached already on August, 22.
Some renouveau documentation autogenerated by additional doxygen annotation was added to our website recently and has seen quite some demand (please see our Help section too). Have a look there, if you want to know more about renouveau. Some more information can be gathered from the README in the renouveau CVS repository.
<marcheu> actually, you know how I came up with that name (or how I didn't, rather) ? |
Now for that, what most of you are looking for: Nouveau the new 3d enabled X11 driver (based on the current nv X11 driver) has gained a memory manager thanks to marcheu. This lead darktama and marcheu to try to initialize the card to a working 3d state, currently without success, as command execution comes to a grinding halt sooner or later. However, the 2d functionality including Xv, XAA and EXA is working again thanks to stillunknown and marcheu. But as the current version is based on the somewhat obfuscated X11-nv driver, no enhancements can be expected yet. XAA and EXA are two different acceleration architectures for X. Xv are the video extensions.
Further work was started by arlied who kindly offered to do "mode switching work" based on the nv and Haiku drivers (as well as his personal experience as a DRM maintainer). A sound foundation here will allow us for easy dual head configurations.
Adventurous users may try to use our version of the nv driver (called DDX) but shouldn't expect anything else than the X11-nv driver does. Current estimate for a usable first version is still summer 2007.
3. Help needed
Summer 2007 is too late for you, you want your driver earlier? No problem at all, just offer your help!
If you can program in C, know something about OpenGL you would be more than welcome if you would like to join our project. If not, you could still help us, if you have a quadro card (age doesn't matter, as long as the cards works in Linux). Just drop into IRC on freenode channel #nouveau and offer your help to darktama, marcheu, pmdata or lumag.
Currently we need:
A way to upload automatically generated html pages into the MoinMoin Wiki, so that KoalaBR can fold his docs (created through doxygen) into the official website (is this even possible?).
- If you have a Quadro card, please do contact pmdata, we are desperately seeking dumps of this cards.