Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] Linuxserver.io - Unraid Nvidia

Featured Replies

Holiday with family first! ++++1
 
I wonder if limetech could help? That is a great addition to Unraid and benefits them for sure. [mention=62528]jonp[/mention] any comments on the issue that LinuxServer.io team is facing on the latest version of Unraid with runc?
It's not an issue with stock Unraid, the issue is there isn't a patch available for the runc version. Due to the recent docker update for security reasons, Nvidia haven't caught up yet.

Sent from my Mi A1 using Tapatalk

  • Replies 2.5k
  • Views 658.3k
  • Created
  • Last Reply

Oh I see.  So, in short, we need to wait for Nvidia to release an update, meaning there isn't really anything you can do until then (except what you already tried, using an older version).  Then, I think you should just watch the release of that new version of that patch and stop wondering with this for now :)  You should add a message to first post about that situation.

Point 7 pretty much covers the scenario...

Sent from my Mi A1 using Tapatalk

13 hours ago, Randall8686 said:


I am using two nvidia shields internally in the network 


Sent from my iPhone using Tapatalk

There's your issue, the shields are having issues right now with this exactly. Plex/Nvidia are aware of it and is trying to fix it.

 

Edit: @CHBMB: Go get off these forums and enjoy your time doing what YOU want with your family, nothing is more important than them.

Edited by MowMdown

There's your issue, the shields are having issues right now with this exactly. Plex/Nvidia are aware of it and is trying to fix it.
 
Edit: [mention=6219]CHBMB[/mention]: Go get off these forums and enjoy your time doing what YOU want with your family, nothing is more important than them.


Ah ok well hopefully I will get an update to the I’m guessing plex client on the shield. It’s been going on a while now. Very annoying given I purchased the shields simply for using plex on my TV’s as I was told they are one of the best bits of hardware to use plex on.... typical lol.

+1 on the holiday go enjoy time with family we don’t have enough time with the ones we love as it is and life is too short! Enjoy chap!


Sent from my iPhone using Tapatalk

Yeah, I just read about it a couple of days ago. It has something to do with how it's streaming the data and the packets aren't arriving in sequential order thus giving the server error message.

I can't get the Video card to show up in Emby, here is the log

Emby Log.txt

11 hours ago, MrxFantatsicx said:

I can't get the Video card to show up in Emby, here is the log

Emby Log.txt

if you're using binhex's copy of emby, use the official one.. solved it for me.

I have been trying out Jellyfin... I've set up transcoding and can see it working. However when seeking in any media the transcoding crashes. Anyone gotten it to work properly?

ffmpeg log:

ffmpeg version n4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20180831
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, matroska,webm, from 'file:/media/Movies/Last Action Hero (1993)/Last.Action.Hero.1993.1080p.HEVC.x265.6ch.AAC-mRR.mkv':
  Metadata:
    ENCODER         : Lavf58.10.100
  Duration: 02:10:55.01, start: 0.000000, bitrate: 3644 kb/s
    Chapter #0:0: start 0.000000, end 533.866000
    Chapter #0:1: start 533.866000, end 893.767000
    Chapter #0:2: start 893.767000, end 1350.015000
    Chapter #0:3: start 1350.015000, end 1832.121000
    Chapter #0:4: start 1832.121000, end 2524.647000
    Chapter #0:5: start 2524.647000, end 2894.975000
    Chapter #0:6: start 2894.975000, end 3178.633000
    Chapter #0:7: start 3178.633000, end 3397.602000
    Chapter #0:8: start 3397.602000, end 4024.895000
    Chapter #0:9: start 4024.895000, end 4416.537000
    Chapter #0:10: start 4416.537000, end 4820.941000
    Chapter #0:11: start 4820.941000, end 5054.591000
    Chapter #0:12: start 5054.591000, end 6047.666000
    Chapter #0:13: start 6047.666000, end 6435.095000
    Chapter #0:14: start 6435.095000, end 6963.831000
    Chapter #0:15: start 6963.831000, end 7854.911667
    Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x800 [SAR 1:1 DAR 12:5], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
    Metadata:
      ENCODER         : Lavc58.14.100 libx265
      DURATION        : 02:10:55.014000000
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1, fltp (default)
    Metadata:
      DURATION        : 02:10:54.912000000
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (hevc_cuvid) -> h264 (h264_nvenc))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[segment muxer @ 0x555d85cc7380] Value -264.000000 for parameter 'segment_time_delta' out of range [0 - 9.22337e+12]
[segment muxer @ 0x555d85cc7380] Error setting option segment_time_delta to value -264.
Could not write header for output file #0 (incorrect codec parameters ?): Numerical result out of range
Error initializing output stream 0:0 -- 
Conversion failed!

 

7 hours ago, pimogo said:

if you're using binhex's copy of emby, use the official one.. solved it for me.

Appreciate brother that solved the problem for me!

