Envytools
Tools for people envious of nvidia's blob driver.
Install / Use
/learn @envytools/EnvytoolsREADME
========= envytools
Tools for people envious of nvidia's blob driver.
.. image:: https://travis-ci.org/envytools/envytools.svg?branch=master :target: https://travis-ci.org/envytools/envytools
.. image:: https://readthedocs.org/projects/envytools/badge/?version=latest :target: https://envytools.readthedocs.io
The canonical repo is at: https://github.com/envytools/envytools/. Pushing anywhere else will result in a de-facto fork!
Contents
Subdirectories:
docs: plain-text documentation of the GPUs, nVidia binary driver, and the tools (in-sync HTML version at https://envytools.readthedocs.io)envydis: Disassembler and assembler for various ISAs found on nvidia GPUsrnn: Tools and libraries for the rules-ng-ng XML register database formatrnndb: rnn database of nvidia MMIO registers, FIFO methods, and memory structures.nvbios: Tools to decode the card description structures found in nvidia VBIOSnva: Tools to directly access the GPU registersvstream: Tools to decode and encode raw video bitstreamsvdpow: A tool aiding in VP3 reverse engineeringeasm: Utility code dealing with assembly language parsing & printing.util: Misc utility code shared between envytools modules
Building, installing
Dependencies:
cmakelibxml2flexbisonpkg-config
Optional dependencies needed by hwtest:
libpciaccess
Optional dependencies needed by demmt:
libdrmlibseccomp
Optional dependencies needed by nva:
libpciaccesslibx11libxextpython3cython3
Optional dependencies needed by vdpow:
libpciaccesslibx11vdpau
Optional dependencies needed for ninja build (faster recompile times):
ninja
If your distribution has -dev or -devel packages, you'll also need ones corresponding to the dependencies above.
On ubuntu it can be done like this::
apt-get install cmake flex libpciaccess-dev bison libx11-dev libxext-dev libxml2-dev libvdpau-dev python3-dev cython3
To build using ninja (recommended if you work on envytools)::
$ cmake . -G Ninja
$ ninja
If you prefer to stay with make, use ::
$ cmake .
$ make
To install [which is optional], use ::
$ ninja install
or ::
$ make install
If you want to install to a non-default directory, you'll also need to pass it as an option to cmake before building, eg.::
$ cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr/local .
Cmake options
If you don't want to compile some parts of envytools, you can pass the following options to cmake:
- Hwtest:
-DDISABLE_HWTEST=ON - Nva:
-DDISABLE_NVA=ON - VDPOW:
-DDISABLE_VDPOW=ON
Related Skills
node-connect
341.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.5kCommit, push, and open a PR
