[Plugin] Nvidia-Driver


ich777

Recommended Posts

32 minutes ago, NuWanDa said:

Tried putting "--runtime=nvidia" in Extra Parameters, but this doesn't help apparently.

Are you sure that you've entered a Plex token so that the container knows that you are even able to transcode?

 

I have to say, Plex nowadays is not that reliable when it comes to transcoding and some users report issues.

 

34 minutes ago, NuWanDa said:

Transcoding keeps using CPU, not GPU:

image.png.a7c24e63ce2e4f30baa7532d9a0b9403.png

However it does not seem that your stream is not encoded at all and you are just transcoding Audio (or burn in Subtitles) which is hitting your CPU but that is just normal.

 

Are you sure you did force a transcode? Set the quality to something lower, but please don't use the Plex Web App since it is known to cause issues and not work correctly.

Link to comment
11 minutes ago, solidbrolly said:

I'm currently running into this same issue. I've had the official Plex docker installed for a while now with it transcoding through my P5000. It just worked last week, I saw the transcodes say (HW). Now tonight, it's not using my GPU to transcode. Have no idea why.

A bit more information would be nice, Diagnostics? Are you sure the file needs to be transcoded? How do you see that the stream is not transcoded?

What kind of hardware are you using? Are you sure that the hardware supports transcoding of the file that you try to play?

 

11 minutes ago, solidbrolly said:

Last time this happened it was a Plex firmware that solved it (it took a couple weeks to be pushed out).

This is the first time I hear of that issue (that happened a few weeks ago).

If you are talking about HDR transcode this is a completely different story...

Link to comment
23 minutes ago, ich777 said:

Are you sure that you've entered a Plex token so that the container knows that you are even able to transcode?

I didn't up until now, thanks for that. So, entered my plex_claim:

image.png.84548aff31bf7664d641c525f335fb1a.png

However, this doesn't solve it.

 

23 minutes ago, ich777 said:

Are you sure you did force a transcode? Set the quality to something lower, but please don't use the Plex Web App since it is known to cause issues and not work correctly.

I think I do. Requsting Plex to transcode by requesting a different video quality (e.g. 10Mbps 1080p) in the Plex player (in this case on my iPhone).

image.png.5f51ebeab772325dc2cbd653340116cd.png

 

So still CPU transcoding.

Edited by NuWanDa
Added final situation: still CPU transcoding
Link to comment
10 minutes ago, NuWanDa said:

I believe I'm telling Plex to transcode by requesting a different video quality (e.g. 10Mbps 1080p) in the Plex player (in this case on my iPhone).

Are you sure that you've enabled hardware transcoding in your Plex settings too?

 

Now I see what's missing you have an error in your template it should be NVIDIA_VISIBLE_DEVICES not NVIDIA_VISIBLE_DEVICE

 

BTW sadly enough Plex even doesn't list Linux anymore as supported for transcoding because I think they keep struggling with transcoding on Linux.

 

 

If that also doesn't work can you maybe try for testing purposes to install Jellyfin (the official one)?

 

You can install that by choosing the binhex container and switching the repository to: jellyfin/jellyfin

grafik.png.e7b03bd20aaaf558a6b60f88ba5a4331.png

 

You also have to add the runtime and the variables for Nvidia to the template.

Link to comment
26 minutes ago, ich777 said:

Now I see what's missing you have an error in your template it should be NVIDIA_VISIBLE_DEVICES not NVIDIA_VISIBLE_DEVICE

 

OMG, thank you! This solved it for me.

 

In Plex Server settings, now the GPU card is visible in the transcoder options:

image.png.72f3ac75832cc04c46ea30a1d08c2245.png

 

Now HW transcoding two streams simultaneously, on iPhone and on LG TV.

image.png.3e63c45ccea9ef4fa114503314d67586.png 

 

The stream on the TV is a 4K movie, transcoding to 720P for testing purposes, works as a charm.

 

CPU load is only 12% with 2 streams HW transcoding, instead of 32% before with 1 stream in CPU transcoding. The GPU is humming at 11% load.

image.png.34457a51a24bf7f1778ac76c6423cf61.png

 

Both streams also visible in nvidia-smi.

image.png.dd6d186ed66ed155fa125021828e3e4c.png

 

@ich777 Thanks for your keen eye in discovering this typo error on my part.

 

Edited by NuWanDa
  • Like 1
Link to comment
15 hours ago, NuWanDa said:

Hoping someone can help, have searched for 2 days now.

New Unraid Server, Unraid 6.12.4, HP DL380 G9 with nVidia Quadro P2000 GPU. Can't get Plex to use HW transcoding.

 

In your screenshots, I see you have subtitles selected (English (SRT)).  Plex has, in the past and maybe still, used CPU transcoding when there are subtitles.  Retry your test without subtitle selected.

 

Also, be sure that you do not have leading or trailing space char on your GPU ID in the Plex template.  I've been burned by this before.

  • Like 1
Link to comment
11 hours ago, ich777 said:

