Commit 61b94770 authored by Snawoot's avatar Snawoot Committed by GitHub

Merge pull request #455 from Snawoot/upd_templates

update templates
parents 8a465c17 3a9bfe9f
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.
......
...@@ -11,12 +11,7 @@ Main target operating system is **GNU/Linux**, but for **Windows** support see [ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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: ...@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment