Clone this wiki locally
This wiki page is meant to help beginners to start working on nvidia cards and pscnv.
Please understand that the one who knows if this page is actually useful is you! So, please let us know on IRC if you need some additional information to get started.
REMINDER: Whenever you've learned something, please write the documentation right away on the wiki/envytool.
- BAR: It is a area of memory or IO ports exposed by a PCI card.
- MMIO: Memory-mapped Input Output. See BAR.
- Channel: Channels receive commands from the users and executes them.
- Virtual Memory: Provides a personal address space for every channel.
- Nvidia Codenames: Tells you about nvidia's way to name chipsets
- FUC: A microcode language that is being used almost everywhere on nvc0.
- The (almighty) blob: The proprietary nvidia driver
NVidia cards are split in several engines that are doing dedicated things.
Here is the list of the different engines of the nvidia cards:
- PFIFO -- aka the command submission engine
- PGRAPH -- performs graphics operations like blitting and drawing triangles
See the dedicated Tools for the Reverser page.
See the dedicated Power Management page.
There is a list of small tasks to get started in nvidia development at TODO for newcomers.