[Cin] Testing Nvidia Nvenc encoding

Terje J. Hanssen terjejhanssen at gmail.com
Sat Dec 28 01:51:01 CET 2024




Den 27.12.2024 22:25, skrev Andrew Randrianasulu:
>
>
> пт, 27 дек. 2024 г., 23:56 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 27.12.2024 21:37, skrev Terje J. Hanssen:
>>
>>
>>
>>     Den 27.12.2024 21:07, skrev Andrew Randrianasulu:
>>>
>>>
>>>     пт, 27 дек. 2024 г., 22:55 Phyllis Smith <phylsmith2017 at gmail.com>:
>>>
>>>         Andrew, are you saying that nv-codec-headers at 10.0.26.0 in
>>>         the current CinGG work with your GT710? and that the newest
>>>         12.2.72.0 does not?  If so, then maybe we should not
>>>         upgrade.  When I look at the support matrix (url below) it
>>>         does not mention the GT710.
>>>
>>>
>>>     Do not worry, I only used proprietary driver from live dvd to
>>>     see if nvenc ever work at all. I normally use built-in nouveau,
>>>     even if it does not support encoding block on any hw.
>>>
>>>     Do not consider my oddball machine support as showstopper - I
>>>     definitely can roll my own build ;)
>>>
>>>     https://gssparks.github.io/post/can-a-geforce-gt710-nvenc/
>>>
>>>     yeah, gt710 is sort of two-cards-under-same-name, mine is Kepler
>>>     based so it worked ....
>>
>>     A side comment:
>>     Before I rebuilt my legacy SM workstation, I replaced a GT730
>>     with GTX960 on the MSI mobo (from my upgraded Chieftec workstation)
>>     https://www.asus.com/motherboards-components/graphics-cards/asus/gt730-sl-2gd3-brk-evo/
>
>
>     And then, about 6 months ago, I had the following drivers for GT
>     730 enabled on Leap15.5 and Slowroll respectively:
>
>         Device-1: NVIDIA GK208B [GeForce GT 730] driver: nvidia v:
>         470.256.02
>
> isn't 470 < 550 ?

Clearly, yes.

The opensuse SDB:NVIDIA lists the following driver series for different 
NV devices/families
https://en.opensuse.org/SDB:NVIDIA_drivers#Determination_of_driver_version

