[Plugin] Nvidia-Driver


ich777

Recommended Posts

22 minutes ago, ich777 said:

This is perfectly fine, have you also tried to transcode another file? I think the GTX 980? Eventualy a file that has not the profile high 10?

 

What seems off to you from the output?

Ok I figured it out for some reason my gtx 980 can't handle mp4 files properly but mkv files work just fine. Would this be the same if I had a P2000? You've been a great help and maybe this info will help someone else if they are having a similar issue. 

Update.PNG

Update2.PNG

  • Like 1
Link to comment
34 minutes ago, Whatupdays said:

Ok I figured it out for some reason my gtx 980 can't handle mp4 files properly but mkv files work just fine. Would this be the same if I had a P2000? You've been a great help and maybe this info will help someone else if they are having a similar issue. 

Update.PNG

Update2.PNG

Hi @Whatupdays,

 

mp4 and mkv files (among other formats) are nothing but containers for video and/or audio streams. What is key to know why such or such stream is hardware transcoded or not by your GPU is the codec of the video stream inside the container.

Under Windows you can use a tool like MKVToolNix to know exactly what the codec of the video stream is in your mkv, mp4, avi, ogg, ... container file.

Then we'll certainly be able to understand why the video stream is not hardware transcoded by Plex. 

 

Having a look at https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding , I noticed that the GeForce GTX980 (Maxwell 2nd Gen architecture) does not support H.265, which may explain your issue. It's also software limited to 3 simultaneous sessions.

As for Quadro P2000 (Pascal architecture, the next one), it does support H.265, and has no sessions limit. So yes, transcoding capabilities of a P2000 are way superior to GTX980 for a Plex server.

Edited by Gnomuz
  • Thanks 1
Link to comment

Just to let everybody know and follow up on my previous posts, I managed with the precious help of @ich777 to get my brand new Nvidia RTX 3060 Ti to be recognized and fully operational under Unraid 6.9.0-beta35 with the Nvidia driver plugin.

 

I was lucky enough to get one of very few Founders Edition cards available here in France. Now the GPU is bravely folding proteins to help research against covid-19, running circa 6 times faster than the P2000 I had so far, with a power draw of 190W vs 75W !

 

I wanted to share this success with the whole community, and let's push Unraid forward alltogether !

  • Like 2
Link to comment
51 minutes ago, Gnomuz said:

Hi @Whatupdays,

 

mp4 and mkv files (among other formats) are nothing but containers for video and/or audio streams. What is key to know why such or such stream is hardware transcoded or not by your GPU is the codec of the video stream inside the container.

Under Windows you can use a tool like MKVToolNix to know exactly what the codec of the video stream is in your mkv, mp4, avi, ogg, ... container file.

Then we'll certainly be able to understand why the video stream is not hardware transcoded by Plex. 

 

Having a look at https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding , I noticed that the GeForce GTX980 (Maxwell 2nd Gen architecture) does not support H.265, which may explain your issue. It's also software limited to 3 simultaneous sessions.

As for Quadro P2000 (Pascal architecture, the next one), it does support H.265, and has no sessions limit. So yes, transcoding capabilities of a P2000 are way superior to GTX980 for a Plex server.

Ok so I checked my test file and your right it was H.265 codec in a mp4 container. If I'm understanding this correctly. But I did check other mp4 files and they all work correctly. So in the end it was my test file in the wrong codec that my gpu doesn't support.

Link to comment
16 minutes ago, Whatupdays said:

Ok so I checked my test file and your right it was H.265 codec in a mp4 container. If I'm understanding this correctly. But I did check other mp4 files and they all work correctly. So in the end it was my test file in the wrong codec that my gpu doesn't support.

I suspected H.265 was the problem, and you understand it correctly. Your other mp4 containers very likely contain streams with Maxwell compatible codecs, i.e. not H.265.

As a piece of information, second-hand Quadro P2000s are rather easy to find, don't cost arm and leg, and are powered only by the PCI-E slot (75W), no extra power cable. I don't know where you live, but here in France I recently bought one, brand new from an Dell workstation where it was immediately replaced by a more powerful GPU, for 200€. 

