[Plugin] Linuxserver.io - Unraid Nvidia


Recommended Posts

 
 
 
 
 
 
 
 
7
1 hour ago, Xaero said:

RIP.

I see you have PCIe ACS overrides enabled, a Windows 10 VM and then unraid is also reporting that there is no nvidia device available for the runtime. To my knowledge, if you are passing through your GPU to a VM and then also intending to use it with the docker, you are going to have a bad time.
When the GPU is handed over to the VM it's like it was physically unplugged from unraid, and then physically plugged into the VM. When the VM shuts down, the GPU gets plugged back into unraid, but the nvidia docker runtime doesn't know this until it's been restarted. Hence it working when you restart the docker.

Also, you usually shouldn't need to enable PCIe ACS overrides for passthrough unless some weird shenanigans are going on. 

EDIT:
I'm not exactly an expert on unraid/qemu/docker - just a general Linux junkie, I could be very wrong, but from glancing over your diagnostic logs that's what I'd assume is happening.

Thanks for your feedback, much appreciated.

 

I am not passing through the GPU to the Windows VM, I just use VNC or RDP to connect to the VM itself.

 

I will try switching off PCIe ACS Override as well, see if there are any conflicts. I'll let you know if there was a positive change.

Link to comment

sorry if this has been asked i just been looking through all 27 pages, when unraid has a new build available do we just update it through the NVIDIA plugin now and not the tools page or do we have to select the stock unraid of our current build then the NVIDIA build we want?

Link to comment
Just now, fr05ty said:

sorry if this has been asked i just been looking through all 27 pages, when unraid has a new build available do we just update it through the NVIDIA plugin now and not the tools page or do we have to select the stock unraid of our current build then the NVIDIA build we want?

Once the new version is available in the plugin, go there and select it to download and install - exactly as you did initially.

 

Otherwise you will be reverting to a stock version of Unraid.

Link to comment
On 4/15/2019 at 6:50 PM, Xaero said:

RIP.

I see you have PCIe ACS overrides enabled, a Windows 10 VM and then unraid is also reporting that there is no nvidia device available for the runtime. To my knowledge, if you are passing through your GPU to a VM and then also intending to use it with the docker, you are going to have a bad time.
When the GPU is handed over to the VM it's like it was physically unplugged from unraid, and then physically plugged into the VM. When the VM shuts down, the GPU gets plugged back into unraid, but the nvidia docker runtime doesn't know this until it's been restarted. Hence it working when you restart the docker.

Also, you usually shouldn't need to enable PCIe ACS overrides for passthrough unless some weird shenanigans are going on. 

EDIT:
I'm not exactly an expert on unraid/qemu/docker - just a general Linux junkie, I could be very wrong, but from glancing over your diagnostic logs that's what I'd assume is happening.

After making changes to the ACS Override and two days after restarting the Emby Container it has stopped again. Anyone else have any advice please?

 

Diagnostic attached.

titan-diagnostics-20190417-0534.zip

nvidia-container-runtime-hook.log

Edited by yakuzah
Link to comment

If unraid 6.7 launches soon, can you wait until Nvidia launches there 1650 driver this week and it gets ported to slackbuilds?

 

My 1660 works but it says generic device :)

 

That way no one will ask for a respin when the 1650 cards start being used for this.

 

Thanks again!

Link to comment
If unraid 6.7 launches soon, can you wait until Nvidia launches there 1650 driver this week and it gets ported to slackbuilds?
 
My 1660 works but it says generic device
 
That way no one will ask for a respin when the 1650 cards start being used for this.
 
Thanks again!
That very much depends on what the upstream Slackbuild does.

But, no, I wouldn't hold up a whole stable release awaiting an unknown time frame upstream update for one person.

Seeing as it's all hypothetical at the moment, I suggest we cross that bridge when we come to it.

Sent from my Mi A1 using Tapatalk

  • Like 1
Link to comment
5 minutes ago, CHBMB said:

That very much depends on what the upstream Slackbuild does.

But, no, I wouldn't hold up a whole stable release awaiting an unknown time frame upstream update for one person.

Seeing as it's all hypothetical at the moment, I suggest we cross that bridge when we come to it.

Sent from my Mi A1 using Tapatalk
 

Fair enough.

 

1650 cards launch this week and usually the slackbuild people are faster when support for new cards are added to drivers :0

Link to comment
On 4/20/2019 at 4:03 PM, Dazog said:

Fair enough.

 

1650 cards launch this week and usually the slackbuild people are faster when support for new cards are added to drivers :0

