Merge pull request #273 from Snawoot/ipfs_mirror

IPFS mirror
pull/274/head
Snawoot 4 years ago committed by GitHub
commit 948379b708
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -3,9 +3,15 @@ NVENC and NvFBC patches for Nvidia drivers
![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.82-brightgreen.svg)
NVENC patch (`patch.sh`) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
---
NvFBC patch (`patch-fbc.sh`) allows to use NvFBC on consumer-grade GPUs. It should be applied same way as NVENC `patch.sh`, except you have to use `patch-fbc.sh` instead.
IPFS mirror: [https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/](https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/)
---
[NVENC patch](patch.sh) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
[NvFBC patch](patch-fbc.sh) allows to use NvFBC on consumer-grade GPUs. It should be applied same way as NVENC `patch.sh`, except you have to use `patch-fbc.sh` instead.
Main target operating system is **GNU/Linux**, but for **Windows** support see [**win** (clickable)](win).
@ -19,64 +25,64 @@ Requirements:
| Version | NVENC patch | NVFBC patch | Driver link |
| :--- | :---: | :---: | ---: |
| 375.39 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run) |
| 390.77 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run) |
| 390.87 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run) |
| 396.24 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/396.24/NVIDIA-Linux-x86_64-396.24.run) |
| 396.26 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/396.26/NVIDIA-Linux-x86_64-396.26.run) |
| 396.37 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run) |
| 396.54 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/396.54/NVIDIA-Linux-x86_64-396.54.run) |
| 410.48 | :heavy_check_mark: | :x: | |
| 410.57 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.57/NVIDIA-Linux-x86_64-410.57.run) |
| 410.73 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.73/NVIDIA-Linux-x86_64-410.73.run) |
| 410.78 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run) |
| 410.79 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run) |
| 410.93 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run) |
| 410.104 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/410.104/NVIDIA-Linux-x86_64-410.104.run) |
| 415.18 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.18/NVIDIA-Linux-x86_64-415.18.run) |
| 415.25 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.25/NVIDIA-Linux-x86_64-415.25.run) |
| 415.27 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.27/NVIDIA-Linux-x86_64-415.27.run) |
| 418.30 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.30/NVIDIA-Linux-x86_64-418.30.run) |
| 418.43 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.43/NVIDIA-Linux-x86_64-418.43.run) |
| 418.56 | :heavy_check_mark: | :x: | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run) |
| 418.67 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/418.67/NVIDIA-Linux-x86_64-418.67.run) |
| 418.74 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.74/NVIDIA-Linux-x86_64-418.74.run) |
| 418.87.00 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/418.87/NVIDIA-Linux-x86_64-418.87.00.run) |
| 418.87.01 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/tesla/418.87/NVIDIA-Linux-x86_64-418.87.01.run) |
| 418.88 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.88/NVIDIA-Linux-x86_64-418.88.run) |
| 418.113 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.113/NVIDIA-Linux-x86_64-418.113.run) |
| 430.09 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.09/NVIDIA-Linux-x86_64-430.09.run) |
| 430.14 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.14/NVIDIA-Linux-x86_64-430.14.run) |
| 430.26 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.26/NVIDIA-Linux-x86_64-430.26.run) |
| 430.34 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.34/NVIDIA-Linux-x86_64-430.34.run) |
| 430.40 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run) |
| 430.50 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run) |
| 430.64 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.64/NVIDIA-Linux-x86_64-430.64.run) |
| 435.17 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run) |
| 435.21 | :heavy_check_mark: | :x: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run) |
| 435.27.08 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.26 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run) |
| 440.31 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run) |
| 440.33.01 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/tesla/440.33.01/NVIDIA-Linux-x86_64-440.33.01.run) |
| 440.36 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run) |
| 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.58.01 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.58.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) |
| 440.64 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.64/NVIDIA-Linux-x86_64-440.64.run) |
| 440.64.00 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/tesla/440.64.00/NVIDIA-Linux-x86_64-440.64.00.run) |
| 440.66.02 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.03 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.04 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.08 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.09 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.11 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.12 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.14 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.66.15 | :heavy_check_mark: | :heavy_check_mark: | |
| 440.82 | :heavy_check_mark: | :heavy_check_mark: | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-440.82.run) |
| 375.39 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run) |
| 390.77 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run) |
| 390.87 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run) |
| 396.24 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/396.24/NVIDIA-Linux-x86_64-396.24.run) |
| 396.26 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/396.26/NVIDIA-Linux-x86_64-396.26.run) |
| 396.37 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run) |
| 396.54 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/396.54/NVIDIA-Linux-x86_64-396.54.run) |
| 410.48 | YES | NO | |
| 410.57 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.57/NVIDIA-Linux-x86_64-410.57.run) |
| 410.73 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.73/NVIDIA-Linux-x86_64-410.73.run) |
| 410.78 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run) |
| 410.79 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run) |
| 410.93 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run) |
| 410.104 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/410.104/NVIDIA-Linux-x86_64-410.104.run) |
| 415.18 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.18/NVIDIA-Linux-x86_64-415.18.run) |
| 415.25 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.25/NVIDIA-Linux-x86_64-415.25.run) |
| 415.27 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/415.27/NVIDIA-Linux-x86_64-415.27.run) |
| 418.30 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.30/NVIDIA-Linux-x86_64-418.30.run) |
| 418.43 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.43/NVIDIA-Linux-x86_64-418.43.run) |
| 418.56 | YES | NO | [Driver link](https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run) |
| 418.67 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/418.67/NVIDIA-Linux-x86_64-418.67.run) |
| 418.74 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.74/NVIDIA-Linux-x86_64-418.74.run) |
| 418.87.00 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/418.87/NVIDIA-Linux-x86_64-418.87.00.run) |
| 418.87.01 | YES | NO | [Driver link](https://international.download.nvidia.com/tesla/418.87/NVIDIA-Linux-x86_64-418.87.01.run) |
| 418.88 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.88/NVIDIA-Linux-x86_64-418.88.run) |
| 418.113 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/418.113/NVIDIA-Linux-x86_64-418.113.run) |
| 430.09 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.09/NVIDIA-Linux-x86_64-430.09.run) |
| 430.14 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.14/NVIDIA-Linux-x86_64-430.14.run) |
| 430.26 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.26/NVIDIA-Linux-x86_64-430.26.run) |
| 430.34 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.34/NVIDIA-Linux-x86_64-430.34.run) |
| 430.40 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run) |
| 430.50 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run) |
| 430.64 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/430.64/NVIDIA-Linux-x86_64-430.64.run) |
| 435.17 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run) |
| 435.21 | YES | NO | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run) |
| 435.27.08 | YES | YES | |
| 440.26 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run) |
| 440.31 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run) |
| 440.33.01 | YES | YES | [Driver link](https://international.download.nvidia.com/tesla/440.33.01/NVIDIA-Linux-x86_64-440.33.01.run) |
| 440.36 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run) |
| 440.43.01 | YES | YES | |
| 440.44 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.44/NVIDIA-Linux-x86_64-440.44.run) |
| 440.48.02 | YES | YES | |
| 440.58.01 | YES | YES | |
| 440.58.02 | YES | YES | |
| 440.59 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.59/NVIDIA-Linux-x86_64-440.59.run) |
| 440.64 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.64/NVIDIA-Linux-x86_64-440.64.run) |
| 440.64.00 | YES | YES | [Driver link](https://international.download.nvidia.com/tesla/440.64.00/NVIDIA-Linux-x86_64-440.64.00.run) |
| 440.66.02 | YES | YES | |
| 440.66.03 | YES | YES | |
| 440.66.04 | YES | YES | |
| 440.66.08 | YES | YES | |
| 440.66.09 | YES | YES | |
| 440.66.11 | YES | YES | |
| 440.66.12 | YES | YES | |
| 440.66.14 | YES | YES | |
| 440.66.15 | YES | YES | |
| 440.82 | YES | YES | [Driver link](https://international.download.nvidia.com/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-440.82.run) |
## Synopsis

File diff suppressed because it is too large Load Diff

@ -9,7 +9,6 @@ from string import Template
from itertools import groupby
from functools import partial
import urllib.request
import urllib.parse
from constants import OSKind, Product, WinSeries, DATAFILE_PATH, \
DRIVER_URL_TEMPLATE, DRIVER_DIR_PREFIX, BASE_PATH, REPO_BASE
@ -54,13 +53,11 @@ def parse_args():
default=WinSeries.win10,
help="Windows series")
win_opts.add_argument("--patch32",
default="https://raw.githubusercontent.com/keylase/"
"nvidia-patch/master/win/${winseries}_x64/"
default="${winseries}_x64/"
"${drvprefix}${version}/nvencodeapi.1337",
help="template for Windows 32bit patch URL")
win_opts.add_argument("--patch64",
default="https://raw.githubusercontent.com/keylase/"
"nvidia-patch/master/win/${winseries}_x64/"
default="${winseries}_x64/"
"${drvprefix}${version}/nvencodeapi64.1337",
help="template for Windows 64bit patch URL")
win_opts.add_argument("--skip-patch-check",
@ -97,30 +94,16 @@ def validate_url(url):
def validate_patch(patch64, patch32):
wc_base = os.path.abspath(os.path.join(BASE_PATH, "..", ".."))
base_parse = urllib.parse.urlsplit(REPO_BASE, scheme='http')
p64_parse = urllib.parse.urlsplit(patch64, scheme='http')
p32_parse = urllib.parse.urlsplit(patch32, scheme='http')
if not (p64_parse[0] == p32_parse[0] == base_parse[0]):
raise Exception("URL scheme doesn't match repo base URL scheme")
if not (p64_parse[1] == p32_parse[1] == base_parse[1]):
raise Exception("URL network location doesn't match repo base URL network location")
if posixpath.commonpath((base_parse[2], p64_parse[2], p32_parse[2])) != \
posixpath.commonpath((base_parse[2],)):
raise Exception("URL is not subpath of repo base path")
p64_posix_relpath = posixpath.relpath(p64_parse[2], base_parse[2])
p32_posix_relpath = posixpath.relpath(p32_parse[2], base_parse[2])
p64_comp = posixpath_components(p64_posix_relpath)
p32_comp = posixpath_components(p32_posix_relpath)
p64_filepath = os.path.join(wc_base, *p64_comp)
p32_filepath = os.path.join(wc_base, *p32_comp)
p64_filepath = os.path.join(wc_base, patch64)
p32_filepath = os.path.join(wc_base, patch32)
if not os.path.exists(p64_filepath):
raise Exception("File %s not found!" % p64_filepath)
raise Exception("File %s not found!" % patch64_filepath)
if not os.path.exists(p32_filepath):
raise Exception("File %s not found!" % p32_filepath)
raise Exception("File %s not found!" % patch32_filepath)
if os.path.getsize(p64_filepath) == 0:
raise Exception("File %s empty!" % p64_filepath)
raise Exception("File %s empty!" % patch64_filepath)
if os.path.exists(p32_filepath) == 0:
raise Exception("File %s empty!" % p32_filepath)
raise Exception("File %s empty!" % patch32_filepath)
def validate_unique(drivers, new_driver, kf):
if find_driver(drivers, kf(new_driver), kf) is not None:

@ -56,4 +56,4 @@ DRIVER_DIR_PREFIX = {
(Product.Quadro, ''): 'quadro_',
}
REPO_BASE = "https://raw.githubusercontent.com/keylase/nvidia-patch/master"
REPO_BASE = "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/"

@ -1,11 +1,12 @@
#!/usr/bin/env python3
import argparse
import json
import os.path
from itertools import groupby
from constants import Product, WinSeries, DATAFILE_PATH, LINUX_README_PATH, \
WINDOWS_README_PATH, ENCODING
WINDOWS_README_PATH, ENCODING, REPO_BASE
from utils import template, find_driver, linux_driver_key, windows_driver_key, \
version_key_fun
@ -53,7 +54,7 @@ def linux_readme(data):
example_driver_version=example_driver['version'],
example_driver_file=os.path.basename(example_driver_url))
def windows_driver_rows(drivers):
def windows_driver_rows(drivers, repo_base):
driver_row_tmpl = template('windows_driver_row.tmpl', True)
markdown_link_tmpl = template('markdown_link.tmpl', True)
def row_gen():
@ -62,8 +63,8 @@ def windows_driver_rows(drivers):
variant = d.get('variant')
version_variant = d['version']
version_variant += (" " + variant) if variant else ''
patch64_url = d.get('patch64_url')
patch32_url = d.get('patch32_url')
patch64_url = repo_base + d.get('patch64_url')
patch32_url = repo_base + d.get('patch32_url')
driver_url = d.get('driver_url')
patch64_link = markdown_link_tmpl.substitute(text="x64 library patch",
url=patch64_url) if patch64_url else ''
@ -78,28 +79,28 @@ def windows_driver_rows(drivers):
driver_link=driver_link)
return "\n".join(row_gen())
def windows_product_sections(drivers):
def windows_product_sections(drivers, repo_base):
product_section_tmpl = template('windows_product_section.tmpl')
def section_gen():
for k, g in groupby(drivers, lambda d: Product[d['product']]):
driver_rows = windows_driver_rows(g)
driver_rows = windows_driver_rows(g, repo_base)
yield product_section_tmpl.substitute(driver_rows=driver_rows)
return '\n\n'.join(section_gen())
def windows_driver_table(drivers):
def windows_driver_table(drivers, repo_base):
os_section_tmpl = template('windows_os_section.tmpl', True)
def section_gen():
for k, g in groupby(drivers, lambda d: WinSeries[d['os']]):
os = WIN_SERIES_LABELS[k]
product_sections = windows_product_sections(g)
product_sections = windows_product_sections(g, repo_base)
yield os_section_tmpl.substitute(os=os,
product_sections=product_sections)
return '\n\n'.join(section_gen())
def windows_readme(data):
def windows_readme(data, repo_base):
master_tmpl = template('windows_readme_master.tmpl')
drivers = sorted(data['drivers'], key=windows_driver_key)
version_table = windows_driver_table(drivers)
version_table = windows_driver_table(drivers, repo_base)
geforce_drivers = filter(lambda d: Product[d['product']] is Product.GeForce, drivers)
quadro_drivers = filter(lambda d: Product[d['product']] is Product.Quadro, drivers)
latest_geforce_version = max(geforce_drivers, default='xxx.xx',
@ -110,13 +111,25 @@ def windows_readme(data):
latest_geforce_version=latest_geforce_version,
latest_quadro_version=latest_quadro_version)
def parse_args():
parser = argparse.ArgumentParser(
description="Generates markdown pages from repo data",
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("-R", "--repo-root",
help="repository web root URL",
default=REPO_BASE)
args = parser.parse_args()
return args
def main():
args = parse_args()
with open(DATAFILE_PATH) as data_file:
data = json.load(data_file)
res = linux_readme(data['linux']['x86_64'])
with open(LINUX_README_PATH, 'w', encoding=ENCODING) as out:
out.write(res)
res = windows_readme(data['win']['x86_64'])
res = windows_readme(data['win']['x86_64'], args.repo_root)
with open(WINDOWS_README_PATH, 'w', encoding=ENCODING) as out:
out.write(res)

@ -3,9 +3,15 @@ NVENC and NvFBC patches for Nvidia drivers
![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-${latest_version}-brightgreen.svg)
NVENC patch (`patch.sh`) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
---
NvFBC patch (`patch-fbc.sh`) allows to use NvFBC on consumer-grade GPUs. It should be applied same way as NVENC `patch.sh`, except you have to use `patch-fbc.sh` instead.
IPFS mirror: [https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/](https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/)
---
[NVENC patch](patch.sh) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
[NvFBC patch](patch-fbc.sh) allows to use NvFBC on consumer-grade GPUs. It should be applied same way as NVENC `patch.sh`, except you have to use `patch-fbc.sh` instead.
Main target operating system is **GNU/Linux**, but for **Windows** support see [**win** (clickable)](win).

@ -3,6 +3,12 @@ NVENC and NvFBC patches for Windows Nvidia drivers
![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-${latest_geforce_version}-brightgreen.svg) ![Latest Quadro version](https://img.shields.io/badge/latest%20Quadro%20version-${latest_quadro_version}-blue.svg)
---
IPFS mirror: [https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/win/](https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/win/)
---
NVENC patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
NvFBC patch (wrapper) allows to use NvFBC on consumer-grade GPUs. See [**nvfbcwrp** (clickable)](nvfbcwrp) directory for details.
@ -25,8 +31,8 @@ Requirements:
## NVENC Patch Step-by-Step Guide
1. Download and install latest Nvidia driver supported by this patch.
2. Download latest [Win\_1337\_Apply\_Patch tool](https://github.com/Deltafox79/Win_1337_Apply_Patch/releases/latest).
3. Save patch(es) corresponding to your system, driver and product version from [Version Table](#version-table) using direct link to the patch (Right Click -> Save as...).
2. Download latest [Win\_1337\_Apply\_Patch tool](https://github.com/Deltafox79/Win_1337_Apply_Patch/releases/latest) ([IPFS mirror](https://ipfs.io/ipfs/QmXHqNBPtmoX8g5rzg6vNJ9yd275kQtDWuDtVoU4QPfWbu/Win_1337_Apply_Patch_v1.9_By_DFoX.rar)).
3. Save patch(es) corresponding to your system, driver and product version 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.
- *If patching fails, close all applications using nvencodeapi64.dll, such as OBS Studio, Plex or Discord.*
@ -35,7 +41,7 @@ Requirements:
**Example:** for 64bit Windows 10 running driver version $latest_geforce_version, use `win10_x64/$latest_geforce_version/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` **and** `win10_x64/$latest_geforce_version/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.
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.
A video tutorial is also available. Credits to designator2009. (*Covers older patches. Now we probably don't need to autorun executable if x86 library patch applied*)

@ -0,0 +1,34 @@
#!/usr/bin/env bash
set -euo pipefail
(( $# == 1 )) || {
>&2 echo "Usage: $0 <export dir>"
exit 2
}
mkdir -p "$1"
EXPORT_DIR="$(realpath "$1")"
REPO_DIR="$(realpath "$(dirname "${BASH_SOURCE[0]}")/../..")"
CONVERTER_PATH="${CONVERTER_PATH:-$REPO_DIR/../markdown-to-html-github-style/convert.js}"
CONVERTER_PATH="$(realpath "$CONVERTER_PATH")"
[[ -s "$CONVERTER_PATH" ]] || {
>&2 echo "convert.js not found"
exit 1
}
pushd "$REPO_DIR"
git archive HEAD | tar x -C "$EXPORT_DIR"
popd
pushd "$EXPORT_DIR"
./tools/readme-autogen/readme_autogen.py -R ""
node "$CONVERTER_PATH" "NVENC and NvFBC patches for Nvidia drivers"
mv -v README.html index.html
pushd win
node "$CONVERTER_PATH" "NVENC and NvFBC patches for Windows Nvidia drivers"
mv -v README.html index.html
popd
popd

@ -3,6 +3,12 @@ NVENC and NvFBC patches for Windows Nvidia drivers
![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-446.14-brightgreen.svg) ![Latest Quadro version](https://img.shields.io/badge/latest%20Quadro%20version-442.92-blue.svg)
---
IPFS mirror: [https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/win/](https://ipfs.io/ipns/QmYTEwv2GjQhtdN9bDfpLfQrVD7YLb1Sbh8igX8cEe9hHF/win/)
---
NVENC patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
NvFBC patch (wrapper) allows to use NvFBC on consumer-grade GPUs. See [**nvfbcwrp** (clickable)](nvfbcwrp) directory for details.
@ -25,8 +31,8 @@ Requirements:
## NVENC Patch Step-by-Step Guide
1. Download and install latest Nvidia driver supported by this patch.
2. Download latest [Win\_1337\_Apply\_Patch tool](https://github.com/Deltafox79/Win_1337_Apply_Patch/releases/latest).
3. Save patch(es) corresponding to your system, driver and product version from [Version Table](#version-table) using direct link to the patch (Right Click -> Save as...).
2. Download latest [Win\_1337\_Apply\_Patch tool](https://github.com/Deltafox79/Win_1337_Apply_Patch/releases/latest) ([IPFS mirror](https://ipfs.io/ipfs/QmXHqNBPtmoX8g5rzg6vNJ9yd275kQtDWuDtVoU4QPfWbu/Win_1337_Apply_Patch_v1.9_By_DFoX.rar)).
3. Save patch(es) corresponding to your system, driver and product version 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.
- *If patching fails, close all applications using nvencodeapi64.dll, such as OBS Studio, Plex or Discord.*
@ -35,7 +41,7 @@ Requirements:
**Example:** for 64bit Windows 10 running driver version 446.14, use `win10_x64/446.14/nvencodeapi64.1337` against `C:\WINDOWS\system32\nvencodeapi64.dll` **and** `win10_x64/446.14/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.
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.
A video tutorial is also available. Credits to designator2009. (*Covers older patches. Now we probably don't need to autorun executable if x86 library patch applied*)

Loading…
Cancel
Save