Adding some sort of mechanism for notifications via Pushover/email of new kernel releases would be nice.

 

Other than that, great plugin. Enjoy your well deserved vacay CHBMB.

We're still battling with this a bit.  Might be a while.

 

@Dazog Unfortunately that commit doesn't help us as it's prepackaged binaries for Ubuntu/RHEL rather than a source code patch we can use to apply on Slackware.

Sorry @rix point 6 in the original post, I'm afraid you'll need to wait a while.

1 hour ago, CHBMB said:

We're still battling with this a bit.  Might be a while.

 

@Dazog Unfortunately that commit doesn't help us as it's prepackaged binaries for Ubuntu/RHEL rather than a source code patch we can use to apply on Slackware.

Ok. just thought I would report what I found.

 

If there is anything we can do to help and what to look for please let us know.

On 2/24/2019 at 2:08 AM, Cessquill said:

Put this together earlier.  If it's correct, it's a User Script that applies the Plex hardware decoding patch...


#!/bin/bash

con="plex"

echo ""
echo "<font color='red'><b>Applying hardware decode patch...</b></font>"
echo "<hr>"

docker exec -i $con mv "/usr/lib/plexmediaserver/Plex Transcoder" "/usr/lib/plexmediaserver/Plex Transcoder2"
docker exec -i $con /bin/sh -c 'printf "#!/bin/sh\nexec /usr/lib/plexmediaserver/Plex\ Transcoder2 -hwaccel nvdec "\""\$@"\""" > "/usr/lib/plexmediaserver/Plex Transcoder";'
docker exec -i $con chmod +x "/usr/lib/plexmediaserver/Plex Transcoder"
docker exec -i $con chmod +x "/usr/lib/plexmediaserver/Plex Transcoder2"
docker restart $con

echo ""
echo "<font color='red'><b>Done!</b></font>"

Disclaimer: I know very little about bash, docker commands or what the above patch actually does.  It's just pieced together from working out how I think it's done manually and converting that into a script.

 