Save your money (1050TI or 1060) or pay more (1660). The new 1650 doesn’t have a Turing NVENC chip. Nvidia cheaped out.

 

https://www.reddit.com/r/hardware/comments/bgokyg/the_gtx_1650_does_not_have_turings_nvenc_encoder/?utm_source=share&utm_medium=ios_app

Link to comment
1 hour ago, ramblinreck47 said:

Save your money (1050TI or 1060) or pay more (1660). The new 1650 doesn’t have a Turing NVENC chip. Nvidia cheaped out.

 

https://www.reddit.com/r/hardware/comments/bgokyg/the_gtx_1650_does_not_have_turings_nvenc_encoder/?utm_source=share&utm_medium=ios_app

Pretty pathetic on Nvidia's part.

 

I bought a 1660 for the 6 gigs of vram. 4 is small and now this volta cheap out is why AMD needs to bring NAVI to market ASAP.

Link to comment
Quote

 

Here's a script I've modified that can be used via the user scripts plugin on a schedule to enable the decoding support:

https://gist.github.com/Xaero252/9f81593e4a5e6825c045686d685e2428

 

1.) What user script schedule? When do I need to run that script? On array start? On Plex docker start (if yes, how)? ...

 

2.) And do I need to copy the complete script into a new user script then? Or is it a plugin?

 

Sorry, I've read that whole thread several times now, but I don't get it. NVENC is working perfect, but I would like to activate the NVDEC part as well.

 

Many thanks in advance.

 

Link to comment

Yes.

 

In the meantime I could resolve my first problem: I do have a plex-backup user-script that runs every night (including settings and SQLite dump). I had to include the NVDEC fix in that backup script.

 

Still searching for a way to apply the NVDEC fix after the plex docker is updated. It's no real problem because in the next night, after the plex-backup, it's been fixed. Would be cool to have a trigger for user-scripts like "docker named plex started" or "docker named plex updated" ...

 

Link to comment
31 minutes ago, hawihoney said:

 Would be cool to have a trigger for user-scripts like "docker named plex started" or "docker named plex updated" ...

 

So instead of automating docker updates through the GUI, use your script to do the whole task. The GUI is just sending CLI commands through docker anyway.

Open a console session on unraid and type docker. There is a whole world out there waiting for you to discover it. You know how we ask people to post your docker run list when you have a problem with a docker? That docker run IS a command line that can be scripted.

Link to comment

Did issue "docker". Looked on the docker GUI page - even with advanced view activated. Didn't find anything mentioning a run list. Can I get that without stopping a container? If yes, how?

 

And if I issue "docker start <dockername>", or Unraid does an update of a docker container, that does start that docker run list?

 

Whow, so I need to find out how to add a script to that ...

 

Edited by hawihoney
Link to comment
2 hours ago, jonathanm said:

You know how we ask people to post your docker run list when you have a problem with a docker? That docker run IS a command line that can be scripted.

2 hours ago, hawihoney said:

Did issue "docker". Looked on the docker GUI page - even with advanced view activated. Didn't find anything mentioning a run list.

Very first link in the Docker FAQ:

 

https://forums.unraid.net/topic/57181-real-docker-faq/#comment-564345

 

Link to comment

any way to add install additional or change to a different Nvidia driver version, like 340.93 ?

the most current do not support the older or rather most Quadro cards.... would make sense to pass one of my Quadro 4000 cards to plex to use for Transcoding

Link to comment
5 hours ago, cmdthor said:

any way to add install additional or change to a different Nvidia driver version, like 340.93 ?

the most current do not support the older or rather most Quadro cards.... would make sense to pass one of my Quadro 4000 cards to plex to use for Transcoding

Each driver and kernel version requires manual work on the part of the Linuxserver.io team, so while possible, it doesn't seem feasible.
If they do decide to support it, I would suggest they auto detect the last driver version for each card - which can be facilitated with code found in the MHWD tool for Manjaro, and Jockey for Ubuntu.

Edited by Xaero
Link to comment
any way to add install additional or change to a different Nvidia driver version, like 340.93 ?
the most current do not support the older or rather most Quadro cards.... would make sense to pass one of my Quadro 4000 cards to plex to use for Transcoding
Sorry, nope, we rely on upstream Slackbuilds to grab the drivers and pulling really old drivers to support old hardware is just going down a new rabbit hole of complexity that just isn't practical I'm afraid.

Sent from my Mi A1 using Tapatalk

Link to comment
On 4/17/2019 at 6:36 AM, yakuzah said:

After making changes to the ACS Override and two days after restarting the Emby Container it has stopped again. Anyone else have any advice please?

 

Diagnostic attached.