Note: NVIDIA driver versions are mapped to the following naming 
convention listed below. You will need this information when you are 
ready to install via commandline/zypper.

  * G03 = driver v340 = legacy driver (via a community user
    <https://software.opensuse.org/search?baseproject=ALL&q=g03>)
  * G04 = driver v390 = legacy driver (Fermi devices)
  * G05 = driver v470 = driver for Kepler devices
  * G06 = driver v550 = driver for Maxwell, Pascal devices and up

Note: Some OEMs use different chip familys (Kepler, Fermi) for the same 
product, as example GeForce 730.

*Warning:* Legacy drivers G03 and G04 won't work with the actual kernel 
6.6.x series. Use free nouveau drivers instead!


> But I do not think opening desktop case just for this test  actually 
> good idea ...
>
> do not worry, ff nvidia headers quite small tarball, I always can fish 
> old one from one of my backups ....

Yeah, I don't use the gt730 anymore, as gtx960 was some more powerful.



>
>
>
>
>
>         Device-1: NVIDIA GK208B [GeForce GT 730] driver: nouveau v: kernel
>
>
>>
>>>
>>>
>>>
>>>
>>>         https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
>>>         BUT when I do a compare of the old one we have currently and
>>>         the latest at this website:
>>>         https://github.com/FFmpeg/nv-codec-headers/releases/tag/n12.2.72.0
>>>         I get the following differences which DO NOT say anything
>>>         about dropping support for any previous Nvidia graphics boards.
>>>         Below list the comparison which shows what was changed from
>>>         the older version to the latest
>>>
>>>             *Bump for (in-dev) 10.0.26.1*
>>>             Fix macOS build
>>>             Add linker functions and types
>>>             Fix CUdeviceptr definition for ARM64 CPU
>>>             *Bump for (in-dev) 10.0.26.2*
>>>             Update headers from Video SDK 11.0
>>>             *Bump for (in-dev) 11.0.10.1*
>>>             Add cuModuleGetGlobal
>>>             Add texture alignment device attributes
>>>             add cuMemcpy
>>>
>>>             *Bump for (in-dev) 11.0.10.2*
>>>             Fix UB lshift in nvenc struct version macros
>>>             Add more memory functions
>>>             Update headers from Video SDK 11.1
>>>             Add timeline semaphore type
>>>             Add
>>>             CU_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TIMELINE_SEMAPHORE_WIN32
>>>             Add a subset of CUDA EGLStreams interop API
>>>             Update forgotten version number in README
>>>             Fix codestyle
>>>             Add D3D11 interop functions
>>>             *Release 11.1.5.2*
>>>             Prepare for SDK 12.0 update
>>>             Preliminary update of nvEncodeAPI to SDK 12.0
>>>
>>>             Add missing SDK 12.0 bits
>>>             Update for final release of Video Codec SDK 12.0.16
>>>             Remove AV1 High Profile GUID
>>>             Update README
>>>             Add cuArrayCreate
>>>             *Bump for (in-dev) 12.0.16.1*
>>>             Add functions to identify devices in more ways
>>>             Add missing cuStreamWaitEvent function
>>>             Update headers from Video SDK 12.1
>>>             Add cuDriverGetVersion
>>>             Add cuCtxGetCurrent function
>>>             *Bump for (in-dev) 12.1.14.1*
>>>             Update headers from Video SDK 12.2
>>>
>>>
>>>
>>>         On Thu, Dec 26, 2024 at 7:20 PM Andrew Randrianasulu
>>>         <randrianasulu at gmail.com> wrote:
>>>
>>>
>>>
>>>             пт, 27 дек. 2024 г., 05:09 Phyllis Smith
>>>             <phylsmith2017 at gmail.com>:
>>>
>>>                 Great so it will be included in the next release.
>>>                 Thank you very much.
>>>
>>>
>>>             Can you also please copypaste  min driver notes into
>>>             our  release notes so it will be easier for me to track
>>>             it in case my older gt710 still stuck at older driver
>>>             version (not a blocker, I surely can swap headers back
>>>             to 2020 version locally).
>>>
>>>             Thanks and sorry for relative inactivity. I hope to pick
>>>             up some steam ..... may he after formal New Year date?
>>>
>>>             Have (good) holidays!
>>>
>>>
>>>
>>>                 On Thu, Dec 26, 2024, 17:10 Terje J. Hanssen
>>>                 <terjejhanssen at gmail.com> wrote:
>>>
>>>
>>>
>>>
>>>                     Den 26.12.2024 23:15, skrev Phyllis Smith:
>>>>                     Here is the AppImage with the latest nvencoders
>>>>                     for Nvidia graphics that goes with ffmpeg.
>>>>                     https://cinelerra-gg.org/download/testing/cin-x86_64_nvencupdate.AppImage
>>>>                     For comparison, here is the appimage containing
>>>>                     the original nvencoders from 2020.
>>>>                     https://cinelerra-gg.org/download/images/CinGG-20241031-x86_64.AppImage
>>>
>>>                     I've did a quick test with h64_nvenc.mp4 and
>>>                     h265_nvenc.mp4 (w/setting format=Not Interlaced)
>>>                     Both AppImages works with similar fps speeds on
>>>                     my Nvidia GF GTX 960.
>>>
>>>>
>>>>                     I am not sure if encoding with formats
>>>>                     h264_nvenc.mp4, h265_nvenc.mp4, or
>>>>                     h264_nvenc.qt actually work from an AppImage
>>>>                     that was created on a computer that does not
>>>>                     have an Nvidea graphics card or its software. 
>>>>                     But for some reason, I do not think that that
>>>>                     matters and it should work.
>>>
>>>                     Yes, nvenc works (as it correspondingly was
>>>                     expected to do with onevpl for  Intel qsv/hw).
>>>
>>>
>>>>
>>>>
>>>>                     On Thu, Dec 26, 2024 at 2:11 PM Terje J.
>>>>                     Hanssen <terjejhanssen at gmail.com> wrote:
>>>>
>>>>
>>>>
>>>>
>>>>                         Den 24.12.2024 13:29, skrev Terje J. Hanssen:
>>>>>
>>>>>
>>>>>
>>>>>                         Den 24.12.2024 00:58, skrev Phyllis Smith:
>>>>>>                         Downloaded latest version of
>>>>>>                         nv-codec-headers release and built CinGG
>>>>>>                         with it and no problems here.
>>>>>>                         Unfortunately the 4 different computers I
>>>>>>                         attempted to test on did not have the
>>>>>>                         correct Nvidia hardware or software. Why?
>>>>>>                         I do not know but will try one more later.
>>>>>
>>>>                         According to the /Readme
>>>>                         /https://github.com/FFmpeg/nv-codec-headers
>>>>
>>>>                             /FFmpeg version of headers required to
>>>>                             interface with Nvidias codec APIs./
>>>>                             /Corresponds to Video Codec SDK version
>>>>                             12.0.16./
>>>>                             /Minimum required driver versions:/
>>>>                             /Linux: 550.54.14 or newer/
>>>>
>>>>                         As shown in my previous post, the legacy
>>>>                         (2015) NV-GF GTX 960 runs with the
>>>>                         following nv driver version on Slowroll:
>>>>
>>>>                             Graphics:
>>>>                               Device-1: Intel HD Graphics 530
>>>>                             driver: i915 v: kernel
>>>>                               Device-2: NVIDIA GM206 [GeForce GTX
>>>>                             960] driver: nvidia v: 550.135
>>>>
>>>>
>>>>
>>>>>                         If you want and have a test download, I
>>>>>                         can give it a try on my legacy GF GTX 960
>>>>>                         SkyLake workstation, to see if your new
>>>>>                         AppImage (still) works as previously.
>>>>>
>>>>>>
>>>>>>                         On Sat, Dec 21, 2024 at 4:04 PM Andrew
>>>>>>                         Randrianasulu <randrianasulu at gmail.com>
>>>>>>                         wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>                             вс, 22 дек. 2024 г., 01:53 Phyllis
>>>>>>                             Smith <phylsmith2017 at gmail.com>:
>>>>>>
>>>>>>                                 Andrew,
>>>>>>
>>>>>>                                     most likely our nv headers
>>>>>>                                     drifted from that
>>>>>>                                     ffmpeg-7.0/proprietary driver
>>>>>>                                     assumes at runtime.
>>>>>>
>>>>>>                                 I have been wondering about
>>>>>>                                 nv-codec-headers as we are at:
>>>>>>                                 https://github.com/FFmpeg/nv-codec-headers/releases/tag/n10.0.26.0
>>>>>>                                 but I am unsure about updating to:
>>>>>>                                 https://github.com/FFmpeg/nv-codec-headers/releases/tag/n12.2.72.0
>>>>>>                                 because if you look at:
>>>>>>                                 https://github.com/FFmpeg/nv-codec-headers/releases/
>>>>>>                                 the release versions go from
>>>>>>                                 12.xx to 8.x and it is really
>>>>>>                                 weird AND there is no year on the
>>>>>>                                 release dates but just day and month.
>>>>>>                                 Since it is such an important
>>>>>>                                 part of ffmpeg inside CinGG, I am
>>>>>>                                 concerned but will at least try
>>>>>>                                 the 12.2.72.0 just to see what it
>>>>>>                                 does.
>>>>>>
>>>>>>
>>>>>>                             in theory it should give users of new
>>>>>>                             nvidia hardware av1 encoding ......
>>>>>>                             but not sure how it will work with
>>>>>>                             older drivers and hardware.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>                                     you can try to install
>>>>>>                                     something like
>>>>>>                                     nv-codec-headers and then add
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241228/9a3e6b72/attachment-0001.htm>


More information about the Cin mailing list