mirror of
https://github.com/keylase/nvidia-patch.git
synced 2024-08-30 18:32:50 +00:00
commit
61b94770ec
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user