Package Details: nvlax-git r11.b3699ad-8

Git Clone URL: https://aur.archlinux.org/nvlax-git.git (read-only, click to copy)
Package Base: nvlax-git
Description: Future-proof NvENC & NvFBC patcher
Upstream URL: https://github.com/illnyang/nvlax
Licenses: GPL
Conflicts: nvlax
Provides: nvlax, nvlax-git
Submitter: ventureo
Maintainer: ventureo
Last Packager: ventureo
Votes: 5
Popularity: 0.028035
First Submitted: 2021-11-17 17:02 (UTC)
Last Updated: 2023-06-16 16:17 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

ventureo commented on 2023-06-16 14:36 (UTC)

BTW, I would like to say that the patch for NvFBC works fine. For all those who did not get it to work before, I suggest reinstalling the nvidia-utils package.

ventureo commented on 2023-06-16 14:09 (UTC)

I think the problem is probably that nvlax does not pass the right value to the patch_address here

https://github.com/illnyang/nvlax/blob/trunk/src/lax_encode.cc#L101

Since my knowledge of C++ is very limited, I'm not sure I can make the right fix, but I'll try.

I advise everyone else to go back to using nvidia-patch, since the nvlax upstream won't seem to get any fixes until someone maybe does a fork.

detian commented on 2023-06-16 12:20 (UTC) (edited on 2023-06-16 12:21 (UTC) by detian)

after I patched nvencode with nvlax it shows "patched successfully", but when I try it with Verify-NVENC-patch, it failed. nvlax broken?

so I try other method like this from nvidia-patch :

sudo sed -i 's/\xe8\xa5\x9e\xfe\xff\x85\xc0\x41\x89\xc4/\xe8\xa5\x9e\xfe\xff\x29\xc0\x41\x89\xc4/g' /usr/lib/libnvidia-encode.so.535.54.03

Works and passed Verify-NVENC-patch

Driver Version: 535.54.03

mindbound commented on 2023-06-16 08:51 (UTC)

I could build via makepkg. Still odd that it fails when pulling with yay but at least it worked now, thank you!

ventureo commented on 2023-06-16 08:21 (UTC)

@mindbound I can't reproduce. Can you perform a build through makepkg?

mindbound commented on 2023-06-16 08:02 (UTC)

Build currently fails with

/home/mindbound/.cache/yay/nvlax-git/src/nvlax/build/_deps/lief_src-src/src/exception.cpp:58:1: error: no declaration matches ‘LIEF::read_out_of_bound::read_out_of_bound(uint64_t)’
   58 | read_out_of_bound::read_out_of_bound(uint64_t offset) : LIEF::exception("") {

ventureo commented on 2023-06-15 15:17 (UTC)

NVENC patch got a fix for 530.xx. This fix probably breaks compatibility with other driver versions, so don't be afraid to comment on applying it in PKGBUILD if you use a driver version below it.

The NvFBC patch will still be broken. But I will try to look for a fix.

gardotd426 commented on 2023-06-14 19:44 (UTC)

@ventureo both nvlax_fbc and nvlax_encode fail on 535.54.03:

nvlax_fbc:

[+] libnvidia-fbc.so
Assertion 'instr.mnemonic == ZYDIS_MNEMONIC_JNB' failed (ERROR)
  in file lax_fbc.cc, line 90
  function: int main(int, char**)
terminate called after throwing an instance of 'ppk::assert::AssertionException'
  what():
[1]    114360 IOT instruction (core dumped)  nvlax_fbc -i /usr/lib/libnvidia-fbc.so -o output.so

nvlax_encode:

[+] libnvidia-encode.so
Assertion 'found' failed (ERROR)
  in file lax_encode.cc, line 98
  function: void patch_linux(LIEF::ELF::Binary*)
terminate called after throwing an instance of 'ppk::assert::AssertionException'
  what():
[1]    115957 IOT instruction (core dumped)  nvlax_encode -i /usr/lib/libnvidia-encode.so -o output.so

ventureo commented on 2023-06-14 19:04 (UTC)

@joelselvaraj @gardotd426 Thanks for notice, the last commit fixes the build.

P. S. Note that the state of the upstream is miserable, and it is probably no longer compatible with driver version 530.xx and beyond (at least for NVENC, the NvFBC patching seems to still perform correctly).

joelselvaraj commented on 2023-06-06 13:05 (UTC)

In my testing, adding gcc12 to makedepends and compiling using gcc12 works fine. like by changing the line cmake -B build to CC=/usr/bin/gcc-12 CXX=/usr/bin/g++-12 cmake -B build