mirror of
				https://github.com/keylase/nvidia-patch.git
				synced 2025-11-04 06:32:02 +00:00 
			
		
		
		
	@@ -1,7 +1,7 @@
 | 
			
		||||
NVENC and NvFBC patches for Nvidia drivers
 | 
			
		||||
==========================================
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
[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:
 | 
			
		||||
 | 
			
		||||
You can say thanks to the author and support ongoing efforts with donations to these wallets:
 | 
			
		||||
 | 
			
		||||
- BTC: `1Q9uQAFNviHZEW7yT5sNsi4MJnxaL2tvvK`
 | 
			
		||||
- ETH: `0xE55e48b116D0dd4d26adafB65B92e74F0ac73636`
 | 
			
		||||
**Project is looking for a maintainer.**
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
@@ -48,7 +43,7 @@ $version_list
 | 
			
		||||
# bash ./patch.sh -h
 | 
			
		||||
 | 
			
		||||
SYNOPSIS
 | 
			
		||||
       patch.sh [-s] [-r|-h|-c VERSION|-l]
 | 
			
		||||
       patch.sh [-s] [-r|-h|-c VERSION|-l|-f]
 | 
			
		||||
 | 
			
		||||
DESCRIPTION
 | 
			
		||||
       The patch for Nvidia drivers to remove NVENC session limit
 | 
			
		||||
@@ -61,6 +56,7 @@ DESCRIPTION
 | 
			
		||||
       -l             List supported driver versions
 | 
			
		||||
       -d VERSION     Use VERSION driver version when looking for libraries
 | 
			
		||||
                      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
 | 
			
		||||
 | 
			
		||||
SYNOPSIS
 | 
			
		||||
       patch-fbc.sh [-s] [-r|-h|-c VERSION|-l]
 | 
			
		||||
       patch-fbc.sh [-s] [-r|-h|-c VERSION|-l|-f]
 | 
			
		||||
 | 
			
		||||
DESCRIPTION
 | 
			
		||||
       The patch for Nvidia drivers to allow FBC on consumer devices
 | 
			
		||||
@@ -81,7 +77,7 @@ DESCRIPTION
 | 
			
		||||
       -l             List supported driver versions
 | 
			
		||||
       -d VERSION     Use VERSION driver version when looking for libraries
 | 
			
		||||
                      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.
 | 
			
		||||
 | 
			
		||||
## 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
 | 
			
		||||
 | 
			
		||||
* [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.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user