Future-proof NvENC & NvFBC patcher
- Working internet connection during configuration (i.e cloning does NOT include dependencies)
- 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.
Example of usage
Patch NvENC in-place:
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
Patch NvFBC in-place:
Linux: # nvlax_fbc -i /usr/lib/libnvidia-fbc.so.495.44 -o /usr/lib/libnvidia-fbc.so.495.44
How is this more future-proof?
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.
Which driver versions are supported?
I have tested this patcher against the following versions (on Linux):
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!