[Plugin] Linuxserver.io - Unraid Nvidia


Recommended Posts

On 2/19/2019 at 1:48 AM, endiz said:

Turn that frown upside down! If you want to force the decode through NVDEC, do the following:

 

1. Launch into the plex container shell.

2. Rename "/usr/lib/plexmediaserver/Plex Transcoder" >  "/usr/lib/plexmediaserver/Plex Transcoder2"

3. Create a new file called "/usr/lib/plexmediaserver/Plex Transcoder" and put this in the contents:

 


#!/bin/sh
/usr/lib/plexmediaserver/Plex\ Transcoder2 -hwaccel nvdec "$@"

4. chmod +x "/usr/lib/plexmediaserver/Plex Transcoder"

 

Done! Your transcodes should be encoded and decoded by nvidia. Plex doesn't reflect it because its a workaround, but check out your CPU utilization, should be negligible.

 

Unfortunately, you will have to run this everytime the plex docker gets updated until plex adds support for NVDEC officially.

I cant get this to work.

 

These are my steps

docker exec -it plex bash

cd /usr/lib/Pl*

mv 'Plex Transcoder'  'Plex Transcoder2' 

nano 'Plex Transcoder' 

**

(in file

#!/bin/sh
/usr/lib/plexmediaserver/Plex\ Transcoder2 -hwaccel nvdec "$@")

**

chmod +x 'Plex Transcoder' 

chmod +x 'Plex Transcoder2' 

 

I got it to work but now its only nvdec no encoding? Do I need need to have both arguements?

 

 

Are you happy to post your script/commands to get it to work?

 

 

Edited by lasewun
update
Link to comment

Great work. Too bad i can get it too work i docker.

I think I need help. I have a try PCIe ACS override but no luck.

 

Error log in binhex-emby:

 

Error VaapiCodecInfoProvider: ProcessRun 'ffdetect_vaencdec' Process error:

 

Error VaapiCodecInfoProvider: ProcessRun 'ffdetect_vaencdec': Error starting Ffdetect

 

Error VaapiCodecInfoProvider: Error running ffdetect for vaencdec - args: -hide_banner -show_program_version -loglevel 0 -show_error -show_log 48 -print_format json vaencdec

 

 

 

 

sdg-diagnostics-20190221-1451.zip

emby.jpg

info.jpg

transkodening.jpg

watch.jpg

Link to comment
26 minutes ago, Coolsaber57 said:

Is there a list of GPUs to transcode power that I might be able to peruse? 

 

e.g. A GTX 1060 can transcode 2x 1080p h264 streams or 1 4K H265 stream

 

I'm thinking of picking up a used GTX card and want to make sure I get one that won't be a waste.

Haven't found one myself, but it might be worth also considering power consumption on a 24/7 server too.  For example, the 1050ti doesn't need an extra power cable from the PSU (nor does the P2000) and Its draw is rated at 75W.  AFAIK, the 1060 and above draw more.

 

Brief tests yesterday between midnight and 2am (when I had time to install and set up) had a used 1050ti streaming two 4K movies to my Plex browser running over wifi, and the system didn't seem to be breaking a sweat (like it has done previously).  That's with the Plex patch to decode.  Obviously not extensive, but it's an indication that quite a lot is possible.

 

I'm not sure how relevant GPU benchmarks are to transcoding, but I understand that the P2000 (with its unlimited transcoding) falls between the 1050ti and 1060.

Link to comment
2 hours ago, Letete said:

Great work. Too bad i can get it too work i docker.

I think I need help. I have a try PCIe ACS override but no luck.

 

Error log in binhex-emby:

 

Error VaapiCodecInfoProvider: ProcessRun 'ffdetect_vaencdec' Process error:

 

Error VaapiCodecInfoProvider: ProcessRun 'ffdetect_vaencdec': Error starting Ffdetect

 

Error VaapiCodecInfoProvider: Error running ffdetect for vaencdec - args: -hide_banner -show_program_version -loglevel 0 -show_error -show_log 48 -print_format json vaencdec

 

 

 

 

sdg-diagnostics-20190221-1451.zip

emby.jpg

info.jpg

transkodening.jpg

watch.jpg

Your screenshot from Emby clearly says you need an active Emby premier subscription for hardware acceleration to work.

Link to comment
2 hours ago, Letete said:

saarg

 

I have active Emby premier subscription. I have tried to add the gfx in a VM and there were no problems

premiere.jpg

 

Your screenshot clearly said that you did not have a Emby premier subscription. Yes I can read Danish. 

Did you restart emby after adding the subscription?

 

I don't see --runtime=nvidia added in the extra parameters field.

Edited by saarg
Link to comment

So... I'm really excited about this.  I have used the same variables to pass through my Quadro 2200 to the Folding@Home docker for unraid (found here: https://registry.hub.docker.com/u/captinsano/foldingathome).  When I powered up the container and modified my configuration file, it properly detected and read the ID string of the GPU, and allowed me to add it as a folding slot. However, when I attempt to fold I get an error 19:58:02:WARNING:WU00:FS01:FahCore returned: UNKNOWN_ENUM (127 = 0x7f).

 

Any thoughts on if this could be due to the drivers being open source / third party?  I know that only signed nvidia drivers are authorized for folding.

 

*********************** Log Started 2019-02-17T14:56:27Z ***********************
14:56:27:************************* Folding@home Client *************************
14:56:27:    Website: http://folding.stanford.edu/
14:56:27:  Copyright: (c) 2009-2014 Stanford University
14:56:27:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
14:56:27:       Args: --config /config/config.xml
14:56:27:     Config: /config/config.xml
14:56:27:******************************** Build ********************************
14:56:27:    Version: 7.4.4
14:56:27:       Date: Mar 4 2014
14:56:27:       Time: 12:02:38
14:56:27:    SVN Rev: 4130
14:56:27:     Branch: fah/trunk/client
14:56:27:   Compiler: GNU 4.4.7
14:56:27:    Options: -std=gnu++98 -O3 -funroll-loops -mfpmath=sse -ffast-math
14:56:27:             -fno-unsafe-math-optimizations -msse2
14:56:27:   Platform: linux2 3.2.0-1-amd64
14:56:27:       Bits: 64
14:56:27:       Mode: Release
14:56:27:******************************* System ********************************
14:56:27:        CPU: Intel(R) Xeon(R) CPU E5-2448L v2 @ 1.80GHz
14:56:27:     CPU ID: GenuineIntel Family 6 Model 62 Stepping 4
14:56:27:       CPUs: 20
14:56:27:     Memory: 31.43GiB
14:56:27:Free Memory: 5.36GiB
14:56:27:    Threads: POSIX_THREADS
14:56:27: OS Version: 4.18
14:56:27:Has Battery: false
14:56:27: On Battery: false
14:56:27: UTC Offset: -6
14:56:27:        PID: 22
14:56:27:        CWD: /config
14:56:27:         OS: Linux 4.18.20-unRAID x86_64
14:56:27:    OS Arch: AMD64
14:56:27:       GPUs: 1
14:56:27:      GPU 0: NVIDIA:4 GM107 [Quadro K2200]
14:56:27:       CUDA: 5.0
14:56:27:CUDA Driver: 10000
14:56:27:***********************************************************************
14:56:27:<config>
14:56:27:  <!-- Client Control -->
14:56:27:  <fold-anon v='true'/>
14:56:27:
14:56:27:  <!-- HTTP Server -->
14:56:27:  <allow v='192.168.1.1/24'/>
14:56:27:
14:56:27:  <!-- Network -->
14:56:27:  <proxy v=':8080'/>
14:56:27:
14:56:27:  <!-- Remote Command Server -->
14:56:27:  <password v='********'/>
14:56:27:
14:56:27:  <!-- Slot Control -->
14:56:27:  <power v='FULL'/>
14:56:27:
14:56:27:  <!-- User Information -->
14:56:27:  <passkey v='********************************'/>
14:56:27:  <team v='111065'/>
14:56:27:  <user v='Tiger770'/>
14:56:27:
14:56:27:  <!-- Web Server -->
14:56:27:  <web-allow v='192.168.1.1/24'/>
14:56:27:
14:56:27:  <!-- Folding Slots -->
14:56:27:  <slot id='0' type='CPU'/>
14:56:27:  <slot id='1' type='GPU'>
14:56:27:    <paused v='true'/>
14:56:27:  </slot>
14:56:27:</config>
14:56:27:Trying to access database...
14:56:27:Successfully acquired database lock
14:56:27:Enabled folding slot 00: READY cpu:19
14:56:27:Enabled folding slot 01: PAUSED gpu:0:GM107 [Quadro K2200] (by user)
19:58:01:WU00:FS01:Starting
19:58:01:WU00:FS01:Running FahCore: /opt/fah/usr/bin/FAHCoreWrapper /config/cores/cores.foldingathome.org/Linux/AMD64/NVIDIA/Fermi/Core_21.fah/FahCore_21 -dir 00 -suffix 01 -version 704 -lifeline 22 -checkpoint 15 -gpu 0 -gpu-vendor nvidia
19:58:01:WU00:FS01:Started FahCore on PID 873
19:58:01:WU00:FS01:Core PID:877
19:58:01:WU00:FS01:FahCore 0x21 started
19:58:02:WARNING:WU00:FS01:FahCore returned: UNKNOWN_ENUM (127 = 0x7f)
19:58:02:WU00:FS01:Starting
19:58:02:WU00:FS01:Running FahCore: /opt/fah/usr/bin/FAHCoreWrapper /config/cores/cores.foldingathome.org/Linux/AMD64/NVIDIA/Fermi/Core_21.fah/FahCore_21 -dir 00 -suffix 01 -version 704 -lifeline 22 -checkpoint 15 -gpu 0 -gpu-vendor nvidia
19:58:02:WU00:FS01:Started FahCore on PID 878
19:58:02:WU00:FS01:Core PID:882
19:58:02:WU00:FS01:FahCore 0x21 started
19:58:02:WARNING:WU00:FS01:FahCore returned: UNKNOWN_ENUM (127 = 0x7f)
19:58:11:FS01:Paused

 

