summaryrefslogtreecommitdiff
path: root/Development.mdwn
diff options
context:
space:
mode:
authorJoe Rayhawk <jrayhawk@freedesktop.org>2013-05-13 18:23:08 -0700
committerJoe Rayhawk <jrayhawk@freedesktop.org>2013-05-13 18:23:08 -0700
commit609edd336c1024de51f8ad58273ca2c89fb7a9e1 (patch)
treef1e4ee5e04c96aad5b187a386e68aea910d3add2 /Development.mdwn
parentca886494d085af5fbcb61f88eccbeabd73b6a588 (diff)
moin2mdwn: convert page Development
Diffstat (limited to 'Development.mdwn')
-rw-r--r--Development.mdwn91
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