Merge pull request #232 from Snawoot/new_drivers

New drivers
This commit is contained in:
Snawoot 2020-02-03 18:49:04 +02:00 committed by GitHub
commit 742d082581
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 131 additions and 4 deletions

View File

@ -1,6 +1,6 @@
# nvidia-patch
![GitHub last commit](https://img.shields.io/github/last-commit/keylase/nvidia-patch.svg) ![Latest version](https://img.shields.io/badge/latest%20linux%20driver%20version-440.48.02-brightgreen.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/keylase/nvidia-patch.svg) ![Latest version](https://img.shields.io/badge/latest%20linux%20driver%20version-440.59-brightgreen.svg)
This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
@ -60,6 +60,7 @@ Requirements:
| 440.43.01 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.44 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.44/NVIDIA-Linux-x86_64-440.44.run) |
| 440.48.02 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.59 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.59/NVIDIA-Linux-x86_64-440.59.run) |
## Synopsis

View File

@ -249,6 +249,12 @@
"version": "440.48.02",
"nvenc_patch": true,
"nvfbc_patch": true
},
{
"version": "440.59",
"nvenc_patch": true,
"nvfbc_patch": true,
"driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.59/NVIDIA-Linux-x86_64-440.59.run"
}
],
"example": {
@ -1095,6 +1101,51 @@
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.99/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.99/nvencodeapi.1337",
"driver_url": ""
},
{
"os": "win10",
"product": "GeForce",
"version": "442.19",
"variant": "",
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/442.19/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/442.19/nvencodeapi.1337",
"driver_url": "https://international.download.nvidia.com/Windows/442.19/442.19-desktop-win10-64bit-international-whql.exe"
},
{
"os": "win10",
"product": "GeForce",
"version": "442.19",
"variant": "Studio Driver",
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_442.19/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_442.19/nvencodeapi.1337",
"driver_url": "https://international.download.nvidia.com/Windows/442.19/442.19-desktop-win10-64bit-international-nsd-whql.exe"
},
{
"os": "win10",
"product": "Quadro",
"version": "442.19",
"variant": "",
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_442.19/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_442.19/nvencodeapi.1337",
"driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-desktop-notebook-win10-64bit-international-whql.exe"
},
{
"os": "ws2016",
"product": "Quadro",
"version": "442.19",
"variant": "",
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_442.19/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_442.19/nvencodeapi.1337",
"driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-winserv-2016-2019-64bit-international-whql.exe"
},
{
"os": "ws2012",
"product": "Quadro",
"version": "442.19",
"variant": "",
"patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_442.19/nvencodeapi64.1337",
"patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_442.19/nvencodeapi.1337",
"driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-winserv-2012r2-64bit-international-whql.exe"
}
]
}

View File

