Skip to content

illnyang/nvlax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

target os: linux license: GPL v3 powered by: CMake powered by: CPM powered by: Zydis powered by: LIEF

nvlax

Future-proof NvENC & NvFBC patcher

Requirements

  • Working internet connection during configuration (i.e cloning does NOT include dependencies)
  • CMake
  • C++ compiler

Building

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

FAQ

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):

  • 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.

Windows support?

nvlax_encode accepts NVIDIA DLLs as input files. NvFBC patching is not supported yet, though.

Credits

keylase/nvidia-patch - this project wouldn't exist if it wasn't for their outstanding reverse-engineering efforts. thanks!

About

Future-proof NvENC & NvFBC patcher (Linux/Windows)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published