Link to comment
3 hours ago, jbreed said:

Below this is a disabled DOWNLOAD & INSTALL button.

This is another plugin!

If you want to use thia plugin you have to first uninstall your old plugin, the upgrade to beta35, reboot, go to the CA App and download the Nvidia-Driver plugin and restart once agaim or at least restart the docker service.

 

Please read the first post for detailed instructions.

Link to comment
12 hours ago, ich777 said:

This is another plugin!

If you want to use thia plugin you have to first uninstall your old plugin, the upgrade to beta35, reboot, go to the CA App and download the Nvidia-Driver plugin and restart once agaim or at least restart the docker service.

 

Please read the first post for detailed instructions.

Deleted! Just now noticed this was an option and assumed this was the same module as I've always used. Thanks!

  • Like 1
Link to comment

Anybody run into an issue where plexinc docker container hardware transcoding ability drops out after a system sleep and wake cycle? System reboot resolves the issue. I can confirm hw transcoding is properly set up in dashboard handling HDR tone mapping content, etc. on current plexpass build.

 

I'm wondering if there's a flag or something I need to include on my sleep settings.

Link to comment
1 hour ago, ich777 said:

How did you trigger the sleep?

Can you give me the output of 'nvidia-smi' before and after the sleep is triggered?

after a fresh reboot transcoding 4K HDR:

Sun Dec  6 15:23:09 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.38       Driver Version: 455.38       CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| 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 P2000        Off  | 00000000:09:00.0 Off |                  N/A |
| 48%   42C    P0    34W /  75W |   1440MiB /  5055MiB |     44%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     13064      C   ...diaserver/Plex Transcoder     1438MiB |
+-----------------------------------------------------------------------------+

and then after following a sleep (via unraid web GUI) and WOL command. Same file, same transcoding preferences:

 

Sun Dec  6 15:26:06 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.38       Driver Version: 455.38       CUDA Version: 11.1     |
|-------------------------------+----------------------+----------------------+
| 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 P2000        Off  | 00000000:09:00.0 Off |                  N/A |
| 50%   42C    P0    16W /  75W |   1440MiB /  5055MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     13064      C   ...diaserver/Plex Transcoder     1438MiB |
+-----------------------------------------------------------------------------+

verified by a 46% CPU load on the system and no 'hw' tag on the Plex dashboard.

 

I forgot to mention restarting the Plex docker and docker service doesn't change the outcome after the system has been woken from sleep.

Edited by omORANGE
Link to comment
5 hours ago, omORANGE said:

after a fresh reboot transcoding 4K HDR:

and then after following a sleep (via unraid web GUI) and WOL command. Same file, same transcoding preferences:

 

verified by a 46% CPU load on the system and no 'hw' tag on the Plex dashboard.

 

I forgot to mention restarting the Plex docker and docker service doesn't change the outcome after the system has been woken from sleep.

Are you sending the server to sleep while it's transcoding?

 

I read somewhere that on certain systems Nvidia cards don't wake up successfully after sleep. Have to investigate further, can you give me a little bit more information about your system specs?

 

You can try to append this to your syslinux.cfg: 'pcie_aspm=force' (this forces devices to use ASPM=PCIe Active State Power Management - this can may be bad and lead to system lock ups, but at least you can try...)

Link to comment
19 hours ago, ich777 said:

Are you sending the server to sleep while it's transcoding?

 

I read somewhere that on certain systems Nvidia cards don't wake up successfully after sleep. Have to investigate further, can you give me a little bit more information about your system specs?

 

You can try to append this to your syslinux.cfg: 'pcie_aspm=force' (this forces devices to use ASPM=PCIe Active State Power Management - this can may be bad and lead to system lock ups, but at least you can try...)

in this case yes but the same thing has happened long after a transcode would have finished and server put to sleep and rewoke. I thought about the transcode maybe existing in my /tmp/ directory still and plex trying to just pick up where it left off on a resume play but that doesnt explain the high CPU usage.

 

