diff --git a/README.md b/README.md index 2000a4d844f338f1558d84806f1fce59f1630b75..93c80592a94cacdeb35a357f8de6de88ff129c56 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ NVENC and NvFBC patches for Nvidia drivers ========================================== -  +  [NVENC patch](patch.sh) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. @@ -145,6 +145,7 @@ git clone https://ipfs.io/ipns/Qmed4r8yrBP162WK1ybd1DJWhLUi4t6mGuBoB9fLtjxR7u nv | 465.27 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/465.27/NVIDIA-Linux-x86_64-465.27.run) | | 465.31 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/465.31/NVIDIA-Linux-x86_64-465.31.run) | | 470.42.01 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/470.42.01/NVIDIA-Linux-x86_64-470.42.01.run) | +| 470.57.02 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/470.57.02/NVIDIA-Linux-x86_64-470.57.02.run) | ## Synopsis diff --git a/drivers.json b/drivers.json index 40b779b4ddd8b147a4f5a39fab3fed811d800560..0bf293887be29228891af1e4978d99b5af23fffb 100644 --- a/drivers.json +++ b/drivers.json @@ -597,6 +597,12 @@ "nvenc_patch": true, "nvfbc_patch": true, "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/470.42.01/NVIDIA-Linux-x86_64-470.42.01.run" + }, + { + "version": "470.57.02", + "nvenc_patch": true, + "nvfbc_patch": true, + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/470.57.02/NVIDIA-Linux-x86_64-470.57.02.run" } ], "example": { @@ -2982,6 +2988,51 @@ "patch64_url": "ws2016_x64/quadro_471.11/nvencodeapi64.1337", "patch32_url": "ws2016_x64/quadro_471.11/nvencodeapi.1337", "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/471.11/471.11-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "471.41", + "variant": "", + "patch64_url": "win10_x64/471.41/nvencodeapi64.1337", + "patch32_url": "win10_x64/471.41/nvencodeapi.1337", + "driver_url": "https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "471.41", + "variant": "Studio Driver", + "patch64_url": "win10_x64/nsd_471.41/nvencodeapi64.1337", + "patch32_url": "win10_x64/nsd_471.41/nvencodeapi.1337", + "driver_url": "https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win10-64bit-international-nsd-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "471.41", + "variant": "", + "patch64_url": "win7_x64/471.41/nvencodeapi64.1337", + "patch32_url": "win7_x64/471.41/nvencodeapi.1337", + "driver_url": "https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "471.41", + "variant": "", + "patch64_url": "ws2012_x64/quadro_471.41/nvencodeapi64.1337", + "patch32_url": "ws2012_x64/quadro_471.41/nvencodeapi.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/471.41/471.41-quadro-rtx-winserv-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "471.41", + "variant": "", + "patch64_url": "ws2016_x64/quadro_471.41/nvencodeapi64.1337", + "patch32_url": "ws2016_x64/quadro_471.41/nvencodeapi.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/471.41/471.41-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe" } ] } diff --git a/patch-fbc.sh b/patch-fbc.sh index 548687bd58bc5da56ed7296d9ebc1a525eb4bed1..6ee3f4e47c29a60095da67223d4fec3a66d79eac 100755 --- a/patch-fbc.sh +++ b/patch-fbc.sh @@ -115,6 +115,7 @@ declare -A patch_list=( ["465.27"]='s/\x83\xfe\x01\x73\x08\x48/\x83\xfe\x00\x72\x08\x48/' ["465.31"]='s/\x83\xfe\x01\x73\x08\x48/\x83\xfe\x00\x72\x08\x48/' ["470.42.01"]='s/\x83\xfe\x01\x73\x08\x48/\x83\xfe\x00\x72\x08\x48/' + ["470.57.02"]='s/\x83\xfe\x01\x73\x08\x48/\x83\xfe\x00\x72\x08\x48/' ) declare -A object_list=( @@ -186,6 +187,7 @@ declare -A object_list=( ["465.27"]='libnvidia-fbc.so' ["465.31"]='libnvidia-fbc.so' ["470.42.01"]='libnvidia-fbc.so' + ["470.57.02"]='libnvidia-fbc.so' ) check_version_supported () { diff --git a/patch.sh b/patch.sh index c06281ff8ded045a6931fd22d2312ad8c068b686..fee80f6296b5bb841f8a48eb6fddbe6eef43cce8 100755 --- a/patch.sh +++ b/patch.sh @@ -152,6 +152,7 @@ declare -A patch_list=( ["465.27"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g' ["465.31"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g' ["470.42.01"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g' + ["470.57.02"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g' ) declare -A object_list=( @@ -259,6 +260,7 @@ declare -A object_list=( ["465.27"]='libnvidia-encode.so' ["465.31"]='libnvidia-encode.so' ["470.42.01"]='libnvidia-encode.so' + ["470.57.02"]='libnvidia-encode.so' ) check_version_supported () { diff --git a/win/README.md b/win/README.md index 2cb5795924d98f1d43859ba7b03bf9ba228c3142..7450a0fb71e3913b6d414a83d7efadf99c9ef8f6 100644 --- a/win/README.md +++ b/win/README.md @@ -1,7 +1,7 @@ NVENC and NvFBC patches for Windows Nvidia drivers ================================================== -   +   NVENC patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. @@ -54,7 +54,7 @@ git clone https://ipfs.io/ipns/Qmed4r8yrBP162WK1ybd1DJWhLUi4t6mGuBoB9fLtjxR7u nv 5. Apply x86 library patch to corresponding file in `%WINDIR%\SysWOW64\` in the same way as previous one. - *If patching fails, close all applications using nvencodeapi.dll, such as OBS Studio, Plex or Discord.* -**Example:** for 64bit Windows 10 running driver version 471.11, use `win10_x64/471.11/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` **and** `win10_x64/471.11/nvencodeapi.1337` against `C:\WINDOWS\SysWOW64\nvencodeapi.dll`. +**Example:** for 64bit Windows 10 running driver version 471.41, use `win10_x64/471.41/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` **and** `win10_x64/471.41/nvencodeapi.1337` against `C:\WINDOWS\SysWOW64\nvencodeapi.dll`. If you experience issues with streaming software based on Nvidia streaming facilities (Nvidia Shield TV, Moonlight), you also have to import few registry values in order to workaround binary signature mismatch. See [**skip\_sig\_check** (clickable)](skip_sig_check) directory for instructions. @@ -176,6 +176,8 @@ Credits to [TroubleChute channel](https://www.youtube.com/channel/UCkih2oVTbXPEp | GeForce | 466.77 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/466.77/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/466.77/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/466.77/466.77-desktop-win10-64bit-international-whql.exe) | | GeForce | 471.11 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/471.11/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/471.11/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.11/471.11-desktop-win10-64bit-international-whql.exe) | | GeForce | 471.11 Studio Driver | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_471.11/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_471.11/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.11/471.11-desktop-win10-64bit-international-nsd-whql.exe) | +| GeForce | 471.41 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/471.41/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/471.41/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win10-64bit-international-whql.exe) | +| GeForce | 471.41 Studio Driver | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_471.41/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_471.41/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win10-64bit-international-nsd-whql.exe) | | Product series | Version | x64 library patch | x86 library patch | Driver link | @@ -287,6 +289,7 @@ Credits to [TroubleChute channel](https://www.youtube.com/channel/UCkih2oVTbXPEp | GeForce | 466.63 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/466.63/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/466.63/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/466.63/466.63-desktop-win8-win7-64bit-international-whql.exe) | | GeForce | 466.77 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/466.77/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/466.77/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/466.77/466.77-desktop-win8-win7-64bit-international-whql.exe) | | GeForce | 471.11 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/471.11/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/471.11/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.11/471.11-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 471.41 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/471.41/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/471.41/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/471.41/471.41-desktop-win8-win7-64bit-international-whql.exe) | | Product series | Version | x64 library patch | x86 library patch | Driver link | @@ -334,6 +337,7 @@ Credits to [TroubleChute channel](https://www.youtube.com/channel/UCkih2oVTbXPEp | Quadro | 462.31 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_462.31/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_462.31/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/462.31/462.31-quadro-rtx-winserv-2012r2-64bit-international-whql.exe) | | Quadro | 462.59 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_462.59/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_462.59/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/462.59/462.59-quadro-rtx-winserv-2012r2-64bit-international-whql.exe) | | Quadro | 471.11 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_471.11/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_471.11/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/471.11/471.11-quadro-rtx-winserv-2012r2-64bit-international-whql.exe) | +| Quadro | 471.41 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_471.41/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_471.41/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/471.41/471.41-quadro-rtx-winserv-2012r2-64bit-international-whql.exe) | ### Windows Server 2016, 2019 drivers @@ -366,6 +370,7 @@ Credits to [TroubleChute channel](https://www.youtube.com/channel/UCkih2oVTbXPEp | Quadro | 462.31 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_462.31/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_462.31/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/462.31/462.31-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe) | | Quadro | 462.59 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_462.59/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_462.59/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/462.59/462.59-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe) | | Quadro | 471.11 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_471.11/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_471.11/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/471.11/471.11-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 471.41 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_471.41/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_471.41/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/471.41/471.41-quadro-rtx-winserv-2016-2019-64bit-international-whql.exe) | ## Benchmarks diff --git a/win/win10_x64/471.41/nvencodeapi.1337 b/win/win10_x64/471.41/nvencodeapi.1337 new file mode 100644 index 0000000000000000000000000000000000000000..767b41a2c1195c6478c4f7459cf650e6cd9bc095 --- /dev/null +++ b/win/win10_x64/471.41/nvencodeapi.1337 @@ -0,0 +1,6 @@ +>nvencodeapi.dll +000000000003D738:89->33 +000000000003D739:45->C0 +000000000003D73A:08->89 +000000000003D73B:85->45 +000000000003D73C:C0->08 \ No newline at end of file diff --git a/win/win10_x64/471.41/nvencodeapi64.1337 b/win/win10_x64/471.41/nvencodeapi64.1337 new file mode 100644 index 0000000000000000000000000000000000000000..3ce9749754989f7e7363d83ddb2e516458240b81 --- /dev/null +++ b/win/win10_x64/471.41/nvencodeapi64.1337 @@ -0,0 +1,5 @@ +>nvencodeapi64.dll +00000000000437AC:8B->33 +00000000000437AD:F0->C0 +00000000000437AE:85->8B +00000000000437AF:C0->F0 \ No newline at end of file diff --git a/win/win10_x64/nsd_471.41/nvencodeapi.1337 b/win/win10_x64/nsd_471.41/nvencodeapi.1337 new file mode 100644 index 0000000000000000000000000000000000000000..767b41a2c1195c6478c4f7459cf650e6cd9bc095 --- /dev/null +++ b/win/win10_x64/nsd_471.41/nvencodeapi.1337 @@ -0,0 +1,6 @@ +>nvencodeapi.dll +000000000003D738:89->33 +000000000003D739:45->C0 +000000000003D73A:08->89 +000000000003D73B:85->45 +000000000003D73C:C0->08 \ No newline at end of file diff --git a/win/win10_x64/nsd_471.41/nvencodeapi64.1337 b/win/win10_x64/nsd_471.41/nvencodeapi64.1337 new file mode 100644 index 0000000000000000000000000000000000000000..3ce9749754989f7e7363d83ddb2e516458240b81 --- /dev/null +++ b/win/win10_x64/nsd_471.41/nvencodeapi64.1337 @@ -0,0 +1,5 @@ +>nvencodeapi64.dll +00000000000437AC:8B->33 +00000000000437AD:F0->C0 +00000000000437AE:85->8B +00000000000437AF:C0->F0 \ No newline at end of file diff --git a/win/win7_x64/471.41/nvencodeapi.1337 b/win/win7_x64/471.41/nvencodeapi.1337 new file mode 100644 index 0000000000000000000000000000000000000000..2c9ddb89ebb5685bb52991eaa5ce7d1d79f9b6a7 --- /dev/null +++ b/win/win7_x64/471.41/nvencodeapi.1337 @@ -0,0 +1,5 @@ +>nvencodeapi.dll +00000000000242C9:8B->33 +00000000000242CA:D8->C0 +00000000000242CB:85->8B +00000000000242CC:DB->D8 \ No newline at end of file diff --git a/win/win7_x64/471.41/nvencodeapi64.1337 b/win/win7_x64/471.41/nvencodeapi64.1337 new file mode 100644 index 0000000000000000000000000000000000000000..95ea83841e130c034654c5890c0a61f67fdeff00 --- /dev/null +++ b/win/win7_x64/471.41/nvencodeapi64.1337 @@ -0,0 +1,5 @@ +>nvencodeapi64.dll +0000000000028A25:8B->33 +0000000000028A26:F0->C0 +0000000000028A27:85->8B +0000000000028A28:C0->F0 \ No newline at end of file diff --git a/win/ws2012_x64/quadro_471.41/nvencodeapi.1337 b/win/ws2012_x64/quadro_471.41/nvencodeapi.1337 new file mode 100644 index 0000000000000000000000000000000000000000..2c9ddb89ebb5685bb52991eaa5ce7d1d79f9b6a7 --- /dev/null +++ b/win/ws2012_x64/quadro_471.41/nvencodeapi.1337 @@ -0,0 +1,5 @@ +>nvencodeapi.dll +00000000000242C9:8B->33 +00000000000242CA:D8->C0 +00000000000242CB:85->8B +00000000000242CC:DB->D8 \ No newline at end of file diff --git a/win/ws2012_x64/quadro_471.41/nvencodeapi64.1337 b/win/ws2012_x64/quadro_471.41/nvencodeapi64.1337 new file mode 100644 index 0000000000000000000000000000000000000000..95ea83841e130c034654c5890c0a61f67fdeff00 --- /dev/null +++ b/win/ws2012_x64/quadro_471.41/nvencodeapi64.1337 @@ -0,0 +1,5 @@ +>nvencodeapi64.dll +0000000000028A25:8B->33 +0000000000028A26:F0->C0 +0000000000028A27:85->8B +0000000000028A28:C0->F0 \ No newline at end of file diff --git a/win/ws2016_x64/quadro_471.41/nvencodeapi.1337 b/win/ws2016_x64/quadro_471.41/nvencodeapi.1337 new file mode 100644 index 0000000000000000000000000000000000000000..767b41a2c1195c6478c4f7459cf650e6cd9bc095 --- /dev/null +++ b/win/ws2016_x64/quadro_471.41/nvencodeapi.1337 @@ -0,0 +1,6 @@ +>nvencodeapi.dll +000000000003D738:89->33 +000000000003D739:45->C0 +000000000003D73A:08->89 +000000000003D73B:85->45 +000000000003D73C:C0->08 \ No newline at end of file diff --git a/win/ws2016_x64/quadro_471.41/nvencodeapi64.1337 b/win/ws2016_x64/quadro_471.41/nvencodeapi64.1337 new file mode 100644 index 0000000000000000000000000000000000000000..3ce9749754989f7e7363d83ddb2e516458240b81 --- /dev/null +++ b/win/ws2016_x64/quadro_471.41/nvencodeapi64.1337 @@ -0,0 +1,5 @@ +>nvencodeapi64.dll +00000000000437AC:8B->33 +00000000000437AD:F0->C0 +00000000000437AE:85->8B +00000000000437AF:C0->F0 \ No newline at end of file