Future-proof NvENC & NvFBC patcher
- Working internet connection during configuration (i.e cloning does NOT include dependencies)
- CMake
- C++ compiler
git clone 'https://github.com/illnyang/nvlax.git'
cd nvlax
mkdir build && cd build
cmake ..
make
Protip: use WSL if you're using Windows.
Linux:
# nvlax_encode -i /usr/lib/libnvidia-encode.so.495.44 -o /usr/lib/libnvidia-encode.so.495.44
Windows:
# nvlax_encode -i nvEncodeAPI64.dll -o nvEncodeAPI64.dll
# nvlax_encode -i nvEncodeAPI.dll -o nvEncodeAPI.dll
Linux:
# nvlax_fbc -i /usr/lib/libnvidia-fbc.so.495.44 -o /usr/lib/libnvidia-fbc.so.495.44
This patcher performs assembly-level heuristics instead of naive pattern-matching. The patching itself works more/less the same way as in keylase/nvidia-patch.
I have tested this patcher against the following versions (on Linux):
- 470.74
- 495.29.05
- 495.44
It should work on previous versions as well. Please don't open-up new issues if you're using ancient drivers, thanks.
nvlax_encode
accepts NVIDIA DLLs as input files. NvFBC patching is not supported yet, though.
keylase/nvidia-patch - this project wouldn't exist if it wasn't for their outstanding reverse-engineering efforts. thanks!