illnyang / nvlax

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

Cannot perform NvFBC patch on 495.44 #9

Closed itsTyrion closed 2 years ago

itsTyrion commented 2 years ago

Built according to unstructions, ran the commands: cp /usr/lib/libnvidia-fbc.so.495.44 . ./nvlax_fbc -i ./libnvidia-fbc.so.495.44 -o ./libnvidia-fbc.so.495.44

Got:

[+] libnvidia-fbc.so
Assertion 'found' failed (ERROR)
  in file lax_fbc.cc, line 77
  function: int main(int, char**)
terminate called after throwing an instance of 'ppk::assert::AssertionException'
  what():  
[1]    24138 IOT instruction (core dumped)  ./nvlax_fbc -i /usr/lib/libnvidia-fbc.so.495.44 -o
itsTyrion commented 2 years ago

Likely very related to #7

illnyang commented 2 years ago

Send me your sample .so's (zippyshare will do) or checksums of those. Can't reproduce the issue on my end

itsTyrion commented 2 years ago

zippyshare is geoblocked so here's both .so files on my VPS: https://v.itstyrion.de/mirror/libnvidia-495.44.zip (same error with both the NvFBC and NvENC patch on the respective so) image

SHA1 sums: 76077b3641461ce7488b1cb0f6d450bb11ce3b7e libnvidia-encode.so.495.44 0c9fe6a07e9000684f84249b68a87d448a74fec7 libnvidia-fbc.so.495.44

I'm on Fedora 35 btw

OceanS2000 commented 2 years ago

@itsTyrion AFAIK this patch and original nvidia-patch project only works on 64-bit version of driver. Unless you specifically need to run 32-bit application with patched driver you probably only need to patch the 64-bit version anyways.

On my Gentoo installation there is a 32-bit library in /usr/lib and 64-bit one in /usr/lib64.

SHA1 sums on my machine:

0c9fe6a07e9000684f84249b68a87d448a74fec7  /usr/lib/libnvidia-fbc.so
85197fccaee9f5bdd2ba0e3405b81e0c8c277e52  /usr/lib64/libnvidia-fbc.so (this is the one 64-bit application uses)

So it seems to me that you are trying to patch the 32-bit version but the 64-bit one is the way to go. Not familiar with how fedora handles 32-bit and 64-bit libraries, but maybe you could look into /usr/lib64

itsTyrion commented 2 years ago

.... How the actual hell did I not think of lib64? :facepalm: Thanks. image Works now. Error has been located in front of screen