Tools

Tools that help the driver writing process:

  • EnvyTools - hardware register database, documentation and collection of RE tools (nvapeek, nvapoke, nvbios, envydis, etc.)
  • MmioTrace - traces memory mapped I/O access within kernel. Used to record how a driver module uses MMIO reads and writes.
  • Valgrind-mmt - modification of Valgrind which intercepts all traffic to the driver
  • Nouveau-PM
  • REnouveau (CVS) - dumps the modifications in the command fifo and user-mapped registers when a process emits rendering commands.

Obsolete:

Debugging tools

  • perf is a useful profiler, for a system wide performance overview.

Documentation/Available source code

Documentation about how nvidia hardware works

  • EnvyTools - hardware register database, documentation and collection of RE tools (nvapeek, nvapoke, nvbios, envydis, etc.)
  • NvHardwareDocs all documented nv registers, hardware protocols, articles, and miscellaneous hardware info about nv vid cards

Introduction and API docs

Presentations

Video Hardware docs

Other nVidia drivers

Misc