It had never been an issue prior to version 6.9.0-beta35, nvidia drivers (v 455.38), and the new plexinc docker I'm trying (Version 1.21.0.3711) with the HDR tonemapping. Unfortunately I made all the changes at the same time but I know switching back to linuxserver.io's plex container is not the issue because the same issue pops up after waking from S3.

 

I'm running an Asus Pro WS X570-ACE motherboard with ryzen 3800x CPU and a Quadro P2000 and it was working great on unraid-nvidia but I pushed the update due to the depreciation.

 

I just tried that flag and it disabled sleep completely, the logs showed the system issuing a wake command after processes failed to suspend. removing it put me back where I was.

 

I'm going to go digging around in the unraid-nvidia thread some more to see if there's an old post about it somewhere.

Link to comment
4 hours ago, omORANGE said:

Unfortunately I made all the changes at the same time but I know switching back to linuxserver.io's plex container is not the issue because the same issue pops up after waking from S3.

So the issue was the same with the old plugin, you know that you always can go back (prebuild images in the first post on the bottom):

 

5 hours ago, omORANGE said:

just tried that flag and it disabled sleep completely, the logs showed the system issuing a wake command after processes failed to suspend. removing it put me back where I was.

Yes, this flag can cause troubles...

I don't know if the P2000 supports that feature since it's a server grade or at least professional grade card.

So the problem was also there with version prior then beta35?

 

5 hours ago, omORANGE said:

I'm going to go digging around in the unraid-nvidia thread some more to see if there's an old post about it somewhere.

Please tell me if you find something, I only did a quick google search since I don't use sleep on my Unraid server?

Link to comment

You made it quite clear that using the GPU to transcode in a docker is fine (works like a charm btw great job) but it will crash the server if you were to also use it in a VM (win10).  I would like to do both with a single GPU (2080ti) so that my Plex server and my VR machine share a single chassis.  Do you know if this support will be forthcoming or if there's a workaround already in place that would allow me to achieve this?  Thanks for your time

Link to comment
4 hours ago, Swimzalot said:

Do you know if this support will be forthcoming or if there's a workaround already in place that would allow me to achieve this?

You have two options, like @trurl said to run Plex in the VM and mount your library to your VM via a network mount or UNC path or you buy a second card (GTX1050Ti) and use that for HW acceleration in your containers.

Link to comment

Thank you for this plugin. I followed the instructions but unraid isn't recognizing my quadro p2200. How can I troubleshoot further? Attached is the diagnostic zip as well. Thank you again for any help!

 

It's showing up on my system devices and isn't bounded to VFIO

image.thumb.png.f996e874ce5165815760f7d465414c16.png

 

Here's what I see from the plugin page

image.thumb.png.20d3e53315487beaf99831b2bede2648.png

 

Here's what I see from the unraid logs

image.thumb.png.d83645591da112b65dac1c7fb7833bb6.png

 

nvidia-smi output

image.png.4e7ba05db49e98afbf5ce9a41e588c1f.png

 

I've also confirmed that the Quadro P2200 is supported by the 455.38

image.thumb.png.fd28fb55e3c26a9d542517e0f5d4b0eb.png

einstein-diagnostics-20201209-1001.zip

Edited by joeskii
spelling
Link to comment
1 hour ago, joeskii said:

Thank you for this plugin. I followed the instructions but unraid isn't recognizing my quadro p2200. How can I troubleshoot further? Attached is the diagnostic zip as well. Thank you again for any help!

 

Here's what I see from the unraid logs

 

nvidia-smi output

 

 

I've also confirmed that the Quadro P2200 is supported by the 455.38

 

einstein-diagnostics-20201209-1001.zip 108.53 kB · 0 downloads

Thank you for the report, can you tell me a little bit more about your system do you use secure boot?

Also the log says there could be anything misconfigured in the BIOS that taints the Kernel.

I've also looked up your board Gigabyte 7TESM and it's based on the Intel 5520 Chipset, is the BIOS on the latest version?

