Hardware transcodes for 1080p do not work

Server Version#:1.31.1.6733
OS: RHEL 9.1
Card: Quadro T600

CUDA: have tried with both 11.7 and 12.1 as the active cuda via /etc/alternatives

OK, so this is weird. My server is hardware transcoding 4k movies just fine. It can even transcode 1080p videos to 720p using hardware. 480P->320P worked as well. When I transcode 1080p to a lower bitrate 1080p stream (working around a wireless bandwidth issue that will be solved when I toss my chromecast) the CPU gets used for transcoding, not the GPU. Is this a possible bug in plex itself?

I think this may be the relevant log entry:
[Req#7f69/Transcode/5b6c99530e76d66a-com-plexapp-android/0e2140bc-d46f-41c0-a711-9e8166f60954] Impossible to convert between the formats supported by the filter ‘Parsed_scale_cuda_1’ and the filter ‘auto_scale_0’

Woops, this seems to be the same issue discussed here:

I guess there’s been no fix yet?

The issue has been fixed and was in an Engineering build 1.31.1.6715.

1.31.1.6733 release timing did not include that correction.

On the Debian side, you don’t switch between Nvidia drivers using /etc/alternatives.

It’s a system-level runtime library installation of several packages specifically the kernel DKMS part of the driver

Below is the 515.60.13 (Ubuntu blessed Cuda 12.0)

[chuck@lizum ~.2000]$ dpkg -l | grep nvidia | grep 525
ii  libnvidia-cfg1-525-server:amd64       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-525-server           525.60.13-0ubuntu0.20.04.1        all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-525-server:amd64    525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA libcompute package
ii  libnvidia-decode-525-server:amd64     525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-525-server:amd64     525.60.13-0ubuntu0.20.04.1        amd64        NVENC Video Encoding runtime library
ii  libnvidia-extra-525-server:amd64      525.60.13-0ubuntu0.20.04.1        amd64        Extra libraries for the NVIDIA Server Driver
ii  libnvidia-fbc1-525-server:amd64       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-525-server:amd64         525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  nvidia-compute-utils-525-server       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA compute utilities
ii  nvidia-dkms-525-server                525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA DKMS package
ii  nvidia-driver-525-server              525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Server Driver metapackage
ii  nvidia-kernel-common-525-server       525.60.13-0ubuntu0.20.04.1        amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-525-server       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA kernel source package
ii  nvidia-utils-525-server               525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Server Driver support binaries
ii  xserver-xorg-video-nvidia-525-server  525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA binary Xorg driver
[chuck@lizum ~.2001]$ 

It lists as :

[chuck@lizum ~.2001]$ nvidia-smi
Wed Mar  8 01:13:00 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.13    Driver Version: 525.60.13    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro P2200        On   | 00000000:07:00.0 Off |                  N/A |
| 48%   38C    P8     4W /  75W |      4MiB /  5120MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
[chuck@lizum ~.2002]$

Super psyched there’s a fix almost here! Many thanks!

I was only attempting to switch the active cuda version, not revert drivers. But I’ll be the first to admit I was just trying random stuff.

I don’t think it matters, but I’m on RedHat Enterprise Linux for this. I use Ubuntu too, so very useful regardless.

It doesn’t matter which flavor you use as long as all the required pieces are there.

I used DKMS on Fedora just as much as I use it now on Ubuntu.

There are some things that “just work better” when the critical modules are recompiled / relinked on the fly to match the specific kernel version.

The Nvidia drivers are one such case.

I use a repository for cuda. I haven’t had to recompile anything yet as I believe the kmod packages are required to be used with specific kernel versions. Every once in a while I update the system before the nvidia kmod package has been updated; I have to use the --best flag with dnf so it doesn’t try to install the latest kernel packages. Otherwise, it can’t resolve all the dependencies for the nvidia driver. I guess it can be using dkms during the package install process, but I haven’t had to compile anything yet and everything works flawlessly. I’m happy sticking with the limitation of using the repositories.

If I run into an issue where I need to switch drivers, then dkms-land it is.

you don’t use the CUDA which comes with the driver ?

Nvidia is very good about us not having to compile anything by hand.
All my kmod are done by DKMS automatically. I never need to touch it. I have to dig to see that there was a compile underneath to build the new ko file.

Which kernel version are you using?

Oh, cuda comes with the driver, or vice versa. Sorry if I’m being confusing :slight_smile: Everything comes from the official repository. But there are several versions of cuda on my system (11.7,11,8,12.0,12.1) so I assume they all work with my current driver version. To be clear, I’m not having any issues other than waiting for the 1080p transcode bug to be fixed. But since you asked:

[josh@Odin ~]$ uname -a
Linux Odin 5.14.0-162.18.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Feb 9 04:28:41 EST 2023 x86_64 x86_64 x86_64 GNU/Linux

[root@Odin ~]# update-alternatives --display cuda
cuda - status is manual.
link currently points to /usr/local/cuda-11.7
/usr/local/cuda-11.7 - priority 117
/usr/local/cuda-11.8 - priority 118
/usr/local/cuda-12.0 - priority 120
/usr/local/cuda-12.1 - priority 121
Current `best’ version is /usr/local/cuda-12.1.

[root@Odin ~]# nvidia-smi
Wed Mar 8 12:42:57 2023
±--------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 |
|-----------------------------------------±---------------------±---------------------+

This is the repo I use (and why I called it a cuda repo)
developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64

Whose official repository? In Ubuntu’s case, they provide everything together with all the dependencies assigned as per nvidia requirement.

If you have multiple cuda versions on your host, You have to stop that.
Pick one and stay with it. You’re making an unsupportable mess otherwise.

To transcode with Nvidia GPUs on Plex, you need a unified Nvidia library.
It must be CUDA 11.7 or higher with matching drivers

This is my combination production and Plex test/development machine.
There is only one version.

[chuck@glockner local.2001]$ dpkg -l | grep 525
ii  libnvidia-cfg1-525-server:amd64       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-525-server           525.60.13-0ubuntu0.20.04.1        all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-525-server:amd64    525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA libcompute package
ii  libnvidia-decode-525-server:amd64     525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-525-server:amd64     525.60.13-0ubuntu0.20.04.1        amd64        NVENC Video Encoding runtime library
ii  libnvidia-extra-525-server:amd64      525.60.13-0ubuntu0.20.04.1        amd64        Extra libraries for the NVIDIA Server Driver
ii  libnvidia-fbc1-525-server:amd64       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-525-server:amd64         525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  nvidia-compute-utils-525-server       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA compute utilities
ii  nvidia-dkms-525-server                525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA DKMS package
ii  nvidia-driver-525-server              525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Server Driver metapackage
ii  nvidia-kernel-common-525-server       525.60.13-0ubuntu0.20.04.1        amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-525-server       525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA kernel source package
ii  nvidia-utils-525-server               525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA Server Driver support binaries
ii  xserver-xorg-video-nvidia-525-server  525.60.13-0ubuntu0.20.04.1        amd64        NVIDIA binary Xorg driver
[chuck@glockner local.2002]$ 

Everything from Xorg display server through encode-decode libraries are all the same release.

Separate note:

I’m downloading 9.1 now and standing up a VM so I am fully up to speed on what’s offered by 9.1

Everything I have is managed by system dependencies written by nvidia into their RPM packages. It works quite well, I’ve yet to run into any kind of conflict. There’s only ever 1 kmod /driver installed at any time, the previous version is always wiped, but multiple cuda versions don’t bother each other off in their isolated directories.

Between the nvidia and plex repositories, i have to do very little manual software maintenance on this machine. As I mentioned earlier, sometimes nvidia falls a little behind and I can’t install the latest kernel but it doesn’t last long and has yet to cause me any real headache.

I probably tacked this onto my last message after you had already read it
Repo:
developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64

If you need a license, developer licenses are free these days :slight_smile: It’s kind of a combo dev/personal license that they added after they killed the downstream CentOS releases. I forget how many you get, but I’ll never need all the licenses they gave me. Totally legit, plex doesn’t need to pay afaik.

I have a developer license.

I pulled 9.1

I’m getting this: `CPU has been disabled by the guest operating system’.

Obviously I’ve done something stupid in vmware.

Thoughts ?

Lost on that one. Sounds like it could be a kernel panic? I can’t imagine RHEL isn’t working on vmware, that’d be absurd. Older version maybe?

https://kb.vmware.com/s/article/2000542

Oh, i never mentioned that I’m not running a GUI. I think it must make dealing with all the driver stuff much much easier. It’s why I didn’t install one to begin with. Kind of a key piece of info I forgot to mention…

I’ll grab the server iso.

It is absurd that RHEL and vmware argue.

When all else fails – don’t use a GUI

So true. I initially tried Ubuntu budgie but I didn’t know how to get everything installed correctly driverwise. Then I switched to Windows, which worked great, but didn’t have the tone mapping hw transcode support (at the time anyway) and I really wanted that. RHEL server was my third install, and it was just right :slight_smile: Everything has just worked for me here and it’s made me love plex all the more :slight_smile:

Just to circle back…
The bug does seem to be fixed for me in 6783

Also, I thought you might find this interesting…nvidia has their redhat repository set up with application streams. It should make bouncing around between driver versions relatively painless, just a few dnf commands. I expect rhel 8 works the same. I’m set to dkms latest. I think pegging a version is a matter of uninstalling, setting a different stream for the nvidia-driver module, and installing again. (I haven’t tried it since everything is working for me on latest afaik.)

dnf module list nvidia-driver

Updating Subscription Management repositories.
Last metadata expiration check: 0:06:18 ago on Fri 10 Mar 2023 01:43:45 PM EST.
cuda-rhel9-x86_64
Name Stream Profiles Summary
nvidia-driver latest default [d], fm, ks, src Nvidia driver for latest branch
nvidia-driver latest-dkms [d][e] default [d], fm, ks Nvidia driver for latest-dkms branch
nvidia-driver open-dkms default [d], fm, ks, src Nvidia driver for open-dkms branch
nvidia-driver 515 default [d], fm, ks, src Nvidia driver for 515 branch
nvidia-driver 515-dkms default [d], fm, ks Nvidia driver for 515-dkms branch
nvidia-driver 515-open default [d], fm, ks, src Nvidia driver for 515-open branch
nvidia-driver 520 default [d], fm, ks, src Nvidia driver for 520 branch
nvidia-driver 520-dkms default [d], fm, ks Nvidia driver for 520-dkms branch
nvidia-driver 520-open default [d], fm, ks, src Nvidia driver for 520-open branch
nvidia-driver 525 default [d], fm, ks, src Nvidia driver for 525 branch
nvidia-driver 525-dkms default [d], fm, ks Nvidia driver for 525-dkms branch
nvidia-driver 525-open default [d], fm, ks, src Nvidia driver for 525-open branch
nvidia-driver 530 default [d], fm, ks, src Nvidia driver for 530 branch
nvidia-driver 530-dkms default [d], fm, ks Nvidia driver for 530-dkms branch
nvidia-driver 530-open default [d], fm, ks, src Nvidia driver for 530-open branch

Hint: [d]efault, [e]nabled, disabled, [i]nstalled

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.