. Latest news:
30.04.2008 posted by pachi
New TiNDC #38 spanish translation here
here
Nouveau : Open Source 3D acceleration for nVidia cards
About Nouveau
This is the homepage of nouveau, a project which aims at producing Open Source 3D drivers for nVidia cards. "nouveau" [nuvo] is the french word for "new". If you have questions, please have a look at our FAQ.
If you want to help development, there are two main resources: the IRC channel and Mailing lists.
Most development talk occurs in the freenode irc channel #nouveau, so we keep logs of it, both in the form of raw logs and as edited summaries, the so called 'TiNDC's, or The irregular Nouveau Development Companions. You can find them both in the IrcChatLogs page.
We use several mailing lists: the nouveau list is where bug reports and nouveau development talk takes place (check IRC logs first!); the dri-devel list belongs to the DRI project, where nouveau changes are eventually integrated; and the cvs commits list registers changes to the doc, rules-ng and renouveau modules.
We are also interested in what is said about the project, so links are collected in the page InThePress.
Current Status
2D-support is in fairly good shape with EXA acceleration, Xv and Randr12 (think of dual-head, rotations, etc.). Randr12 should work for all cards up to, but not including, Geforce 8000 series. Randr12 is now the default. Any 3D support is still limited for extremely lucky developers. Also, VT switching while X is running is considered lucky. We keep a status matrix and a TODO list.
Users can check the list of currently needed and supplied Renouveau dumps and see if more information about their cards can be helpful to the project. Nowadays mmiotraces are probably more useful, see MmioTraceHowto. If you have nVidia hardware you don't need, donating it could be helpful! Propose your card on the IRC channel and see if a developer wants it.
For developers and advanced user we have instructions on Howto compile and use nouveau.
Randr12 is a part of the main development. Some notes about NV50 can be found there, if you know anything, please add it there.
Specific testing requests can be found in the TestersWanted page. Check it out!
News
30.04.2008 posted by pachi
Spanish translation of TiNDC #38 here
08.04.2008 posted by Mjules
French translation of TiNDC #38 here
04.04.2008 posted by KoalaBR
New TiNDC #38 here
28.03.2008 posted by tuXXX
New french translation of TiNDC #37 here and #36 here
27.03.2008 posted by KoalaBR
There seems to be a pattern here, as we are always late with our SoC request: If you want to work on Nouveau and get paid, please have a look here: SoC. It is urgent though, only 3 days left!
Bugs
We use the freedesktop.org Bugzilla. Nouveau (2D driver) is under Product xorg, Component Driver/nouveau. The 3D driver is under Product Mesa, Component Drivers/DRI/nouveau, but please do not submit bugs on 3D support yet.
We do have a mailing list where you can send in bug reports, ask questions, discuss patches or what ever is related to nouveau and its tools. You can find it here: http://lists.freedesktop.org/mailman/listinfo/nouveau
Feel free to search and submit bugs about 2D implementation, please search the bugzilla before submitting new bugs. If you are not sure your bug is a manifestation of an existing bug report, do open a new bug.
Links to current source code repositories
The current code is in upstream git trees on git.freedesktop.org.
Mesa GIT (3D driver) holds the DRI module in the src/mesa/drivers/dri/nouveau subdirectory.
DriProject There is information for nouveau DRI developers here.
DRM GIT (Memory management) holds the DRM module. To grab this, use git-clone git://anongit.freedesktop.org/git/mesa/drm
DrmProject There is more detailed technical information about the DRM project here.
The DDX git (2D driver) holds the "nv" DDX modified to initialize 3D operation.
Tools
Tools that help the driver writing process
REnouveau (view CVS) dumps the modifications in the command fifo and user-mapped registers when a process emits rendering commands. Read this page to learn how to submit dumps.
A modified nvclock this nvclock is modified in order to be able to read/write all the nVidia registers.
MmioTrace to trace memory mapped I/O access within kernel. It can be used to record how a driver module uses MMIO reads and writes, for reverse engineering and debugging.
RulesNG is a hardware register description database format.
Nvtrace is a variant of valgrind-mmt that aims to intercept all traffic to the driver
All our tools and scripts in CVS (e.g. crashdump and createdump) can be found here.
Debugging tools
OProfile is a useful statistical profiler, for a system wide performance overview.
Documentation/Available source code
Introduction and API docs
IntroductoryCourse - selected links and documents as a course material
CtxInit - How to create a new context init
GalliumHowto in case you are brave enough. Please don't come and complain if it doesn't work for you.
How to build and install a full graphics stack from git without overwriting your distribution provided X.
Presentations
Video Hardware docs
Other nVidia drivers
Misc
NvHardwareDocs all documented nv registers, hardware protocols, articles, and miscellaneous hardware info about nv vid cards
Games - how games use graphics
List of all CodeNames for NVIDIA cards
openChrome Project - open source device drivers for VIA S3 (has updated XvMC with MPEG-4 acceleration support)
intellinuxgraphics.org open source Linux Graphics Device Drivers from Intel (with XvMC for MPEG-2 acceleration support)
R300 DRI (Direct Rendering Infrastructure) - open source device drivers development for AMD/ATI R300 chipset
Gallium3D - where Mesa is going
NouveauDemo a test suite

