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.
- 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:
Tested on Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64)
# bash ./patch.sh -h SYNOPSIS patch.sh [OPTION]... DESCRIPTION The patch for Nvidia drivers to increase encoder sessions -s Silent mode (No output) -r Rollback to original (Restore lib from backup) -h Print this help message
Examples are provided for driver version 418.56. All commands are runned as root.
mkdir /opt/nvidia && cd /opt/nvidia wget https://download.nvidia.com/XFree86/Linux-x86_64/418.56/NVIDIA-Linux-x86_64-418.56.run chmod +x ./NVIDIA-Linux-x86_64-418.56.run ./NVIDIA-Linux-x86_64-418.56.run
Output should show no errors and details about your driver and GPU.
This patch performs backup of original file prior to making changes.
You're all set!
If something got broken you may restore patched driver from backup:
bash ./patch.sh -r
- Plex Media Server: enable HW decoding:
- Unraid / Docker:
- Original research behind this patch (in Russian)
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