illnyang / nvlax

Future-proof NvENC & NvFBC patcher (Linux/Windows)
GNU General Public License v3.0
163 stars 17 forks source link

nvlax_encode: command not found (Windows 10 / WSL2) #5

Closed ninbura closed 2 years ago

ninbura commented 2 years ago

I'm getting the error nvlax_encode: command not found after building via cmake, platform in this case is Windows 10 and I'm using WSL2.

What am I missing?

https://i.imgur.com/RzwTLxS.png

nerijus commented 2 years ago

Use ./nvlax_encode

ninbura commented 2 years ago

I thought to try that but somehow reasoned that asking would be faster, not sure why as it would have taken me 2 seconds to test.

Even after getting nvlax_encode to run I was getting the error Unable to open the file!, but that's because I was copying the command ./nvlax_encode -i nvEncodeAPI64.dll -o nvEncodeAPI64.dll verbatim. Unlike last time I decided to try what I'd think may fix the issue, and I just needed to provide the proper path to the file: ./nvlax_encode -i /mnt/c/Windows/System32/nvEncodeAPI64.dll -o /mnt/c/Windows/System32/nvEncodeAPI64.dll. Though this was just another "guess" at what action I needed to take, as the error didn't read nvEncodeAPI64.dll does not exist in this directory, for example.

These are all probably viewed as actions the user should know to take, but I'm not sure it's that obvious, at least I didn't immediately think to take them before reaching out. I believe a lack of specific instructions, or at least an explanation of some of the nuance here makes this patching process fairly inaccessible to more oblivious users. Even just installing cmake without pointing to instructions somewhere feels like it would be quite the hurdle for some people, though maybe even installing WSL2 would fall into that category.

Nevertheless it looks like I've got it working, and I really appreciate the work put into creating this process. Thanks for the help @nerijus!

ninbura commented 2 years ago

Looks like I spoke too soon, if I run more than 3 encodes via FFmpeg I get the [h264_nvenc @ 0000022742a41300] OpenEncodeSessionEx failed: out of memory (10): (no details) error.

Re-installed the driver restarted and patched again, still not working. This is the output when running the patch:

root@ASexyCapturer:~/nvlax/build# ./nvlax_encode -i /mnt/c/Windows/System32/nvEncodeAPI64.dll -o /mnt/c/Windows/System32/nvEncodeAPI64.dll
Unable to find the section associated with CERTIFICATE_TABLE
[+] nvEncodeAPI64.dll
[+] patched successfully
root@ASexyCapturer:~/nvlax/build# ./nvlax_encode -i /mnt/c/Windows/SysWOW64/nvEncodeAPI.dll -o /mnt/c/Windows/SysWOW64/nvEncodeAPI.dll
Unable to find the section associated with CERTIFICATE_TABLE
[+] nvEncodeAPI.dll
[+] patched successfully

Maybe something to do with patching in place?

PS: driver version is 496.49.