titan-diagnostics-20190417-0534.zip 127.82 kB · 2 downloads

nvidia-container-runtime-hook.log

Any possible help on this issue please? I still have this problem, which appears to be a daily issue now.

 

Thanks

G

Link to comment

HELP!! Im a total noob and have followed every tutorial perfectly.  however, when i use plex or emby with my hardware transcoding (which seems to be working) my CPU is still at 97%.  I have a p2000 and a Dell T3620. I bought all this stuff and some how its not working like it should (or maybe it is) Attached are a few pics of my set up and Im not sure what i am doing wrong.  At this point id be willing to pay for some 1 on 1 tech support.  I can venmo or paypal. If anyone wants to make some cash please hit me up

 

do i need a new processor, ram, motherboard? Or is it a simple fix on the docker side.  I do not know linux commands so i am trying to read these posts but get a bit lost.  

 

any help would greatly be appreciated.  

 

Screen Shot 2019-04-28 at 7.46.50 PM.png

Screen Shot 2019-04-28 at 7.48.20 PM.png

Screen Shot 2019-04-28 at 7.48.39 PM.png

Screen Shot 2019-04-28 at 7.48.53 PM.png

 

 

Screen Shot 2019-04-28 at 7.59.13 PM.png

Edited by Jamshm
Link to comment
3 hours ago, Jamshm said:

HELP!! Im a total noob and have followed every tutorial perfectly.  however, when i use plex or emby with my hardware transcoding (which seems to be working) my CPU is still at 97%.  I have a p2000 and a Dell T3620. I bought all this stuff and some how its not working like it should (or maybe it is) Attached are a few pics of my set up and Im not sure what i am doing wrong.  At this point id be willing to pay for some 1 on 1 tech support.  I can venmo or paypal. If anyone wants to make some cash please hit me up

 

do i need a new processor, ram, motherboard? Or is it a simple fix on the docker side.  I do not know linux commands so i am trying to read these posts but get a bit lost.  

 

any help would greatly be appreciated.  

 

Screen Shot 2019-04-28 at 7.46.50 PM.png

Screen Shot 2019-04-28 at 7.48.20 PM.png

Screen Shot 2019-04-28 at 7.48.39 PM.png

Screen Shot 2019-04-28 at 7.48.53 PM.png

 

 

Screen Shot 2019-04-28 at 7.59.13 PM.png

You have to remember that Plex only use the GPU for encoding the video. That means that the video decoding is done by your cpu. In addition, the audio will always be transcoded by your cpu.

There are multiple posts in this thread about how to get plex to decode also, but it's not support by plex.

You could try emby, but you have to pay to get hardware transcoding.

  • Like 1
Link to comment
On 4/27/2019 at 3:26 PM, cmdthor said:

any way to add install additional or change to a different Nvidia driver version, like 340.93 ?

the most current do not support the older or rather most Quadro cards.... would make sense to pass one of my Quadro 4000 cards to plex to use for Transcoding

If you have a Quadro 4000, a circa 2010 card, then it seems like it's a non-issue as that card doesn't support NVENC or NVDEC for hardware transcoding according to NVIDIA's NVENC and NVDEC support matrix.

 

If you have a Quadro P4000, K4000, M4000, or RTX 4000, this NVIDIA plugin should be fine, since all these cards are supported by the 418.43 drivers.

 

It sounds like you have a Quadro 4000 based on your description and needing older drivers. Is that right?

Link to comment

@saarg

 

Thanks for the reply.  I do appreciate it.  I will try Emby tonight.  From everything i read my set up should be able to handle more than one transcode.  I actually found that with quick sync, i get less CPU usage.  I really do like unraid, i just might not be savvy enough to figure this out. 

Link to comment
6 hours ago, Jamshm said:

@saarg

 

Thanks for the reply.  I do appreciate it.  I will try Emby tonight.  From everything i read my set up should be able to handle more than one transcode.  I actually found that with quick sync, i get less CPU usage.  I really do like unraid, i just might not be savvy enough to figure this out. 

That's pretty much to be expected.
When using QuickSync, Plex will both Decode and Encode using the Quicksync pipelines exposed by your CPU. When using nvidia's nvenc, by default, Plex will use your CPU for decoding, and nvenc for encoding.

You could create a wrapper that uses -hwaccel qsv to use QuickSync for decoding, and nvenc for encoding, which would result in similar CPU usage to using QuickSync.

At the end of the day, the nvenc/nvdec support is really only useful if you have a CPU that DOES NOT have QuickSync video.

Link to comment
  • trurl locked this topic
Guest
This topic is now closed to further replies.