Merge pull request #455 from Snawoot/upd_templates

update templates
This commit is contained in:
Snawoot 2021-11-07 21:19:15 +02:00 committed by GitHub
commit 61b94770ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 10 deletions

View File

@ -1,7 +1,7 @@
NVENC and NvFBC patches for Nvidia drivers NVENC and NvFBC patches for Nvidia drivers
========================================== ==========================================
![GitHub last commit](https://img.shields.io/github/last-commit/keylase/nvidia-patch.svg) ![Latest version](https://img.shields.io/badge/latest%20linux%20driver%20version-470.74-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-495.29.05-brightgreen.svg)
[NVENC patch](patch.sh) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs. [NVENC patch](patch.sh) removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.

View File

@ -11,12 +11,7 @@ Main target operating system is **GNU/Linux**, but for **Windows** support see [
--- ---
:heart: :heart: :heart: **Project is looking for a maintainer.**
You can say thanks to the author and support ongoing efforts with donations to these wallets:
- BTC: `1Q9uQAFNviHZEW7yT5sNsi4MJnxaL2tvvK`
- ETH: `0xE55e48b116D0dd4d26adafB65B92e74F0ac73636`
--- ---
@ -48,7 +43,7 @@ $version_list
# bash ./patch.sh -h # bash ./patch.sh -h
SYNOPSIS SYNOPSIS
patch.sh [-s] [-r|-h|-c VERSION|-l] patch.sh [-s] [-r|-h|-c VERSION|-l|-f]
DESCRIPTION DESCRIPTION
The patch for Nvidia drivers to remove NVENC session limit The patch for Nvidia drivers to remove NVENC session limit
@ -61,6 +56,7 @@ DESCRIPTION
-l List supported driver versions -l List supported driver versions
-d VERSION Use VERSION driver version when looking for libraries -d VERSION Use VERSION driver version when looking for libraries
instead of using nvidia-smi to detect it. instead of using nvidia-smi to detect it.
-f Enable support for Flatpak NVIDIA drivers.
``` ```
@ -68,7 +64,7 @@ DESCRIPTION
# bash ./patch-fbc.sh -h # bash ./patch-fbc.sh -h
SYNOPSIS SYNOPSIS
patch-fbc.sh [-s] [-r|-h|-c VERSION|-l] patch-fbc.sh [-s] [-r|-h|-c VERSION|-l|-f]
DESCRIPTION DESCRIPTION
The patch for Nvidia drivers to allow FBC on consumer devices The patch for Nvidia drivers to allow FBC on consumer devices
@ -81,7 +77,7 @@ DESCRIPTION
-l List supported driver versions -l List supported driver versions
-d VERSION Use VERSION driver version when looking for libraries -d VERSION Use VERSION driver version when looking for libraries
instead of using nvidia-smi to detect it. instead of using nvidia-smi to detect it.
-f Enable support for Flatpak NVIDIA drivers.
``` ```
@ -139,6 +135,22 @@ Essentially all you need to do during build is:
`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. `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.
## Flatpak support
If you use a Flatpak app that uses NVENC/NvFBC (e.g. OBS Studio, Kdenlive), it's recommended that you patch the NVIDIA drivers for Flatpak as well. To do so, just pass the `-f` parameter to either `patch.sh` or `patch-fbc.sh`, like so:
```bash
bash ./patch.sh -f
bash ./patch-fbc.sh -f
```
In case something goes wrong, you can restore the original Flatpak drivers by adding the `-r` paramater:
```
bash ./patch.sh -f -r
bash ./patch-fbc.sh -f -r
```
## Benchmarks ## 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. * [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.