A bit more information would be nice, Diagnostics? Are you sure the file needs to be transcoded? How do you see that the stream is not transcoded?

What kind of hardware are you using? Are you sure that the hardware supports transcoding of the file that you try to play?

 

Sorry @ich777, it was late and I was annoyed. I didn't want to bother anyone with it. Diagnostics attached.

 

I'm running Epyc 7551P with a Qaudro P5000 and I'm using the official Plex container. I have had this GPU for around 2 years now and I transcode everything to H.265. I've had no problems with transcoding that codec.

 

11 hours ago, ich777 said:

This is the first time I hear of that issue (that happened a few weeks ago).

If you are talking about HDR transcode this is a completely different story...

 

The last time I had a HW transcode issues was in February of this year and Plex fixed it with firmware 1.31.1.6733. I used only 1080 movies to replicate my HW issue consistently on the web browser and my Google Pixel 7. With HW on it would only use CPU. 

 

11 hours ago, ich777 said:

Are you sure you did force a transcode? Set the quality to something lower, but please don't use the Plex Web App since it is known to cause issues and not work correctly.

 

You were right for me. It has worked in the past but suddenly stopped working. At least with HW transcoding enabled. With it off, the CPU transcodes it just fine. But ain't nobody got time for that.

 

This morning I downloaded both binhex and linxserver's containers and both of those had HW working, but not on my web browser. Only on my phone and NVIDIA Shield (Android). I ended up uninstalling and reinstalling the official container and that solved the HW transcode problem (minus with the web browser).

 

11 hours ago, ich777 said:

BTW sadly enough Plex even doesn't list Linux anymore as supported for transcoding because I think they keep struggling with transcoding on Linux.

 

I kind of noticed that last night. I was looking through the version release history and noticed the past 5 updates have all had fixes dealing with HW transcoding on Linux.

 

TL;DR - Having issues with HW transcoding and you have all the extra functions setup, uninstall and reinstall the docker container.

johnny5-diagnostics-20231125-1149.zip

Link to comment
57 minutes ago, solidbrolly said:

I kind of noticed that last night. I was looking through the version release history and noticed the past 5 updates have all had fixes dealing with HW transcoding on Linux.

Officially they don't support Linux anymore for transcodes because they are really struggling with that I think.

 

58 minutes ago, solidbrolly said:

TL;DR - Having issues with HW transcoding and you have all the extra functions setup, uninstall and reinstall the docker container.

But you where saying that it is working on your Shield correct? The web browser version won't work if you switch the quality, if you set a fixed quality in the settings from Plex and you start the web player it is working but if you switch the quality again it won't work again <- this is a known issue for a few years now I think.

Link to comment
9 minutes ago, ich777 said:

But you where saying that it is working on your Shield correct? The web browser version won't work if you switch the quality, if you set a fixed quality in the settings from Plex and you start the web player it is working but if you switch the quality again it won't work again <- this is a known issue for a few years now I think.

 

Hmmm, yeah. I was able to replicate that problem. I've never had that issue in the past, though. I've always been able to change quality while watching in the web browser. Weird. Oh well. It's working how I need it to right now. 

Link to comment
2 minutes ago, solidbrolly said:

Hmmm, yeah. I was able to replicate that problem. I've never had that issue in the past, though.

Are you sure that you switched to a quality where it was necessary to transcode?

 

2 minutes ago, solidbrolly said:

I've always been able to change quality while watching in the web browser. Weird.

As said this is an issue that I know now for a few years.

 

Glad that it works how you need it.

Link to comment
1 minute ago, ich777 said:

Are you sure that you switched to a quality where it was necessary to transcode? 

 

Yup. It was a 1080 movie with the original file at 30mbps. I have my Plex set to limit the streams off site to 10mbps. Off wifi (on my phone) the web browser played the 10 but then when I switched to 2mbps it didn't play. At least with HW transposing enabled. Not a problem, glad I know and understand it. 

  • Like 1
Link to comment
6 hours ago, ConnerVT said:

 

In your screenshots, I see you have subtitles selected (English (SRT)).  Plex has, in the past and maybe still, used CPU transcoding when there are subtitles.  Retry your test without subtitle selected.

 

Also, be sure that you do not have leading or trailing space char on your GPU ID in the Plex template.  I've been burned by this before.

 

Thanks for your reply.

My experience with SRT subs is that they don't cause CPU transcoding, while burnt-in subs do.

 

  • Thanks 1
Link to comment
  • 2 weeks later...

Hi community, it is the first time for me to post things in Unraid community. I have some problem deploying plex-pass container with extra parameter nvidia-smi. I follow the instruction, install the nvidia driver plugin and turn off and on the docker service, but things still, please see the screen shots below:

image.png.60cc5b88cd19ff30d020b6183df23651.png

image.png.a750df8adb6288ef241e6885ffa733d1.png

image.thumb.png.efdc8f1e562376345dc7ec5f9c35f4af.png

diagnoses are also attached; many appreciate if someone can take a glance to my problem!!

tower-diagnostics-20231204-1429.zip

Link to comment
17 minutes ago, timetheonce said:

I have some problem deploying plex-pass container with extra parameter nvidia-smi.

Did you reboot your server or restart the Docker service after installing the plugin as the messages which appear tell you to do?

 

The driver is working fine from what I can see but the issue seems most likely to be that you didn‘t restart you Docker service or your server.

 

Please also look at the first and second post of this thread to get more information/help.

Link to comment
2 minutes ago, ich777 said:

Did you reboot your server or restart the Docker service after installing the plugin as the messages which appear tell you to do?

 

The driver is working fine from what I can see but the issue seems most likely to be that you didn‘t restart you Docker service or your server.

 

Please also look at the first and second post of this thread to get more information/help.

Thanks for your rapid response, yes I rebooted my server several times, and restarted the docker service several times as well. 

 

I agree that the driver seems to be working fine, but I do reboot server/docker several times, and even more, I deleted the docker image, uninstall the nvidia driver plugin and do it over again step by step following the instruction. Problem still, unsolved.

 

May it be a problem of docker service itself? Any idea I can get a clean/total reinstall of docker service?

Link to comment
1 hour ago, timetheonce said:

May it be a problem of docker service itself? Any idea I can get a clean/total reinstall of docker service?

There is your issue:

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["<REMOVED>"]
}
EOF

The Nvidia Driver adds a custom daemon.json which you basically overwrite.

 

You have to ensure that this is also in there:

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

 

 

BTW, you have a lot of custom things in your go file, are you sure that everything is necessary:

/etc/rc.d/rc.nginx reload

# Enlarge the LOG partition (because Dynamix System Stats needs at least 186Mb, default LOG is 128Mb)
mount -o remount,size=384m /var/log

 

May I ask why do you reload nginx right after it is started?

 

I'm also glad to see that you bought unRAID but please remove that:

/boot/config
-rw-------  1 root root    256 May 25  2020 BTRS.key

 

You also have some Android files on your boot device.

 

1 hour ago, timetheonce said:

May it be a problem of docker service itself? Any idea I can get a clean/total reinstall of docker service?

The Docker service is reinstalled every time you boot the machine because unRAID runs from RAM no need to do anything about that. Such things happen because of custom things in the go file/User Script.

Link to comment
20 minutes ago, ich777 said:

There is your issue:

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["<REMOVED>"]
}
EOF

The Nvidia Driver adds a custom daemon.json which you basically overwrite.

 

You have to ensure that this is also in there:

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

 

 

Well, in short you are totally correct. Problem solved...

 

As for the additional commands in go file, enlarging the log file limit will prevent me from filling out spaces. Reloading nginx is because I am accessing my server remotely using zerotier... So I expect to start Nginx after my zerotier container start, but explicitly adding reload command in the go file won't solve the problem, I am seeking other solution.

 

 

It is our luck to have you in the community actively, many thanks and respect!

 

 

 

Link to comment
56 minutes ago, timetheonce said:

As for the additional commands in go file, enlarging the log file limit will prevent me from filling out spaces.

Is that because of the plugin? If yes this should maybe be addressed directly in the plugin or better speaking with the developer from the plugin itself.

 

57 minutes ago, timetheonce said:

Reloading nginx is because I am accessing my server remotely using zerotier...

Ahhh, got it, I never used ZeroTier but if that is the way to do it then it is probably fine. :)

Link to comment

I'm trying to play media in Jellyfin and am getting a playback error.  I'm pretty new to Unraid and am not sure what the issue is, I'm looking at the Nvidia driver plug-in and see this: 

 

image.png.c8a4bc00a63eaae21c292981d47f9eaa.png

 

I took a look at the troubleshooting part of this thread and am not sure what to do, do I need to check something in my BIOS?  Everything worked fine before I added a new hdd/moved files around.  Is there something I need to do to enable my iGPU?  I think it's enabled but I'm not 100% sure, any help is appreciated.

Link to comment
8 minutes ago, kokonator said:

I'm trying to play media in Jellyfin and am getting a playback error.

when you are at home and play something, transcoding shouldnt be invoked anyway.

 

about your errors, may rather post your diagnostics so someone could take a look at your NV error.

 

also your description about Nvidia, iGPU, ... is a little "confusing" ... either you want to use your iGPU (Intel, AMD) or your NV card ...

Link to comment
4 minutes ago, alturismo said:

when you are at home and play something, transcoding shouldnt be invoked anyway.

 

about your errors, may rather post your diagnostics so someone could take a look at your NV error.

 

also your description about Nvidia, iGPU, ... is a little "confusing" ... either you want to use your iGPU (Intel, AMD) or your NV card ...

That's what I thought too, so maybe my issue is something unrelated to the plug-in?

 

I want to use my iGPU, is this plug-in only necessary for discrete GPUs?  If so, I probably will need to go to a different thread/forum for help.  Sorry, I'm very new to all of this.

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.