@ -51,6 +51,7 @@ declare -A patch_list=(
["440.43.01"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/'
["440.44"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/'
["440.48.02"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/'
["440.59"]='s/\x85\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/\x31\xc0\x89\xc3\x0f\x85\xa9\xfa\xff\xff/'
)
declare -A object_list=(
@ -62,6 +63,7 @@ declare -A object_list=(
["440.43.01"]='libnvidia-fbc.so'
["440.44"]='libnvidia-fbc.so'
["440.48.02"]='libnvidia-fbc.so'
["440.59"]='libnvidia-fbc.so'
)
check_version_supported () {

View File

@ -87,6 +87,7 @@ declare -A patch_list=(
["440.43.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
["440.44"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
["440.48.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
["440.59"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
)
declare -A object_list=(
@ -132,6 +133,7 @@ declare -A object_list=(
["440.43.01"]='libnvidia-encode.so'
["440.44"]='libnvidia-encode.so'
["440.48.02"]='libnvidia-encode.so'
["440.59"]='libnvidia-encode.so'
)
check_version_supported () {

View File

@ -45,7 +45,7 @@ DRIVER_URL_TEMPLATE = {
(OSKind.Windows, Product.GeForce, WinSeries.win7, ''): "https://international.download.nvidia.com/Windows/$version/$version-desktop-win8-win7-64bit-international-whql.exe",
(OSKind.Windows, Product.GeForce, WinSeries.win7, 'Vulkan Beta'): "",
(OSKind.Windows, Product.Quadro, WinSeries.win7, ''): "https://international.download.nvidia.com/Windows/Quadro_Certified/$version/$version-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe",
(OSKind.Windows, Product.Quadro, WinSeries.ws2012, ''): "https://international.download.nvidia.com/Windows/Quadro_Certified/$version/$version-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe",
(OSKind.Windows, Product.Quadro, WinSeries.ws2012, ''): "https://international.download.nvidia.com/Windows/Quadro_Certified/$version/$version-quadro-winserv-2012r2-64bit-international-whql.exe",
(OSKind.Windows, Product.Quadro, WinSeries.ws2016, ''): "https://international.download.nvidia.com/Windows/Quadro_Certified/$version/$version-quadro-winserv-2016-2019-64bit-international-whql.exe",
}

View File

@ -1,7 +1,7 @@
Nvidia drivers patch for Windows
================================
![GitHub last commit](https://img.shields.io/github/last-commit/keylase/nvidia-patch.svg) ![Latest GeForce version](https://img.shields.io/badge/latest%20GeForce%20version-441.99-brightgreen.svg) ![Latest Quadro version](https://img.shields.io/badge/latest%20Quadro%20version-441.66-blue.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/keylase/nvidia-patch.svg) ![Latest GeForce version](https://img.shields.io/badge/latest%20GeForce%20version-442.19-brightgreen.svg) ![Latest Quadro version](https://img.shields.io/badge/latest%20Quadro%20version-442.19-blue.svg)
This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
@ -29,7 +29,7 @@ Requirements:
3. Save appropriate patch(es) from [Version Table](#version-table) using direct link to the patch (Right Click -> Save as...). Alternatively you may checkout repo using git or download it as ZIP archive and then locate corresponding .1337 patch file in `win` directory.
4. Apply x64 library patch to corresponding file in `%WINDIR%\system32\` with the Win\_1337\_Apply\_Patch tool. File name of patched object is specified in first line of .1337 patch. If x86 (32 bit) library patch is also available, apply it to same file in `%WINDIR%\SysWOW64\`.
E.g, for 64bit Windows 10 running driver version 441.99 use `win10_x64/441.99/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` and `win10_x64/441.99/nvencodeapi.1337` against `C:\WINDOWS\SysWOW64\nvencodeapi.dll`. *If patching fails, close all applications using nvencodeapi(64).dll, such as OBS Studio.*
E.g, for 64bit Windows 10 running driver version 442.19 use `win10_x64/442.19/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` and `win10_x64/442.19/nvencodeapi.1337` against `C:\WINDOWS\SysWOW64\nvencodeapi.dll`. *If patching fails, close all applications using nvencodeapi(64).dll, such as OBS Studio.*
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.
@ -77,6 +77,8 @@ A video tutorial is also available. Credits to designator2009. (*Covers older pa
| GeForce | 441.66 Studio Driver | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.66/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.66/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/441.66/441.66-desktop-win10-64bit-international-nsd-whql.exe) |
| GeForce | 441.87 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.87/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.87/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/441.87/441.87-desktop-win10-64bit-international-whql.exe) |
| GeForce | 441.99 Vulkan Beta | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.99/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.99/nvencodeapi.1337) | |
| GeForce | 442.19 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/442.19/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/442.19/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/442.19/442.19-desktop-win10-64bit-international-whql.exe) |
| GeForce | 442.19 Studio Driver | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_442.19/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_442.19/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/442.19/442.19-desktop-win10-64bit-international-nsd-whql.exe) |
| Product series | Version | x64 library patch | x86 library patch | Driver link |
@ -99,6 +101,7 @@ A video tutorial is also available. Credits to designator2009. (*Covers older pa
| Quadro | 441.12 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win10-64bit-international-whql.exe) |
| Quadro | 441.28 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.28/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.28/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.28/441.28-quadro-desktop-notebook-win10-64bit-international-whql.exe) |
| Quadro | 441.66 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.66/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.66/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.66/441.66-quadro-desktop-notebook-win10-64bit-international-whql.exe) |
| Quadro | 442.19 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_442.19/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_442.19/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-desktop-notebook-win10-64bit-international-whql.exe) |
### Windows 7, Windows 8, Windows 8.1 drivers
@ -150,6 +153,7 @@ A video tutorial is also available. Credits to designator2009. (*Covers older pa
| Quadro | 441.12 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) |
| Quadro | 441.28 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.28/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.28/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.28/441.28-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) |
| Quadro | 441.66 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.66/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.66/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.66/441.66-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) |
| Quadro | 442.19 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_442.19/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_442.19/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-winserv-2012r2-64bit-international-whql.exe) |
### Windows Server 2016, 2019 drivers
@ -166,6 +170,7 @@ A video tutorial is also available. Credits to designator2009. (*Covers older pa
| Quadro | 441.12 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv-2016-2019-64bit-international-whql.exe) |
| Quadro | 441.28 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.28/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.28/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.28/441.28-quadro-winserv-2016-2019-64bit-international-whql.exe) |
| Quadro | 441.66 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.66/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.66/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.66/441.66-quadro-winserv-2016-2019-64bit-international-whql.exe) |
| Quadro | 442.19 | [x64 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_442.19/nvencodeapi64.1337) | [x86 library patch](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_442.19/nvencodeapi.1337) | [Driver link](https://international.download.nvidia.com/Windows/Quadro_Certified/442.19/442.19-quadro-winserv-2016-2019-64bit-international-whql.exe) |
## Benchmarks

View File

@ -214,6 +214,8 @@ def patch_flow(installer_file, search, replacement, target, target_name, patch_n
installer_name = os.path.basename(installer_file).lower()
if 'winserv2008' in installer_name:
os_prefix = 'ws2012_x64'
elif 'winserv-2012' in installer_name:
os_prefix = 'ws2012_x64'
elif 'winserv-2016' in installer_name:
os_prefix = 'ws2016_x64'
elif 'win10' in installer_name:

View File

@ -0,0 +1,6 @@
>nvencodeapi.dll
000000000002A0B6:89->33
000000000002A0B7:45->C0
000000000002A0B8:08->89
000000000002A0B9:85->45
000000000002A0BA:C0->08

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
000000000002E93A:8B->33
000000000002E93B:F0->C0
000000000002E93C:85->8B
000000000002E93D:C0->F0

View File

@ -0,0 +1,6 @@
>nvencodeapi.dll
000000000002A0B6:89->33
000000000002A0B7:45->C0
000000000002A0B8:08->89
000000000002A0B9:85->45
000000000002A0BA:C0->08

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
000000000002E93A:8B->33
000000000002E93B:F0->C0
000000000002E93C:85->8B
000000000002E93D:C0->F0

View File

@ -0,0 +1,6 @@
>nvencodeapi.dll
000000000002A0B6:89->33
000000000002A0B7:45->C0
000000000002A0B8:08->89
000000000002A0B9:85->45
000000000002A0BA:C0->08

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
000000000002E93A:8B->33
000000000002E93B:F0->C0
000000000002E93C:85->8B
000000000002E93D:C0->F0

View File

@ -0,0 +1,5 @@
>nvencodeapi.dll
0000000000022097:8B->33
0000000000022098:D8->C0
0000000000022099:85->8B
000000000002209A:DB->D8

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
00000000000267C0:8B->33
00000000000267C1:F0->C0
00000000000267C2:85->8B
00000000000267C3:C0->F0

View File

@ -0,0 +1,5 @@
>nvencodeapi.dll
0000000000022097:8B->33
0000000000022098:D8->C0
0000000000022099:85->8B
000000000002209A:DB->D8

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
00000000000267C0:8B->33
00000000000267C1:F0->C0
00000000000267C2:85->8B
00000000000267C3:C0->F0

View File

@ -0,0 +1,6 @@
>nvencodeapi.dll
000000000002A0B6:89->33
000000000002A0B7:45->C0
000000000002A0B8:08->89
000000000002A0B9:85->45
000000000002A0BA:C0->08

View File

@ -0,0 +1,5 @@
>nvencodeapi64.dll
000000000002E93A:8B->33
000000000002E93B:F0->C0
000000000002E93C:85->8B
000000000002E93D:C0->F0