Can you try to enable above 4G decoding?

 

Is this the first time you try to use this combination of hardware/graphics card to use in docker containers?

Link to comment
11 minutes ago, ich777 said:

Thank you for the report, can you tell me a little bit more about your system do you use secure boot?

Also the log says there could be anything misconfigured in the BIOS that taints the Kernel.

I've also looked up your board Gigabyte 7TESM and it's based on the Intel 5520 Chipset, is the BIOS on the latest version?

Can you try to enable above 4G decoding?

 

Is this the first time you try to use this combination of hardware/graphics card to use in docker containers?

Yes, this is the 1st time I've added a graphics card to my system, but I'm not on the latest bios. I will give that a try and report back. Thanks!

Link to comment
1 minute ago, joeskii said:

Yes, this is the 1st time I've added a graphics card to my system, but I'm not on the latest bios. I will give that a try and report back. Thanks!

I think it has something to do with the BIOS and that it doesn't allocate the resources right. Please be sure to write down the settings that you have now in the BIOS if you are not too familar with it.

Also please look out for the option above 4G decoding.

Link to comment

Hey sorry, struggling with the whole account setup, and the whole 1/24hr post limit is... limiting.

 

I'm having troubles getting my GPU to transcode.  I think I set everything up correctly, but things just don't seem to be lining up.

 

First off, just the information I'm getting on my GPU seems off.  When I watch smi for some reason has my GPU-Util at `N/A`.  And then my GPU stats has N/A for a lot of sections.

 

I have what I think is Plex setup correctly.  I have the `--runtime=nvidia` in extra parameters and the keys setup.  But when I go to transcode a movie, the smi still has `No running processes found` even though Plex says it should be using it.

 

And just for safety I have this in my device list:

[10de:1004]	01:00.0 VGA compatible controller: NVIDIA Corporation GK110 [GeForce GTX 780] (rev a1)

Not really sure what to do next.

smi.png.09d3eb555ef0eefbe3441f7c4f6b20e9.pngstats.pngplex.pngtranscode.png

Edited by badatusernames
move pictures around
Link to comment
12 minutes ago, badatusernames said:

Hey sorry, struggling with the whole account setup, and the whole 1/24hr post limit is... limiting.

You have to do at least on post here and then the limit is gone. ;)

 

12 minutes ago, badatusernames said:

First off, just the information I'm getting on my GPU seems off.  When I watch smi for some reason has my GPU-Util at `N/A`.  And then my GPU stats has N/A for a lot of sections.

You are using a pretty old GPU, even on my card (GTX1050Ti) I can't see how much power it draws because it lists it as N/A, some features are simply NotAvailable for some cards.

 

12 minutes ago, badatusernames said:

But when I go to transcode a movie, the smi still has `No running processes found` even though Plex says it should be using it.

Your screenshot, which shows the transcoding, tells you that you are encoding with hardware acceleration, have you eventually also a Intel iGPU that is capable of encoding and you also handed it over to Plex?

 

Btw: you are decoding the stream in software but that's because your card isn't capable of decoding HEVC 10.

Link to comment

That would make replying to your inbox message difficult too!

 

Quote

You are using a pretty old GPU, even on my card (GTX1050Ti) I can't see how much power it draws because it lists it as N/A, some features are simply NotAvailable for some cards.

Yea, I just upgraded my desktop GPU after ~6 years of using that one. Makes sense that it's old.

 

Quote

Your screenshot, which shows the transcoding, tells you that you are encoding with hardware acceleration, have you eventually also a Intel iGPU that is capable of encoding and you also handed it over to Plex?

Well that might be my problem.  I just assumed you could just pop a GPU in and let it help out the whole machine.  I do not have an Intel iGPU.  Actually using an AMD Ryzen 3.

 

Quote

Btw: you are decoding the stream in software but that's because your card isn't capable of decoding HEVC 10.

Just for more information, is there somewhere I could see what it is capable of, or what cards are capable of doing it?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.