diff options
author | Joe Rayhawk <jrayhawk@freedesktop.org> | 2013-05-13 18:23:08 -0700 |
---|---|---|
committer | Joe Rayhawk <jrayhawk@freedesktop.org> | 2013-05-13 18:23:08 -0700 |
commit | 609edd336c1024de51f8ad58273ca2c89fb7a9e1 (patch) | |
tree | f1e4ee5e04c96aad5b187a386e68aea910d3add2 /Development.mdwn | |
parent | ca886494d085af5fbcb61f88eccbeabd73b6a588 (diff) |
moin2mdwn: convert page Development
Diffstat (limited to 'Development.mdwn')
-rw-r--r-- | Development.mdwn | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/Development.mdwn b/Development.mdwn new file mode 100644 index 0000000..a4b0167 --- /dev/null +++ b/Development.mdwn @@ -0,0 +1,91 @@ + +<a name="Tools"></a> +### Tools + +Tools that help the driver writing process: + +* [[EnvyTools|http://github.com/pathscale/envytools]] - hardware register database, documentation and collection of RE tools (nvapeek, nvapoke, nvbios, envydis, etc.) +* [[MmioTrace|MmioTrace]] - traces memory mapped I/O access within kernel. Used to record how a driver module uses MMIO reads and writes. +* [[Valgrind-mmt|Valgrind-mmt]] - modification of [[Valgrind|http://valgrind.org/]] which intercepts all traffic to the driver +* [[Nouveau-PM|http://nouveau.git.sourceforge.net/git/gitweb.cgi?p=nouveau/nouveau;a=tree;f=nouveau-pm]] +* [[REnouveau|REnouveau]] ([[CVS|http://nouveau.cvs.sourceforge.net/nouveau/renouveau/]]) - dumps the modifications in the command fifo and user-mapped registers when a process emits rendering commands. +Obsolete: + +* [[RulesNG|RulesNG]] - hardware register database (obsoleted by envytools). +* [[Nouveau CVS repo|http://nouveau.cvs.sourceforge.net/nouveau/]] - other tools and scripts (e.g. crashdump and createdump). +<a name="Docs"></a> + + +#### Debugging tools + +* [[OProfile|OProfile]] is a useful statistical profiler, for a system wide performance overview. + +### Documentation/Available source code + + +#### Documentation about how nvidia hardware works + +* [[EnvyTools|http://github.com/pathscale/envytools]] - hardware register database, documentation and collection of RE tools (nvapeek, nvapoke, nvbios, envydis, etc.) +* [[NvHardwareDocs|NvHardwareDocs]] all documented nv registers, hardware protocols, articles, and miscellaneous hardware info about nv vid cards + +#### Introduction and API docs + +* [[IntroductoryCourse|IntroductoryCourse]] - selected links and documents as a course material +* [[DRI, DDX, DRM, GLX... how it works together|dri-explanation.txt]] +* [[How to write a Mesa driver|http://dri.freedesktop.org/wiki/MesaDriver]] +* [[The DRI documentation page|http://dri.freedesktop.org/wiki/Documentation]] +* [[A locking mechanism for the DRI|http://dri.sourceforge.net/doc/hardware_locking_low_level.html]] +* [[Graphics Stack Overview|GraphicStackOverview]] +* [[A simple git guide|http://wiki.sourcemage.org/Git_Guide]] +* [[GalliumHowto|GalliumHowto]] +* [[How to build and install a full graphics stack from git|http://wiki.x.org/wiki/Development/git]] without overwriting your distribution provided X. +* [[KernelModeSetting|KernelModeSetting]] +* [[The State of Linux Graphics (2005)|https://sites.google.com/site/jonsmirl/graphics]] +* [[Sharpening the Intel Driver Focus (2009)|http://keithp.com/blogs/Sharpening_the_Intel_Driver_Focus/]] +* [[The Linux Graphics Stack (2012)|http://blog.mecheye.net/2012/06/the-linux-graphics-stack/]] +* [[i915 GEM crashcourse (driver-specific GPU buffers) (2012)|http://blog.ffwll.ch/2012/10/i915gem-crashcourse.html]] + +#### Presentations + +* [[Marcheu's talk about Xorg Myths (FOSDEM 2007)|http://icps.u-strasbg.fr/~marchesin/nvdri/fosdem1.pdf]] +* [[Marcheu's talk about Nouveau (FOSDEM 2007)|http://icps.u-strasbg.fr/~marchesin/nvdri/fosdem2.pdf]] +* [[The FOSDEM 2006 presentation|fosdem-nvidia-slides.sxi]] +* [[David Airlied's LCA 2007 talk|http://www.skynet.ie/~airlied/talks/lca07/nouveau.odp]] + +#### Video Hardware docs + +* [[X.Org How Video Cards Work|http://wiki.x.org/wiki/Development/Documentation/HowVideoCardsWork]] +* [[Alex Deucher's "Understanding GPUs from the ground up" blog post|http://www.botchco.com/agd5f/?p=50]] + +#### Other nVidia drivers + +* [[pscnv|http://github.com/pathscale/pscnv/wiki]], a redesigned fork of nouveau for NV50+ cards, driven by [[PathScale|PathScale]]. +* [[The DirectFB nVidia driver|http://www.directfb.org/index.php/viewcvs.cgi/DirectFB/gfxdrivers/nvidia]] **[[New address of DirectFB git repo|http://git.directfb.org/?p=core/DirectFB.git;a=summary]]** +* [[The BeOS/Haiku nVidia driver|http://web.inter.nl.net/users/be-hold/BeOS/NVdriver/index.html]] ([[svn header|http://dev.haiku-os.org/browser/haiku/trunk/headers/private/graphics/nvidia/]]; [[svn driver|http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/accelerants/nvidia]]) +* [[Utah-GLX|http://utah-glx.sourceforge.net/]] +* [[The xfree 3.3.3 nvidia driver just after obfuscation|http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/vga256/drivers/nv/?hideattic=0&only_with_tag=xf-3_3_3]] +<a name="About"></a> + + +#### Misc + +* [[Graphics stack diagram|http://fs.mupuf.org/mupuf/nvidia/archi.svg]] +* [[Mesa diagram|http://fs.mupuf.org/mupuf/nvidia/mesa.svg]] +* Another [[HOWTO|CompilingMesa]] compile mesa +* mostly outdated [[ToDo|ToDo]] +* [[Games|Games]] - how games use graphics +* List of all [[CodeNames|CodeNames]] for NVIDIA cards +* [[openChrome Project|http://www.openchrome.org]] - open source device drivers for VIA S3 (has updated [[XvMC|http://nouveau.freedesktop.org/wiki/XvMC]] with MPEG-4 acceleration support) +* [[intellinuxgraphics.org|http://intellinuxgraphics.org]] open source Linux Graphics Device Drivers from Intel (with [[XvMC|http://nouveau.freedesktop.org/wiki/XvMC]] for MPEG-2 acceleration support) +* [[R300 DRI (Direct Rendering Infrastructure)|http://dri.freedesktop.org/wiki/R300]] - open source device drivers development for AMD/ATI R300 chipset +* [[NouveauDemo|NouveauDemo]] a test suite +* [[DumpingVideoBios|DumpingVideoBios]] +* [[NouveauTerms|NouveauTerms]] +* [[BlobTrace|BlobTrace]] +* [[DDC|DDC]] +* [[Dithering|Dithering]] +* [[HwIntroduction|HwIntroduction]] +* [[PowerManagementDumps|PowerManagementDumps]] +* [[HangDiagnosis|HangDiagnosis]] +* [[MultiMonitorDesktop|MultiMonitorDesktop]] +* [[REnouveauDumps|REnouveauDumps]]
\ No newline at end of file |