commit fb93953d1e20c1332bcb4925d0d9379bc500ab6d
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Wed Jan 29 16:02:38 2025 +0000
Fix build
README | 49 ++++++++++++++++++++-----------------------------
nouveau-firmware.spec | 8 ++++----
sources | 4 ++--
3 files changed, 26 insertions(+), 35 deletions(-)
---
diff --git a/README b/README
index ef80cc0..9ea5180 100644
--- a/README
+++ b/README
@@ -1,29 +1,20 @@
-These are tools designed to help with reverse-engineering the VP2
-engine available on NVIDIA NV84-NV98 cards.
-
-h264_player:
-
- A player that is designed to play back exactly one video, for now:
-
http://www.h264info.com/clips.html, download The Simpsons Movie
- trailer, and run mplayer -dumpvideo foo.mkv. The resulting
- stream.dump file is the input file for h264_player.
-
- Note that it does not do any frame reordering, so the output is very
- jittery. Also since it doesn't have access to the picinfo, it's
- hardcoded to the right thing (so other videos are unlikely to play).
-
- (Current version commented s.t. it outputs just the first frame's
- YUV data on stdout.)
-
-bsp_test:
-
- Tries to make sure that the BSP engine is accessible and functioning
- properly. Invokes the 0x304 "write semaphore" method, and checks
- whether the value is indeed written.
-
-decode_frame:
-
- Standalone program that decodes a single NAL (that it loads from a
- separate file). This has all the bits necessary to do the actual
- decoding, but uses hardcoded picinfo, as h264_player above. Output
- is a YUV file on stdout.
+extract_firmware
+----------------
+
+This tool is for older NVIDIA blob versions. These had netlist
+archives embedded in them with gzip headers, and the video firmware
+was raw data in the object file.
+
+The output of the tool is the video firmware, and optionally, the
+extracted netlists classified by GPU (to potentially use in place of
+the nouveau-made firmware). This classification is only done for very
+specific versions.
+
+scanner
+-------
+
+This is an explorational tool (written in Go!) to search for
+compressed blobs inside of the blob object file. It uses relocation
+data to locate potentially interesting bits of the rodata to search
+through. The outputs are netlist archives, as well as "whole"
+files. These tend to be falcon programs, but some are just data files.
diff --git a/nouveau-firmware.spec b/nouveau-firmware.spec
index 251415b..a494fdd 100644
--- a/nouveau-firmware.spec
+++ b/nouveau-firmware.spec
@@ -6,10 +6,10 @@ Summary: Firmware files used by the nouveau Linux kernel driver
License: Redistributable, no modification permitted
URL:
https://nouveau.freedesktop.org/wiki/VideoAcceleration/
Source0:
https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-...
-Source1:
https://raw.github.com/imirkin/re-vp2/master/extract_firmware.py
-Source2:
https://raw.github.com/imirkin/re-vp2/master/README
+Source1:
https://raw.githubusercontent.com/envytools/firmware/refs/heads/master/ex...
+Source2:
https://raw.githubusercontent.com/envytools/firmware/refs/heads/master/RE...
-BuildRequires: python2-devel
+BuildRequires: python3
BuildArch: noarch
@@ -26,7 +26,7 @@ cp %{SOURCE2} .
%build
-%{__python2} %{SOURCE1}
+%{__python3} %{SOURCE1}
%install
diff --git a/sources b/sources
index aeddccc..0286bef 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-7975d50a07d9cd9131dba60aef32a86f extract_firmware.py
-ee9b52dcf9286c49fb23b6ca0d2b0e4a NVIDIA-Linux-x86_64-340.32.run
+SHA512 (extract_firmware.py) =
1b3fbf2e09cd4cbd63d8f86fde88560e1be2e187abd086a8737e69d66a21fc33079be2ab161186f76f42e2e54881325528e425b1f6f350ea3c37222f4e0d1a47
+SHA512 (NVIDIA-Linux-x86_64-340.32.run) =
24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4