Skip to content


miniwolf edited this page Apr 5, 2011 · 26 revisions

Introductory Course

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

## Engines

NVidia cards are split in several engines that are doing dedicated things.

Here is the list of the different engines of the nvidia cards:


See the dedicated Tools for the Reverser page.

## Power Management See the dedicated Power Management page.

Getting started

There is a list of small tasks to get started in nvidia development at TODO for newcomers.

You can’t perform that action at this time.