lasewun Posted February 21, 2019 Share Posted February 21, 2019 (edited) 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 February 21, 2019 by lasewun update Link to comment
Letete Posted February 21, 2019 Share Posted February 21, 2019 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 Link to comment
Coolsaber57 Posted February 21, 2019 Share Posted February 21, 2019 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. Link to comment
Cessquill Posted February 21, 2019 Share Posted February 21, 2019 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
captainnapalm Posted February 21, 2019 Share Posted February 21, 2019 8 hours ago, saarg said: From your screenshot it doesn't look like Plex is using hardware transcoding. 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. Link to comment
saarg Posted February 21, 2019 Share Posted February 21, 2019 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 Your screenshot from Emby clearly says you need an active Emby premier subscription for hardware acceleration to work. Link to comment
Letete Posted February 21, 2019 Share Posted February 21, 2019 (edited) saarg I have active Emby premier subscription. I have tried to add the gfx in a VM and there were no problems Edited February 21, 2019 by Letete Link to comment
saarg Posted February 21, 2019 Share Posted February 21, 2019 (edited) 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 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 February 21, 2019 by saarg Link to comment
Tiger770 Posted February 21, 2019 Share Posted February 21, 2019 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
Letete Posted February 21, 2019 Share Posted February 21, 2019 saarg --runtime=nvidia is add to extraparameters field. forgot to show Advanced View in the screenshot Link to comment
saarg Posted February 21, 2019 Share Posted February 21, 2019 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
captainnapalm Posted February 22, 2019 Share Posted February 22, 2019 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
saarg Posted February 22, 2019 Share Posted February 22, 2019 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
captainnapalm Posted February 22, 2019 Share Posted February 22, 2019 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
saarg Posted February 22, 2019 Share Posted February 22, 2019 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. 1 Link to comment
Letete Posted February 22, 2019 Share Posted February 22, 2019 @saarg It was the Binhex-emby container there was the problem. Thx for the help. Link to comment
captainnapalm Posted February 22, 2019 Share Posted February 22, 2019 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
Pducharme Posted February 22, 2019 Share Posted February 22, 2019 @captainnapalm go check on Plex forums. Windows PMS doesnt use NVENC/NVDEC for HW transcode and doesn't use as much as vram/transcode. You cant really compare them. 1 Link to comment
captainnapalm Posted February 22, 2019 Share Posted February 22, 2019 31 minutes ago, Pducharme said: @captainnapalm go check on Plex forums. Windows PMS doesnt use NVENC/NVDEC for HW transcode and doesn't use as much as vram/transcode. You cant really compare them. Alright, good to know. Still very excited about this project. I'm currently using the plex-inc docker, could there be any differences if I were to switch to the linuxserver.io docker? Link to comment
Pducharme Posted February 22, 2019 Share Posted February 22, 2019 I think it will be the same. Im also using official Plex Inc Docker. 1 Link to comment
captainnapalm Posted February 22, 2019 Share Posted February 22, 2019 8 minutes ago, Pducharme said: I think it will be the same. Im also using official Plex Inc Docker. Ok, thanks. I haven't seen anyone else mention this issue, am I alone in this? Just seems to reach some limit (whether simultaneous or not) and then will just stop using the GPU until a docker restart. Link to comment
brainbudt Posted February 23, 2019 Share Posted February 23, 2019 does your cpu need to have VT-D in order to get this to work ? Link to comment
saarg Posted February 23, 2019 Share Posted February 23, 2019 43 minutes ago, brainbudt said: does your cpu need to have VT-D in order to get this to work ? I'm not sure about that. Let me test it and come back to you. Link to comment
Dazog Posted February 23, 2019 Share Posted February 23, 2019 (edited) Hopefully slackbuilds releases 418.43 soon to patch the CVE: https://nvidia.custhelp.com/app/answers/detail/a_id/4772 Edited February 23, 2019 by Dazog Link to comment
saarg Posted February 23, 2019 Share Posted February 23, 2019 5 hours ago, brainbudt said: does your cpu need to have VT-D in order to get this to work ? You don't need vt-d or vt-x support for this plugin to work. It still passes the GPU to the container. Link to comment
Recommended Posts