From c7a5a814f0285f1a96e3308e9f4e4664e1ac80e5 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Thu, 14 Nov 2019 16:46:16 +0200 Subject: [PATCH 1/7] enumarate linux driver versions in common data file --- drivers.json | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 drivers.json diff --git a/drivers.json b/drivers.json new file mode 100644 index 0000000..34bd84e --- /dev/null +++ b/drivers.json @@ -0,0 +1,142 @@ +{ + "linux": { + "x86_64": [ + { + "version": "375.39", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run" + }, + { + "version": "390.77", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run" + }, + { + "version": "390.87", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run" + }, + { + "version": "396.24", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.24/NVIDIA-Linux-x86_64-396.24.run" + }, + { + "version": "396.26", + "driver_url": "https://international.download.nvidia.com/tesla/396.26/NVIDIA-Linux-x86_64-396.26.run" + }, + { + "version": "396.37", + "driver_url": "https://international.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run" + }, + { + "version": "396.54", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.54/NVIDIA-Linux-x86_64-396.54.run" + }, + { + "version": "410.48" + }, + { + "version": "410.57", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.57/NVIDIA-Linux-x86_64-410.57.run" + }, + { + "version": "410.73", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.73/NVIDIA-Linux-x86_64-410.73.run" + }, + { + "version": "410.78", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run" + }, + { + "version": "410.79", + "driver_url": "https://international.download.nvidia.com/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run" + }, + { + "version": "410.93", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run" + }, + { + "version": "410.104", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/410.104/NVIDIA-Linux-x86_64-410.104.run" + }, + { + "version": "415.18", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.18/NVIDIA-Linux-x86_64-415.18.run" + }, + { + "version": "415.25", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.25/NVIDIA-Linux-x86_64-415.25.run" + }, + { + "version": "415.27", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.27/NVIDIA-Linux-x86_64-415.27.run" + }, + { + "version": "418.30", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.30/NVIDIA-Linux-x86_64-418.30.run" + }, + { + "version": "418.43", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.43/NVIDIA-Linux-x86_64-418.43.run" + }, + { + "version": "418.56", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run" + }, + { + "version": "418.67" + }, + { + "version": "418.74", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.74/NVIDIA-Linux-x86_64-418.74.run" + }, + { + "version": "418.87.00" + }, + { + "version": "418.87.01" + }, + { + "version": "418.88", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.88/NVIDIA-Linux-x86_64-418.88.run" + }, + { + "version": "430.09", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.09/NVIDIA-Linux-x86_64-430.09.run" + }, + { + "version": "430.14", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.14/NVIDIA-Linux-x86_64-430.14.run" + }, + { + "version": "430.26", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.26/NVIDIA-Linux-x86_64-430.26.run" + }, + { + "version": "430.34", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.34/NVIDIA-Linux-x86_64-430.34.run" + }, + { + "version": "430.40", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run" + }, + { + "version": "430.50", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run" + }, + { + "version": "435.17", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run" + }, + { + "version": "435.21", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run" + }, + { + "version": "440.26", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run" + }, + { + "version": "440.31", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run" + } + ] + } +} From d0f421388815d630e4a13786c793d7e2fbe7749c Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Thu, 14 Nov 2019 19:54:26 +0200 Subject: [PATCH 2/7] autogen: finished linux README generator --- drivers.json | 279 +++++++++--------- tools/readme_autogen/.gitignore | 107 +++++++ tools/readme_autogen/readme_autogen.py | 75 +++++ .../templates/linux_link_row.tmpl | 1 + .../templates/linux_nolink_row.tmpl | 1 + .../templates/linux_readme_master.tmpl | 110 +++++++ 6 files changed, 436 insertions(+), 137 deletions(-) create mode 100644 tools/readme_autogen/.gitignore create mode 100755 tools/readme_autogen/readme_autogen.py create mode 100644 tools/readme_autogen/templates/linux_link_row.tmpl create mode 100644 tools/readme_autogen/templates/linux_nolink_row.tmpl create mode 100644 tools/readme_autogen/templates/linux_readme_master.tmpl diff --git a/drivers.json b/drivers.json index 34bd84e..212a66a 100644 --- a/drivers.json +++ b/drivers.json @@ -1,142 +1,147 @@ { "linux": { - "x86_64": [ - { - "version": "375.39", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run" - }, - { - "version": "390.77", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run" - }, - { - "version": "390.87", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run" - }, - { - "version": "396.24", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.24/NVIDIA-Linux-x86_64-396.24.run" - }, - { - "version": "396.26", - "driver_url": "https://international.download.nvidia.com/tesla/396.26/NVIDIA-Linux-x86_64-396.26.run" - }, - { - "version": "396.37", - "driver_url": "https://international.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run" - }, - { - "version": "396.54", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.54/NVIDIA-Linux-x86_64-396.54.run" - }, - { - "version": "410.48" - }, - { - "version": "410.57", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.57/NVIDIA-Linux-x86_64-410.57.run" - }, - { - "version": "410.73", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.73/NVIDIA-Linux-x86_64-410.73.run" - }, - { - "version": "410.78", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run" - }, - { - "version": "410.79", - "driver_url": "https://international.download.nvidia.com/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run" - }, - { - "version": "410.93", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run" - }, - { - "version": "410.104", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/410.104/NVIDIA-Linux-x86_64-410.104.run" - }, - { - "version": "415.18", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.18/NVIDIA-Linux-x86_64-415.18.run" - }, - { - "version": "415.25", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.25/NVIDIA-Linux-x86_64-415.25.run" - }, - { - "version": "415.27", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.27/NVIDIA-Linux-x86_64-415.27.run" - }, - { - "version": "418.30", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.30/NVIDIA-Linux-x86_64-418.30.run" - }, - { - "version": "418.43", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.43/NVIDIA-Linux-x86_64-418.43.run" - }, - { - "version": "418.56", - "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run" - }, - { - "version": "418.67" - }, - { - "version": "418.74", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.74/NVIDIA-Linux-x86_64-418.74.run" - }, - { - "version": "418.87.00" - }, - { - "version": "418.87.01" - }, - { - "version": "418.88", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.88/NVIDIA-Linux-x86_64-418.88.run" - }, - { - "version": "430.09", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.09/NVIDIA-Linux-x86_64-430.09.run" - }, - { - "version": "430.14", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.14/NVIDIA-Linux-x86_64-430.14.run" - }, - { - "version": "430.26", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.26/NVIDIA-Linux-x86_64-430.26.run" - }, - { - "version": "430.34", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.34/NVIDIA-Linux-x86_64-430.34.run" - }, - { - "version": "430.40", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run" - }, - { - "version": "430.50", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run" - }, - { - "version": "435.17", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run" - }, - { - "version": "435.21", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run" - }, - { - "version": "440.26", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run" - }, - { - "version": "440.31", - "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run" + "x86_64": { + "drivers": [ + { + "version": "375.39", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/375.39/NVIDIA-Linux-x86_64-375.39.run" + }, + { + "version": "390.77", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run" + }, + { + "version": "390.87", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run" + }, + { + "version": "396.24", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.24/NVIDIA-Linux-x86_64-396.24.run" + }, + { + "version": "396.26", + "driver_url": "https://international.download.nvidia.com/tesla/396.26/NVIDIA-Linux-x86_64-396.26.run" + }, + { + "version": "396.37", + "driver_url": "https://international.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run" + }, + { + "version": "396.54", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/396.54/NVIDIA-Linux-x86_64-396.54.run" + }, + { + "version": "410.48" + }, + { + "version": "410.57", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.57/NVIDIA-Linux-x86_64-410.57.run" + }, + { + "version": "410.73", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.73/NVIDIA-Linux-x86_64-410.73.run" + }, + { + "version": "410.78", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run" + }, + { + "version": "410.79", + "driver_url": "https://international.download.nvidia.com/tesla/410.79/NVIDIA-Linux-x86_64-410.79.run" + }, + { + "version": "410.93", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/410.93/NVIDIA-Linux-x86_64-410.93.run" + }, + { + "version": "410.104", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/410.104/NVIDIA-Linux-x86_64-410.104.run" + }, + { + "version": "415.18", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.18/NVIDIA-Linux-x86_64-415.18.run" + }, + { + "version": "415.25", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.25/NVIDIA-Linux-x86_64-415.25.run" + }, + { + "version": "415.27", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/415.27/NVIDIA-Linux-x86_64-415.27.run" + }, + { + "version": "418.30", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.30/NVIDIA-Linux-x86_64-418.30.run" + }, + { + "version": "418.43", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.43/NVIDIA-Linux-x86_64-418.43.run" + }, + { + "version": "418.56", + "driver_url": "https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run" + }, + { + "version": "418.67" + }, + { + "version": "418.74", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.74/NVIDIA-Linux-x86_64-418.74.run" + }, + { + "version": "418.87.00" + }, + { + "version": "418.87.01" + }, + { + "version": "418.88", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/418.88/NVIDIA-Linux-x86_64-418.88.run" + }, + { + "version": "430.09", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.09/NVIDIA-Linux-x86_64-430.09.run" + }, + { + "version": "430.14", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.14/NVIDIA-Linux-x86_64-430.14.run" + }, + { + "version": "430.26", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.26/NVIDIA-Linux-x86_64-430.26.run" + }, + { + "version": "430.34", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.34/NVIDIA-Linux-x86_64-430.34.run" + }, + { + "version": "430.40", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.40/NVIDIA-Linux-x86_64-430.40.run" + }, + { + "version": "430.50", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run" + }, + { + "version": "435.17", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.17/NVIDIA-Linux-x86_64-435.17.run" + }, + { + "version": "435.21", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run" + }, + { + "version": "440.26", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.26/NVIDIA-Linux-x86_64-440.26.run" + }, + { + "version": "440.31", + "driver_url": "https://international.download.nvidia.com/XFree86/Linux-x86_64/440.31/NVIDIA-Linux-x86_64-440.31.run" + } + ], + "example": { + "version": "430.50" } - ] + } } } diff --git a/tools/readme_autogen/.gitignore b/tools/readme_autogen/.gitignore new file mode 100644 index 0000000..9cfdd43 --- /dev/null +++ b/tools/readme_autogen/.gitignore @@ -0,0 +1,107 @@ +# Do not stage vim swapfiles to commit +*.swp + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ diff --git a/tools/readme_autogen/readme_autogen.py b/tools/readme_autogen/readme_autogen.py new file mode 100755 index 0000000..e23df47 --- /dev/null +++ b/tools/readme_autogen/readme_autogen.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 + +import json +import os.path +from string import Template +from pprint import pprint + +BASE_PATH = os.path.dirname(os.path.abspath(__file__)) +TEMPLATE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "templates") +DATAFILE_PATH = os.path.join(BASE_PATH, + "..", "..", "drivers.json") +LINUX_README_PATH = os.path.join(BASE_PATH, + "..", "..", "README.md") +ENCODING="utf-8" + +def template(filename): + filename = os.path.join(TEMPLATE_PATH, filename) + with open(filename, encoding=ENCODING) as f: + t = Template(f.read()) + return t + +def version_key_fun(ver): + return tuple(map(int, ver.split('.'))) + +def find_driver(drivers, version, low=0, hi=None): + """ Bisect search on sorted drivers list """ + if hi is None: + hi = len(drivers) + L = hi - low + if L == 0: + return None + elif L == 1: + return drivers[low] if drivers[low]['version'] == version else None + else: + vkf_left = version_key_fun(drivers[low + L // 2]['version']) + vkf_right = version_key_fun(version) + if vkf_left < vkf_right: + return find_driver(drivers, version, low + L // 2, hi) + elif vkf_left > vkf_right: + return find_driver(drivers, version, low, low + L // 2) + else: + return drivers[low + L // 2] + +def linux_readme(data): + master_tmpl = template("linux_readme_master.tmpl") + linux_nolink_row_tmpl = template('linux_nolink_row.tmpl') + linux_link_row_tmpl = template('linux_link_row.tmpl') + drivers = sorted(data['drivers'], + key=lambda d: version_key_fun(d['version'])) + def row_gen(): + for drv in drivers: + driver_url = drv.get('driver_url') + t = linux_nolink_row_tmpl if driver_url is None else linux_link_row_tmpl + yield t.substitute(driver_version=drv['version'], + driver_url=driver_url).rstrip('\r\n') + version_list = "\n".join(row_gen()) + latest_version = drivers[-1]['version'] + example_driver = find_driver(drivers, data['example']['version']) + example_driver_url = example_driver['driver_url'] + return master_tmpl.substitute(version_list=version_list, + latest_version=latest_version, + example_driver_url=example_driver_url, + example_driver_version=example_driver['version'], + example_driver_file=os.path.basename(example_driver_url)) + +def main(): + 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) + +if __name__ == '__main__': + main() diff --git a/tools/readme_autogen/templates/linux_link_row.tmpl b/tools/readme_autogen/templates/linux_link_row.tmpl new file mode 100644 index 0000000..4613098 --- /dev/null +++ b/tools/readme_autogen/templates/linux_link_row.tmpl @@ -0,0 +1 @@ + - [$driver_version]($driver_url) diff --git a/tools/readme_autogen/templates/linux_nolink_row.tmpl b/tools/readme_autogen/templates/linux_nolink_row.tmpl new file mode 100644 index 0000000..741a30f --- /dev/null +++ b/tools/readme_autogen/templates/linux_nolink_row.tmpl @@ -0,0 +1 @@ + - $driver_version diff --git a/tools/readme_autogen/templates/linux_readme_master.tmpl b/tools/readme_autogen/templates/linux_readme_master.tmpl new file mode 100644 index 0000000..7be4101 --- /dev/null +++ b/tools/readme_autogen/templates/linux_readme_master.tmpl @@ -0,0 +1,110 @@ +# 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-${latest_version}-brightgreen.svg) + +This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. + +Main target operating system is **GNU/Linux**, but for **Windows** support see [**win**](win). + +Requirements: +- x86\_64 system architecture +- GNU/Linux operating system +- nvenc-compatible gpu (https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder) +- Nvidia driver. Patch available for: +$version_list + +## Synopsis + +``` +# bash ./patch.sh -h + +SYNOPSIS + patch.sh [-s] [-r|-h|-c VERSION|-l] + +DESCRIPTION + The patch for Nvidia drivers to remove NVENC session limit + + -s Silent mode (No output) + -r Rollback to original (Restore lib from backup) + -h Print this help message + -c VERSION Check if version VERSION supported by this patch. + Returns true exit code (0) if version is supported. + -l List supported driver versions + +``` + +## Step-by-Step guide + +Examples are provided for driver version ${example_driver_version}. All commands executed as root. + +### Download and install driver + +Skip this step if you already have installed driver with version supported by this patch (from distro packages, for example). + +Make sure you have kernel headers and compiler installed before running Nvidia driver installer. Kernel headers and compiler are required to build nvidia kernel module. Recommended way to do this is to install `dkms` package, if it is available in your distro. This way `dkms` package will pull all required dependencies to allow building kernel modules and kernel module builds will be automated in a reliable fashion. + +```bash +mkdir /opt/nvidia && cd /opt/nvidia +wget ${example_driver_url} +chmod +x ./${example_driver_file} +./${example_driver_file} +``` + +### Check driver + +```bash +nvidia-smi +``` + +Output should show no errors and details about your driver and GPU. + +### Patch driver + +This patch performs backup of original file prior to making changes. + +```bash +bash ./patch.sh +``` + +You're all set! + +## Rollback + +If something got broken you may restore patched driver from backup: + +```bash +bash ./patch.sh -r +``` + +## Docker support + +It is possible to use this patch with nvidia-docker containers, even if host machine hasn't patched drivers. See `Dockerfile` for example. + +Essentially all you need to do during build is: + +* `COPY` the `patch.sh` and `docker-entrypoint.sh` files into your container. +* Make sure `docker-entrypoint.sh` is invoked on container start. + +`docker-entrypoint.sh` script does on-the-fly patching by means of manipulating dynamic linker to workaround read-only mount of Nvidia runtime. Finally it passes original docker command to shell, like if entrypoint was not restricted by `ENTRYPOINT` directive. So `docker run --runtime=nvidia -it mycontainer echo 123` will print `123`. Also it can be just invoked from your entrypoint script, if you have any. + +## Benchmarks + +* [Plex Media Server: nVidia Hardware Transcoding Calculator for Plex Estimates](https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding) - useful benchmark of achieved simultaneous transcodes with various stream quality and hardware with patched drivers. + +## See also + +* Plex Media Server: enable HW **decoding**: + * [GH Issue](https://github.com/keylase/nvidia-patch/issues/51) + * PMS Forum: + 1. [https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/158](https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/158) + 2. [https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/172](https://forums.plex.tv/t/hardware-accelerated-decode-nvidia-for-linux/233510/172) +* Unraid / Docker: + * [GH Issue](https://github.com/keylase/nvidia-patch/issues/43) + * Unraid Nvidia plugin: + * [Repo](https://github.com/linuxserver/Unraid-Nvidia-Plugin) + * [Forum page](https://forums.unraid.net/topic/77813-plugin-linuxserverio-unraid-nvidia/) ([archive link](https://web.archive.org/web/20190211145338/https://forums.unraid.net/topic/77813-plugin-linuxserverio-unraid-nvidia/)) +* Original research behind this patch + * [Original post in Russian](https://habr.com/post/262563/) + * [3rd party English translation](https://weekly-geekly.github.io/articles/262563/index.html) + +If you experience `CreateBitstreamBuffer failed: out of memory (10)`, then you have to lower buffers number used for every encoding session. If you are using `ffmpeg`, see option `-surfaces` ("Number of concurrent surfaces") and try value near `-surfaces 8`. From 9bea29418454c7da80e20bf07dc24524944c3575 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Fri, 15 Nov 2019 00:50:25 +0200 Subject: [PATCH 3/7] enumerate windows driver versions in common data file --- drivers.json | 708 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 708 insertions(+) diff --git a/drivers.json b/drivers.json index 212a66a..abcb792 100644 --- a/drivers.json +++ b/drivers.json @@ -143,5 +143,713 @@ "version": "430.50" } } + }, + "win": { + "x86_64": { + "drivers": [ + { + "os": "win10", + "product": "GeForce", + "version": "417.35", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.35/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/417.35/417.35-desktop-win10-64bit-international-whql-rp.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "417.58", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.58/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/417.58hf/417.58-desktop-notebook-win10-64bit-international-whql.hf.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "417.71", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.71/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/417.71/417.71-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "418.81", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.81/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/418.81/418.81-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "418.91", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.91/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/418.91/418.91-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "419.17", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.17/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/419.17/419.17-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "419.35", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.35/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "419.67", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.67/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/419.67/419.67-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "419.67", + "variant": "CRD", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/crd_419.67/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/419.67/419.67-notebook-win10-64bit-international-crd-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "425.31", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/425.31/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/425.31/425.31-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "430.39", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.39/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/430.39/430.39-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "430.64", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.64/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/430.64/430.64-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "430.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "430.86", + "variant": "Studio Driver", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_430.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international-gfe.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-nsd-whql-g.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "431.36", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.36/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/431.36/431.36-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "431.60", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.60/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "431.70", + "variant": "Studio Driver", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.70/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/431.70/431.70-notebook-win10-64bit-international-nsd-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "431.86", + "variant": "Studio Driver", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/431.86/431.86-notebook-win10-64bit-international-nsd-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "435.27", + "variant": "non-official", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/435.27/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://github.com/CHEF-KOCH/nVidia-modded-Inf/releases/download/435.27/Nvidia.435.27.rar" + }, + { + "os": "win10", + "product": "GeForce", + "version": "436.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "436.15", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.15/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "436.30", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.30/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "436.48", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.48/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "441.08", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "441.12", + "variant": "Studio Driver", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-nsd-whql.exe" + }, + { + "os": "win10", + "product": "GeForce", + "version": "441.20", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "412.16", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.16/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/412.16/412.16-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "412.29", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.29/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/412.29/412.29-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "416.78", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_416.78/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/416.78/416.78-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "418.81", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_418.81/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/418.81/418.81-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "419.17", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.17/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/419.17/419.17-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "419.67", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.67/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/419.67/419.67-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "425.31", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_425.31/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/425.31/425.31-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "430.39", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.39/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.39/430.39-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "430.64", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.64/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "430.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "431.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "431.70", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.70/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "431.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "431.94", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.94/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "436.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "436.30", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.30/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win10", + "product": "Quadro", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win10-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "431.60", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/431.60/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "436.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "436.15", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.15/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "436.30", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.30/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "436.48", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.48/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "441.08", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "GeForce", + "version": "441.20", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "431.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "431.70", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.70/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "431.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "431.94", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.94/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "436.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "436.30", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.30/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "win7", + "product": "Quadro", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "430.64", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.64/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "430.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "431.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "431.70", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.70/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "431.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "431.94", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.94/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2012", + "product": "Quadro", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "430.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_430.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "431.02", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.02/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "431.70", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.70/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "431.86", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.86/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "431.94", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.94/nvcuvid.1337", + "patch32_url": "", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "440.97", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv-2016-2019-64bit-international-whql.exe" + }, + { + "os": "ws2016", + "product": "Quadro", + "version": "441.12", + "variant": "", + "patch64_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid64.1337", + "patch32_url": "https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid32.1337", + "driver_url": "https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv-2016-2019-64bit-international-whql.exe" + } + ] + } } } From 89b8fa6eed87eb1a2eb88b8d8b8f73361ba13f30 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Fri, 15 Nov 2019 03:05:30 +0200 Subject: [PATCH 4/7] autogen: finisned windows readme generator --- tools/readme_autogen/readme_autogen.py | 113 ++++++++++++++++-- .../templates/markdown_link.tmpl | 1 + .../templates/windows_driver_row.tmpl | 1 + .../templates/windows_os_section.tmpl | 4 + .../templates/windows_product_section.tmpl | 3 + .../templates/windows_readme_master.tmpl | 74 ++++++++++++ 6 files changed, 187 insertions(+), 9 deletions(-) create mode 100644 tools/readme_autogen/templates/markdown_link.tmpl create mode 100644 tools/readme_autogen/templates/windows_driver_row.tmpl create mode 100644 tools/readme_autogen/templates/windows_os_section.tmpl create mode 100644 tools/readme_autogen/templates/windows_product_section.tmpl create mode 100644 tools/readme_autogen/templates/windows_readme_master.tmpl diff --git a/tools/readme_autogen/readme_autogen.py b/tools/readme_autogen/readme_autogen.py index e23df47..6b87b16 100755 --- a/tools/readme_autogen/readme_autogen.py +++ b/tools/readme_autogen/readme_autogen.py @@ -3,7 +3,9 @@ import json import os.path from string import Template -from pprint import pprint +from enum import IntEnum +from itertools import groupby +from functools import lru_cache BASE_PATH = os.path.dirname(os.path.abspath(__file__)) TEMPLATE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), @@ -12,19 +14,47 @@ DATAFILE_PATH = os.path.join(BASE_PATH, "..", "..", "drivers.json") LINUX_README_PATH = os.path.join(BASE_PATH, "..", "..", "README.md") +WINDOWS_README_PATH = os.path.join(BASE_PATH, + "..", "..", "win", "README.md") ENCODING="utf-8" -def template(filename): +class Product(IntEnum): + GeForce = 10 + Quadro = 20 + +class WinSeries(IntEnum): + win10 = 10 + win7 = 20 + ws2012 = 30 + ws2016 = 40 + +PRODUCT_LABELS = { + Product.GeForce: "GeForce", + Product.Quadro: "Quadro", +} + +WIN_SERIES_LABELS = { + WinSeries.win10: "Windows 10", + WinSeries.win7: "Windows 7, Windows 8, Windows 8.1", + WinSeries.ws2012: "Windows Server 2008R2, 2012, 2012R2", + WinSeries.ws2016: "Windows Server 2016, 2019", +} + +@lru_cache(maxsize=None) +def template(filename, strip_newlines=False): filename = os.path.join(TEMPLATE_PATH, filename) with open(filename, encoding=ENCODING) as f: - t = Template(f.read()) + text = f.read() + if strip_newlines: + text = text.rstrip('\r\n') + t = Template(text) return t def version_key_fun(ver): return tuple(map(int, ver.split('.'))) def find_driver(drivers, version, low=0, hi=None): - """ Bisect search on sorted drivers list """ + """ Bisect search on sorted linux drivers list """ if hi is None: hi = len(drivers) L = hi - low @@ -43,17 +73,17 @@ def find_driver(drivers, version, low=0, hi=None): return drivers[low + L // 2] def linux_readme(data): - master_tmpl = template("linux_readme_master.tmpl") - linux_nolink_row_tmpl = template('linux_nolink_row.tmpl') - linux_link_row_tmpl = template('linux_link_row.tmpl') + master_tmpl = template('linux_readme_master.tmpl') + nolink_row_tmpl = template('linux_nolink_row.tmpl', True) + link_row_tmpl = template('linux_link_row.tmpl', True) drivers = sorted(data['drivers'], key=lambda d: version_key_fun(d['version'])) def row_gen(): for drv in drivers: driver_url = drv.get('driver_url') - t = linux_nolink_row_tmpl if driver_url is None else linux_link_row_tmpl + t = nolink_row_tmpl if driver_url is None else link_row_tmpl yield t.substitute(driver_version=drv['version'], - driver_url=driver_url).rstrip('\r\n') + driver_url=driver_url) version_list = "\n".join(row_gen()) latest_version = drivers[-1]['version'] example_driver = find_driver(drivers, data['example']['version']) @@ -64,12 +94,77 @@ def linux_readme(data): example_driver_version=example_driver['version'], example_driver_file=os.path.basename(example_driver_url)) +def windows_driver_rows(drivers): + driver_row_tmpl = template('windows_driver_row.tmpl', True) + markdown_link_tmpl = template('markdown_link.tmpl', True) + def row_gen(): + for d in drivers: + product = PRODUCT_LABELS[Product[d['product']]] + 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') + driver_url = d.get('driver_url') + patch64_link = markdown_link_tmpl.substitute(text="Direct link", + url=patch64_url) if patch64_url else '' + patch32_link = markdown_link_tmpl.substitute(text="Direct link", + url=patch32_url) if patch32_url else '' + driver_link = markdown_link_tmpl.substitute(text="Direct link", + url=driver_url) if driver_url else '' + yield driver_row_tmpl.substitute(product=product, + version_variant=version_variant, + patch64_link=patch64_link, + patch32_link=patch32_link, + driver_link=driver_link) + return "\n".join(row_gen()) + +def windows_product_sections(drivers): + 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) + yield product_section_tmpl.substitute(driver_rows=driver_rows) + return '\n\n'.join(section_gen()) + +def windows_driver_table(drivers): + 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) + yield os_section_tmpl.substitute(os=os, + product_sections=product_sections) + return '\n\n'.join(section_gen()) + +def windows_readme(data): + master_tmpl = template('windows_readme_master.tmpl') + def driver_key_fun(d): + return ((WinSeries[d['os']], Product[d['product']]) + + version_key_fun(d['version']) + + (d.get('variant'),)) + drivers = sorted(data['drivers'], key=driver_key_fun) + version_table = windows_driver_table(drivers) + + 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', + key=lambda d: version_key_fun(d['version']))['version'] + latest_quadro_version = max(quadro_drivers, default='xxx.xx', + key=lambda d: version_key_fun(d['version']))['version'] + return master_tmpl.substitute(version_table=version_table, + latest_geforce_version=latest_geforce_version, + latest_quadro_version=latest_quadro_version) + def main(): 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']) + with open(WINDOWS_README_PATH, 'w', encoding=ENCODING) as out: + out.write(res) if __name__ == '__main__': main() diff --git a/tools/readme_autogen/templates/markdown_link.tmpl b/tools/readme_autogen/templates/markdown_link.tmpl new file mode 100644 index 0000000..1a51a6e --- /dev/null +++ b/tools/readme_autogen/templates/markdown_link.tmpl @@ -0,0 +1 @@ +[$text]($url) diff --git a/tools/readme_autogen/templates/windows_driver_row.tmpl b/tools/readme_autogen/templates/windows_driver_row.tmpl new file mode 100644 index 0000000..68fe1da --- /dev/null +++ b/tools/readme_autogen/templates/windows_driver_row.tmpl @@ -0,0 +1 @@ +| $product | $version_variant | $patch64_link | $patch32_link | $driver_link | diff --git a/tools/readme_autogen/templates/windows_os_section.tmpl b/tools/readme_autogen/templates/windows_os_section.tmpl new file mode 100644 index 0000000..d652a5c --- /dev/null +++ b/tools/readme_autogen/templates/windows_os_section.tmpl @@ -0,0 +1,4 @@ +### $os drivers + + +$product_sections diff --git a/tools/readme_autogen/templates/windows_product_section.tmpl b/tools/readme_autogen/templates/windows_product_section.tmpl new file mode 100644 index 0000000..9a9d948 --- /dev/null +++ b/tools/readme_autogen/templates/windows_product_section.tmpl @@ -0,0 +1,3 @@ +| Product series | Version | x64 library patch | x86 library patch | Driver link | +|----------------|---------|-------------------|-------------------|-------------| +$driver_rows diff --git a/tools/readme_autogen/templates/windows_readme_master.tmpl b/tools/readme_autogen/templates/windows_readme_master.tmpl new file mode 100644 index 0000000..728b2b5 --- /dev/null +++ b/tools/readme_autogen/templates/windows_readme_master.tmpl @@ -0,0 +1,74 @@ +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-${latest_geforce_version}-brightgreen.svg) ![Latest Quadro version](https://img.shields.io/badge/latest%20Quadro%20version-${latest_quadro_version}-blue.svg) + +This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. + +Requirements: + +- Any of following 64bit operating systems: + - Windows 7 + - Windows 8 + - Windows 8.1 + - Windows 10 + - Windows Server 2008 R2 + - Windows Server 2012 + - Windows Server 2012 R2 + - Windows Server 2016 + - Windows Server 2019 +- NVENC-compatible GPU (https://developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder) +- Nvidia driver. Patch available for versions in [table below](#version-table). + +## 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 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 $latest_geforce_version use `win10_x64/$latest_geforce_version/nvcuvid64.1337` against `C:\WINDOWS\system32\nvcuvid.dll` and `win10_x64/$latest_geforce_version/nvcuvid32.1337` against `C:\WINDOWS\SysWOW64\nvcuvid.dll`. + +~~There are additional steps may be required for Plex and 32bit apps users. See [corresponding section below](#d3d11-and-32-bit-apps-encoding-sessions).~~ We hope this is obsoleted by new additional x86 (32bit) library patch. + +A video tutorial is also available. Credits to designator2009. (*Covers pre-x86 patches. Now we probably don't need to autorun executable if x86 library patch applied*) + +[![Video Tutorial](https://gist.githubusercontent.com/Snawoot/de26b6ccfe67c7bc89ea4347d7c2ecde/raw/50cd87a72c4e13214e6c609dc5291037bed9db8d/ss.jpg)](https://www.youtube.com/watch?v=y7TRfRsJR-w) + +## Version Table + +$version_table + +## Benchmarks + +* [Plex Media Server: nVidia Hardware Transcoding Calculator for Plex Estimates](https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding) - useful benchmark of achieved simultaneous transcodes with various stream quality and hardware with patched drivers. + + +## See also + +* Genesis in [related issue](https://github.com/keylase/nvidia-patch/issues/9) + +### D3D11 and 32-bit apps encoding sessions + +This section is actual only for D3D11 encoders and earlier driver versions (before 440.97). + +This patch for earlier driver versions (those which do not have additional 32bit library patch) wasn't covering 32bit driver libraries and for this reason 32bit applications were limited unless limit is not raised by some 64bit applications. But once usage limit was exceeded, it persists for all kinds of apps until system reboot. So, for example, you may once open 10 sessions with 64bit version of `ffmpeg` and limit will get raised to 10 for all rest types of apps until reboot. You may follow these steps to achieve this automatically and have all limits raised (assuming patch above already applied): + +#### Method 1 (recommended) + +1. Download and run [latest release](https://github.com/jantenhove/NvencSessionLimitBump/releases) of [NvencSessionLimitBump](https://github.com/jantenhove/NvencSessionLimitBump). +2. (Optional) Add it to autostart programs. + +By default this application raises limit to 32 encoding sessions. Credits to @jantenhove. + +#### Method 2 (alternative) + +1. Download 64bit FFmpeg for Windows: https://ffmpeg.zeranoe.com/builds/ +2. Unpack it somewhere. +3. Get [`ffmpeg_null_10streams.cmd`](ffmpeg_null_10streams.cmd) from this repo. +4. Edit `ffmpeg_null_10streams.cmd` and set executable path to real location of your unpacked ffmpeg. +5. (Optional) Add `ffmpeg_null_10streams.cmd` to autostart programs. + +**Bonus**: you may use [this AutoIt script](silent_bump.au3) from @wazerstar for silent startup of console applications bumping sessions. + +Also you may use these methods to check if patch applied correctly and limit was raised. Use them when nothing works and you are in doubt. From 17170b6817e73ff4856084623ec3c8172525d285 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Fri, 15 Nov 2019 03:25:40 +0200 Subject: [PATCH 5/7] autogen: change directory naming; add docs --- .../{readme_autogen => readme-autogen}/.gitignore | 0 tools/readme-autogen/README.md | 14 ++++++++++++++ .../readme_autogen.py | 0 .../templates/linux_link_row.tmpl | 0 .../templates/linux_nolink_row.tmpl | 0 .../templates/linux_readme_master.tmpl | 0 .../templates/markdown_link.tmpl | 0 .../templates/windows_driver_row.tmpl | 0 .../templates/windows_os_section.tmpl | 0 .../templates/windows_product_section.tmpl | 0 .../templates/windows_readme_master.tmpl | 0 11 files changed, 14 insertions(+) rename tools/{readme_autogen => readme-autogen}/.gitignore (100%) create mode 100644 tools/readme-autogen/README.md rename tools/{readme_autogen => readme-autogen}/readme_autogen.py (100%) rename tools/{readme_autogen => readme-autogen}/templates/linux_link_row.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/linux_nolink_row.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/linux_readme_master.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/markdown_link.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/windows_driver_row.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/windows_os_section.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/windows_product_section.tmpl (100%) rename tools/{readme_autogen => readme-autogen}/templates/windows_readme_master.tmpl (100%) diff --git a/tools/readme_autogen/.gitignore b/tools/readme-autogen/.gitignore similarity index 100% rename from tools/readme_autogen/.gitignore rename to tools/readme-autogen/.gitignore diff --git a/tools/readme-autogen/README.md b/tools/readme-autogen/README.md new file mode 100644 index 0000000..103ed76 --- /dev/null +++ b/tools/readme-autogen/README.md @@ -0,0 +1,14 @@ +readme-autogen +============== + +readme-autogen is a tool for internal usage, which purpose is to simplify maintenance of fresh and correct README files for this project. + +It rebuilds REAME files from templates in `template` directory and driver data specified in `drivers.json` file. + +## Requirements + +* Python 3.4+ + +## Usage + +Just run script. It will update files in your repo working copy. diff --git a/tools/readme_autogen/readme_autogen.py b/tools/readme-autogen/readme_autogen.py similarity index 100% rename from tools/readme_autogen/readme_autogen.py rename to tools/readme-autogen/readme_autogen.py diff --git a/tools/readme_autogen/templates/linux_link_row.tmpl b/tools/readme-autogen/templates/linux_link_row.tmpl similarity index 100% rename from tools/readme_autogen/templates/linux_link_row.tmpl rename to tools/readme-autogen/templates/linux_link_row.tmpl diff --git a/tools/readme_autogen/templates/linux_nolink_row.tmpl b/tools/readme-autogen/templates/linux_nolink_row.tmpl similarity index 100% rename from tools/readme_autogen/templates/linux_nolink_row.tmpl rename to tools/readme-autogen/templates/linux_nolink_row.tmpl diff --git a/tools/readme_autogen/templates/linux_readme_master.tmpl b/tools/readme-autogen/templates/linux_readme_master.tmpl similarity index 100% rename from tools/readme_autogen/templates/linux_readme_master.tmpl rename to tools/readme-autogen/templates/linux_readme_master.tmpl diff --git a/tools/readme_autogen/templates/markdown_link.tmpl b/tools/readme-autogen/templates/markdown_link.tmpl similarity index 100% rename from tools/readme_autogen/templates/markdown_link.tmpl rename to tools/readme-autogen/templates/markdown_link.tmpl diff --git a/tools/readme_autogen/templates/windows_driver_row.tmpl b/tools/readme-autogen/templates/windows_driver_row.tmpl similarity index 100% rename from tools/readme_autogen/templates/windows_driver_row.tmpl rename to tools/readme-autogen/templates/windows_driver_row.tmpl diff --git a/tools/readme_autogen/templates/windows_os_section.tmpl b/tools/readme-autogen/templates/windows_os_section.tmpl similarity index 100% rename from tools/readme_autogen/templates/windows_os_section.tmpl rename to tools/readme-autogen/templates/windows_os_section.tmpl diff --git a/tools/readme_autogen/templates/windows_product_section.tmpl b/tools/readme-autogen/templates/windows_product_section.tmpl similarity index 100% rename from tools/readme_autogen/templates/windows_product_section.tmpl rename to tools/readme-autogen/templates/windows_product_section.tmpl diff --git a/tools/readme_autogen/templates/windows_readme_master.tmpl b/tools/readme-autogen/templates/windows_readme_master.tmpl similarity index 100% rename from tools/readme_autogen/templates/windows_readme_master.tmpl rename to tools/readme-autogen/templates/windows_readme_master.tmpl From 1640df3eab13260e40d3afafd9752f1b1ca4ce26 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Fri, 15 Nov 2019 03:26:17 +0200 Subject: [PATCH 6/7] autogen: apply readme autogen --- README.md | 2 +- win/README.md | 161 +++++++++++++++++++++++++------------------------- 2 files changed, 81 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 8749690..3d41c70 100644 --- a/README.md +++ b/README.md @@ -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.26-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.31-brightgreen.svg) This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. diff --git a/win/README.md b/win/README.md index 244801a..5bf4b0c 100644 --- a/win/README.md +++ b/win/README.md @@ -27,7 +27,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 440.97 use `win10_x64/440.97/nvcuvid64.1337` against `C:\WINDOWS\system32\nvcuvid.dll` and `win10_x64/440.97/nvcuvid32.1337` against `C:\WINDOWS\SysWOW64\nvcuvid.dll`. +E.g, for 64bit Windows 10 running driver version 441.20 use `win10_x64/441.20/nvcuvid64.1337` against `C:\WINDOWS\system32\nvcuvid.dll` and `win10_x64/441.20/nvcuvid32.1337` against `C:\WINDOWS\SysWOW64\nvcuvid.dll`. ~~There are additional steps may be required for Plex and 32bit apps users. See [corresponding section below](#d3d11-and-32-bit-apps-encoding-sessions).~~ We hope this is obsoleted by new additional x86 (32bit) library patch. @@ -42,57 +42,56 @@ A video tutorial is also available. Credits to designator2009. (*Covers pre-x86 | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| GeForce | 417.35 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.35/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.35/417.35-desktop-win10-64bit-international-whql-rp.exe) | -| GeForce | 417.58 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.58/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.58hf/417.58-desktop-notebook-win10-64bit-international-whql.hf.exe) | -| GeForce | 417.71 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.71/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.71/417.71-desktop-win10-64bit-international-whql.exe) | -| GeForce | 418.81 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.81/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/418.81/418.81-desktop-win10-64bit-international-whql.exe) | -| GeForce | 418.91 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.91/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/418.91/418.91-desktop-win10-64bit-international-whql.exe) | -| GeForce | 419.17 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.17/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.17/419.17-desktop-win10-64bit-international-whql.exe) | -| GeForce | 419.35 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.35/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql.exe) | -| GeForce | 419.67 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.67/419.67-desktop-win10-64bit-international-whql.exe) | -| GeForce | 419.67 CRD | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/crd_419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.67/419.67-notebook-win10-64bit-international-crd-whql.exe) | -| GeForce | 425.31 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/425.31/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/425.31/425.31-desktop-win10-64bit-international-whql.exe) | -| GeForce | 430.39 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.39/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.39/430.39-desktop-win10-64bit-international-whql.exe) | -| GeForce | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.64/430.64-desktop-win10-64bit-international-whql.exe) | -| GeForce | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-whql.exe) | -| GeForce | 430.86 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_430.86/nvcuvid.1337) | | [Direct link](https://international-gfe.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-nsd-whql-g.exe) | -| GeForce | 431.36 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.36/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.36/431.36-desktop-win10-64bit-international-whql.exe) | -| GeForce | 431.60 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.60/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win10-64bit-international-whql.exe) | -| GeForce | 431.70 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.70/431.70-notebook-win10-64bit-international-nsd-whql.exe) | -| GeForce | 431.86 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.86/431.86-notebook-win10-64bit-international-nsd-whql.exe) | -| GeForce | 435.27 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/435.27/nvcuvid.1337) | | [Direct link (non-official)](https://github.com/CHEF-KOCH/nVidia-modded-Inf/releases/download/435.27/Nvidia.435.27.rar) | -| GeForce | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win10-64bit-international-whql.exe) | -| GeForce | 436.15 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.15/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win10-64bit-international-whql.exe) | -| GeForce | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win10-64bit-international-whql.exe) | -| GeForce | 436.48 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.48/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win10-64bit-international-whql.exe) | -| GeForce | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win10-64bit-international-whql.exe) | -| GeForce | 441.08 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win10-64bit-international-whql.exe) | -| GeForce | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-whql.exe) | -| GeForce | 441.12 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-nsd-whql.exe) | -| GeForce | 441.20 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win10-64bit-international-whql.exe) | - +| GeForce | 417.35 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.35/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.35/417.35-desktop-win10-64bit-international-whql-rp.exe) | +| GeForce | 417.58 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.58/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.58hf/417.58-desktop-notebook-win10-64bit-international-whql.hf.exe) | +| GeForce | 417.71 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/417.71/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/417.71/417.71-desktop-win10-64bit-international-whql.exe) | +| GeForce | 418.81 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.81/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/418.81/418.81-desktop-win10-64bit-international-whql.exe) | +| GeForce | 418.91 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/418.91/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/418.91/418.91-desktop-win10-64bit-international-whql.exe) | +| GeForce | 419.17 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.17/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.17/419.17-desktop-win10-64bit-international-whql.exe) | +| GeForce | 419.35 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.35/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.35/419.35-desktop-win10-64bit-international-whql.exe) | +| GeForce | 419.67 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.67/419.67-desktop-win10-64bit-international-whql.exe) | +| GeForce | 419.67 CRD | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/crd_419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/419.67/419.67-notebook-win10-64bit-international-crd-whql.exe) | +| GeForce | 425.31 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/425.31/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/425.31/425.31-desktop-win10-64bit-international-whql.exe) | +| GeForce | 430.39 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.39/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.39/430.39-desktop-win10-64bit-international-whql.exe) | +| GeForce | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.64/430.64-desktop-win10-64bit-international-whql.exe) | +| GeForce | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-whql.exe) | +| GeForce | 430.86 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_430.86/nvcuvid.1337) | | [Direct link](https://international-gfe.download.nvidia.com/Windows/430.86/430.86-desktop-win10-64bit-international-nsd-whql-g.exe) | +| GeForce | 431.36 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.36/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.36/431.36-desktop-win10-64bit-international-whql.exe) | +| GeForce | 431.60 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/431.60/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win10-64bit-international-whql.exe) | +| GeForce | 431.70 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.70/431.70-notebook-win10-64bit-international-nsd-whql.exe) | +| GeForce | 431.86 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.86/431.86-notebook-win10-64bit-international-nsd-whql.exe) | +| GeForce | 435.27 non-official | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/435.27/nvcuvid.1337) | | [Direct link](https://github.com/CHEF-KOCH/nVidia-modded-Inf/releases/download/435.27/Nvidia.435.27.rar) | +| GeForce | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win10-64bit-international-whql.exe) | +| GeForce | 436.15 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.15/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win10-64bit-international-whql.exe) | +| GeForce | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win10-64bit-international-whql.exe) | +| GeForce | 436.48 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/436.48/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win10-64bit-international-whql.exe) | +| GeForce | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win10-64bit-international-whql.exe) | +| GeForce | 441.08 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.08/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win10-64bit-international-whql.exe) | +| GeForce | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-whql.exe) | +| GeForce | 441.12 Studio Driver | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/nsd_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win10-64bit-international-nsd-whql.exe) | +| GeForce | 441.20 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/441.20/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win10-64bit-international-whql.exe) | | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| Quadro | 412.16 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.16/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/412.16/412.16-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 412.29 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.29/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/412.29/412.29-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 416.78 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_416.78/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/416.78/416.78-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 418.81 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_418.81/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/418.81/418.81-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 419.17 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.17/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/419.17/419.17-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 419.67 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/419.67/419.67-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 425.31 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_425.31/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/425.31/425.31-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 430.39 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.39/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.39/430.39-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win10-64bit-international-whql.exe) | -| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 412.16 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.16/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/412.16/412.16-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 412.29 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_412.29/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/412.29/412.29-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 416.78 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_416.78/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/416.78/416.78-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 418.81 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_418.81/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/418.81/418.81-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 419.17 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.17/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/419.17/419.17-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 419.67 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_419.67/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/419.67/419.67-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 425.31 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_425.31/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/425.31/425.31-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 430.39 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.39/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.39/430.39-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win10-64bit-international-whql.exe) | +| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win10_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win10-64bit-international-whql.exe) | ### Windows 7, Windows 8, Windows 8.1 drivers @@ -100,28 +99,27 @@ A video tutorial is also available. Credits to designator2009. (*Covers pre-x86 | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| GeForce | 431.60 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/431.60/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 436.15 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.15/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 436.48 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.48/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 441.08 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win8-win7-64bit-international-whql.exe) | -| GeForce | 441.20 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win8-win7-64bit-international-whql.exe) | - +| GeForce | 431.60 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/431.60/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/431.60/431.60-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.02/436.02-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 436.15 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.15/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.15/436.15-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.30/436.30-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 436.48 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/436.48/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/436.48/436.48-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/440.97/440.97-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 441.08 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.08/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.08/441.08-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.12/441.12-desktop-win8-win7-64bit-international-whql.exe) | +| GeForce | 441.20 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/441.20/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/441.20/441.20-desktop-win8-win7-64bit-international-whql.exe) | | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | -| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 436.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.02/436.02-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 436.30 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_436.30/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/436.30/436.30-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | +| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/win7_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-desktop-notebook-win8-win7-64bit-international-whql.exe) | ### Windows Server 2008R2, 2012, 2012R2 drivers @@ -129,14 +127,14 @@ A video tutorial is also available. Credits to designator2009. (*Covers pre-x86 | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| Quadro | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | -| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 430.64 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.64/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.64/430.64-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | +| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2012_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv2008r2-2012-2012r2-64bit-international-whql.exe) | ### Windows Server 2016, 2019 drivers @@ -144,13 +142,14 @@ A video tutorial is also available. Credits to designator2009. (*Covers pre-x86 | Product series | Version | x64 library patch | x86 library patch | Driver link | |----------------|---------|-------------------|-------------------|-------------| -| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv-2016-2019-64bit-international-whql.exe) | -| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 430.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_430.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/430.86/430.86-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 431.02 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.02/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.02/431.02-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 431.70 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.70/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.70/431.70-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 431.86 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.86/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.86/431.86-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 431.94 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_431.94/nvcuvid.1337) | | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/431.94/431.94-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 440.97 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_440.97/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/440.97/440.97-quadro-winserv-2016-2019-64bit-international-whql.exe) | +| Quadro | 441.12 | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid64.1337) | [Direct link](https://raw.githubusercontent.com/keylase/nvidia-patch/master/win/ws2016_x64/quadro_441.12/nvcuvid32.1337) | [Direct link](https://international.download.nvidia.com/Windows/Quadro_Certified/441.12/441.12-quadro-winserv-2016-2019-64bit-international-whql.exe) | + ## Benchmarks From 20441bdb0436f5bd2a8ecc725848b873f3748691 Mon Sep 17 00:00:00 2001 From: Vladislav Yarmak Date: Fri, 15 Nov 2019 03:38:09 +0200 Subject: [PATCH 7/7] autogen: doc polish --- tools/readme-autogen/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/readme-autogen/README.md b/tools/readme-autogen/README.md index 103ed76..379f535 100644 --- a/tools/readme-autogen/README.md +++ b/tools/readme-autogen/README.md @@ -3,7 +3,7 @@ readme-autogen readme-autogen is a tool for internal usage, which purpose is to simplify maintenance of fresh and correct README files for this project. -It rebuilds REAME files from templates in `template` directory and driver data specified in `drivers.json` file. +It rebuilds REAME files from templates located in `templates` directory and driver data specified in `drivers.json` file. ## Requirements