Link to comment
1 hour ago, Letete said:

saarg 

 

--runtime=nvidia is add to extraparameters field. forgot to show Advanced View in the screenshot 

The vaapi errors might have something to do with it. Might be something in binhexs emby container. You don't pass through an igpu? 

 

Can you test installing the original emby container and see if that works? 

 

Link to comment
11 hours ago, captainnapalm said:

Interesting. I have seen it working since I set it up on Monday, and had actually seen it working earlier that night. I'll have to investigate with another stream to see if there's an issue.

@saarg seems a restart of the docker was in order but I find it strange that it just all of a sudden stopped working. Should I expect to have to restart the docker every few days to keep it working?

Link to comment
2 hours ago, captainnapalm said:

@saarg seems a restart of the docker was in order but I find it strange that it just all of a sudden stopped working. Should I expect to have to restart the docker every few days to keep it working?

You should not need to restart every few days. 

Link to comment
8 hours ago, saarg said:

You should not need to restart every few days. 

Had a friend help me stress-test after I restarted the docker and confirmed HW was working. He opened up 20+ tabs and started streaming, but only 6 of these showed as HW transcodes. Running a P2000 so I would assume there's no limit to number of transcodes, and I confirmed the maximum simultaneous transcode setting was set to unlimited. After that, Plex would not use the GPU for transcodes until I restarted the docker again. 

 

I do have Emby setup, and paid for a monthly premiere pass to be able to test, but haven't had a chance to stress test it yet. Not at home currently, but I can provide anything needed to help troubleshoot.

Link to comment
7 minutes ago, captainnapalm said:

Had a friend help me stress-test after I restarted the docker and confirmed HW was working. He opened up 20+ tabs and started streaming, but only 6 of these showed as HW transcodes. Running a P2000 so I would assume there's no limit to number of transcodes, and I confirmed the maximum simultaneous transcode setting was set to unlimited. After that, Plex would not use the GPU for transcodes until I restarted the docker again. 

 

I do have Emby setup, and paid for a monthly premiere pass to be able to test, but haven't had a chance to stress test it yet. Not at home currently, but I can provide anything needed to help troubleshoot.

 

We don't know the limits of the cards, so this is something you have to figure out yourself. The cards doesn't have unlimited power. 

It also depends on what you transcode. 

  • Upvote 1
Link to comment
Just now, saarg said:

 

We don't know the limits of the cards, so this is something you have to figure out yourself. The cards doesn't have unlimited power. 

It also depends on what you transcode. 

OK, fair enough, based on videos of Plex in Windows running the P2000, I've seen ~20 transcodes but then be bottlenecked by the CPU (which hopefully isn't an issue in my case running a 2700X). I'm just not sure why it stops trying to use the GPU until a docker restart. Are there any logs I can post that would be helpful?

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