This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.
Go to file
Vladislav Yarmak 4805641d8b
Merge pull request #23 from Snawoot/shellcheck
* Fixes bug: message 'Something went wrong. Check nvidia driver' never displayed because $? always zero due to pipe containing last head which always succeeds.
* Fix: https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing
* Fix: https://www.shellcheck.net/wiki/SC2181 -- Check exit code directly with
* Introduces strict mode of BASH operation
2019-01-05 01:15:49 +02:00
.github/ISSUE_TEMPLATE Update request-for-driver-version-support.md 2018-12-26 18:33:29 +02:00
FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf add doc 2016-11-16 13:37:39 +03:00
patch.sh strict mode of bash operation: pipefail, stop on errors, stop on undefined variables 2019-01-05 00:36:48 +02:00
PULL_REQUEST_TEMPLATE.md Add PR template 2018-12-26 18:43:19 +02:00
README.md Upstream series415 (#22) 2019-01-04 21:59:11 +02:00

nvidia-patch

This patch removes restriction on maximum number of simultaneous NVENC video encoding sessions imposed by Nvidia to consumer-grade GPUs.

Requirements:

Tested on Ubuntu 18.04 LTS (GNU/Linux 4.15.0-23-generic x86_64)

step-by-step :

Download driver

https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run

Install driver (410.78)

mkdir /opt/nvidia && cd /opt/nvidia
wget https://download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run
chmod +x ./NVIDIA-Linux-x86_64-410.78.run
./NVIDIA-Linux-x86_64-410.78.run

Check driver

nvidia-smi

Patch libnvidia-encode.so (with backup)

bash ./patch.sh

Silent patch libnvidia-encode.so

bash ./patch.sh -s

Rollback libnvidia-encode.so (restore from backup)

bash ./patch.sh -r

See also

https://habr.com/post/262563/

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 -surfaces 8.