If it can be improved (or if it's dangerously wrong), please let me know.  If it's fine, I'll put it in the User Scripts area.

 

Notes:

  • Should be run when Plex is installed/updated
  • From the command line, run "docker ps" to see what your plex container is called.  Set that as the "con" variable in your script (mine is "plex")
  • This script is only required until Plex officially supports hardware decoding
  • It preforms the same as recommended earlier in this thread, namely...
    • Renames the file "Plex Transcoder" to "Plex Transcoder2"
    • Creates a new "Plex Transcoder" file with the suggested contents
    • Changes permissions on both "Plex Transcoder" and "Plex Transcoder2" files (not sure it's required on Transcoder2 - seemed to work for me without)
    • Restarts the Plex container (not sure if required, but doing it anyhow)
  • Probably best nothing is playing whilst the script is run
  • You'll need to have Plex running for the script to work.  Would require different code if stopped (would probably be safer to stop the container first, make the changes then start again, but here we are)
  • Run "nvidia-smi dmon -s u" from the terminal (not within Plex container) to check whether the decoding is working.  Set a video to play in a transcoded state, and the 3rd and 4th columns from the end should be non-zero

Good luck!

Thank you for this script and a massive thank you to everybody involved with this project!👏

Worked flawlessly on 6.7.0-rc4 with an NVIDIA Quadro P600.

In case a non-programmer like me will run into the same question I have, here is the exact procedure which worked for me:

  • Copy the script into an editor
  • Modify the "con" value (e.g. "binhex-plexpass")
  • Save as an .sh file
  • Copy to desired folder on Unraid server (if not working on server already)
  • Open terminal from Unraid webgui and enter "bash /path/to/script.sh
2 minutes ago, phasetwo said:

Thank you for this script and a massive thank you to everybody involved with this project!👏

Worked flawlessly on 6.7.0-rc4 with an NVIDIA Quadro P600.

In case a non-programmer like me will run into the same question I have, here is the exact procedure which worked for me:

  • Copy the script into an editor
  • Modify the "con" value (e.g. "binhex-plexpass")
  • Save as an .sh file
  • Copy to desired folder on Unraid server (if not working on server already)
  • Open terminal from Unraid webgui and enter "bash /path/to/script.sh

One can also install the CA User Scripts plugin and do this from the web UI, and even set a scheduled run to keep it patched in the event of Plex container updates.

13 minutes ago, phasetwo said:

Thank you for this script and a massive thank you to everybody involved with this project!👏

Worked flawlessly on 6.7.0-rc4 with an NVIDIA Quadro P600.

In case a non-programmer like me will run into the same question I have, here is the exact procedure which worked for me:

  • Copy the script into an editor
  • Modify the "con" value (e.g. "binhex-plexpass")
  • Save as an .sh file
  • Copy to desired folder on Unraid server (if not working on server already)
  • Open terminal from Unraid webgui and enter "bash /path/to/script.sh

No problems.  Two points...

  1. Another user updated on this patch a bit later in this thread.  It auto-sets the con variable for you, and only runs if it hasn't done already.  I'll update mine shortly with that
  2. Forgot to mention that it's best to run it using the User Scripts plugin - you can copy and paste it straight into the plugin and run it there.  It's then saved for running in the future.

 

Edit: @JasonM beat me to it.

Edited by Cessquill
realised somebody had already replied

34 minutes ago, JasonM said:

One can also install the CA User Scripts plugin and do this from the web UI, and even set a scheduled run to keep it patched in the event of Plex container updates.

 

26 minutes ago, Cessquill said:

No problems.  Two points...

  1. Another user updated on this patch a bit later in this thread.  It auto-sets the con variable for you, and only runs if it hasn't done already.  I'll update mine shortly with that
  2. Forgot to mention that it's best to run it using the User Scripts plugin - you can copy and paste it straight into the plugin and run it there.  It's then saved for running in the future.

 

Edit: @JasonM beat me to it.

Thank you both for these inputs. I will install CA User Scripts. Can the script be run regularly without any undesired effects, or should it only be run after an update of the Plex container?

8 minutes ago, phasetwo said:

 

Thank you both for these inputs. I will install CA User Scripts. Can the script be run regularly without any undesired effects, or should it only be run after an update of the Plex container?

As long as you use the current script version as Cessquill indicated, it will check to see if the patch is applied each time it's run. I have mine set to run nightly, after my backup and Docker containers update.

11 minutes ago, phasetwo said:

 

Thank you both for these inputs. I will install CA User Scripts. Can the script be run regularly without any undesired effects, or should it only be run after an update of the Plex container?

Run this version in User Scripts...

 

 

Thank you. 

 

Everything works great on either the linuxserver or limetech plex except the script for hardward decode, that only worked on linuxserver.

 

This in combo with my new upgraded internet connection makes me very happy.

 

Using on an MSI GAMING GeForce GTX 1060 6GB GDRR5 192-bit

 

Reposting the correct code for the script:

#!/bin/bash

#This should always return the name of the docker container running plex - assuming a single plex docker on the system.
con="`docker ps --format "{{.Names}}" | grep -i plex`"

echo ""
echo "<b>Applying hardware decode patch...</b>"
echo "<hr>"

#Check to see if Plex Transcoder2 Exists first.
exists=`docker exec -i $con stat "/usr/lib/plexmediaserver/Plex Transcoder2" >/dev/null 2>&1; echo $?`

if [ $exists -eq 1 ]; then # If it doesn't, we run the clause below
	docker exec -i $con mv "/usr/lib/plexmediaserver/Plex Transcoder" "/usr/lib/plexmediaserver/Plex Transcoder2"
	docker exec -i $con /bin/sh -c 'printf "#!/bin/sh\nexec /usr/lib/plexmediaserver/Plex\ Transcoder2 -hwaccel nvdec "\""\$@"\""" > "/usr/lib/plexmediaserver/Plex Transcoder";'
	docker exec -i $con chmod +x "/usr/lib/plexmediaserver/Plex Transcoder"
	docker exec -i $con chmod +x "/usr/lib/plexmediaserver/Plex Transcoder2"
	docker restart $con
	echo ""
	echo '<font color="green"><b>Done!</b></font>' #Green means go!
else
	echo ""
	echo '<font color="red"><b>Patch already applied or invalid container!</b></font>' #Red means stop!
fi

 

36 minutes ago, JasonM said:

As long as you use the current script version as Cessquill indicated, it will check to see if the patch is applied each time it's run. I have mine set to run nightly, after my backup and Docker containers update.

 

34 minutes ago, Cessquill said:

Run this version in User Scripts...

 

 

Thanks! The script by Xaero works great with the User Scripts plugin.

Unraid + Plex + Nvidia GPU HW Transcoding + AVI files: 

 

Has anyone experienced issues with running older .avi files (e.g older shows where mkv not available)  I ask because for me those files refuse to play in Plex. Upon disabling HW, they play just fine.

 

I understand avi's are problematic and possibly unsupported by HW transcoding, but was hopeful that in such cases those files would just automaticallly fall back on the cpu to transcode. This appears to not be the behavior, as it just fails to play.

 

I've presently disabled HW transcoding , but wold like to switch back once i can resolve this problem.

 

If anyone has experienced this (or can quickly test), i'd be forever grateful. Thanks!

Need some quick guidance to make sure I've got this done correctly for Unraid 6.6.7 Stable with a P2000.

 

  • install Plex by linuxerver.io
  • Install nVidia by linuxserver.io
    • open the plugin's page and select from the left dropdown what.... says nvidia 6.6.6 or 6.7.0rc1-4 ... do I select 6.6.6? or have to update my build to an rc version?

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.