Instructions for installing a GPU (transcoding) for unraid plex docker


syrys

Recommended Posts

Hey Guys,

 

Im trying to get some step by step instructions about how to actually install a GPU on my unraid server and get plex server (running as a docker on unraid) to use that GPU to do transcoding.

 

My unraid server runs on a i7 4770 cpu which isnt enough for 4k h265 transcoding, so i just installed a GTX 970 (might move to a 1030 or 1050 later) on the box. Although the hardware is installed, im not sure how to:
 

1. Check if the GPU is correctly installed (that OS/Unraid can actually see it)?

2. How to get my plex docker (linuxserver/plex) to actually make use of this GPU.

 

Ive seen couple of threads about this, but the instructions wernt too clear for me (im a noob at these things). Can someone give me some instructions if they can? would be greatly appreciated :)

 

I tried to follow this: 

 

On this step

modprobe i915
chmod -R 777 /dev/dri

 

I got the following error:

chmod: cannot access '/dev/dri ': No such file or directory

There were couple of other threads about editing syslinux.cfg and "go" file, but i have no idea where they are, how to edit them, and what to edit them to.

 

So im pretty stuck :(

 

Any help appreciated.

 

PS: im running unraid 6.6.5

 

 

Link to comment
18 minutes ago, syrys said:

How to get my plex docker (linuxserver/plex) to actually make use of this GPU.

In a nutshell you can't.  unRaid doesn't have the GPU drivers installed.  You could use a VM and passthrough the GTX to it and then run in the VM if Plex supports supports the GPU (don't use Plex, so can't say)

Link to comment
25 minutes ago, syrys said:

Im trying to get some step by step instructions about how to actually install a GPU on my unraid server and get plex server (running as a docker on unraid) to use that GPU to do transcoding.

This is not yet possible.  Only the iGPU in Intel processors with QSV support can be used for Plex transcoding with a docker running on unRAID.

 

UnRAID has no discrete nVIDIA GPU drivers and Plex does not yet support AMD on Linux.

 

There have been recent efforts by CHBMB to install nVIDIA drivers in unRAID for Plex transcoding purpose, but, he has run into some unresolved issues that causes crashes.

 

EDIT: as Squid mentioned, your only option is passing through the GPU to a Windows VM in which you run Plex. 

Edited by Hoopster
Link to comment

Hmm interesting. Thanks for the info guys.

 

So, that means, if i want to get 4k transcoding to be done in my plex docker, i need to upgrade to like a 7th/8th gen intel CPU/mobo (since GPUs arnt supported)? If i were to upgrade, does it matter what the CPU is, can i just upgrade to a cheap 8th gen i3 like the i3 8100? would that be enough?

 

I guess my alternative is to run the plex server in a windows VM, thats probably a good option. Is there any instructions on how to pass through the GPU to my windows VM? Has anyone done this successfully?

 

Link to comment
11 hours ago, syrys said:

can i just upgrade to a cheap 8th gen i3 like the i3 8100? would that be enough?

Yes, depending on how many simultaneous streams you think you need.  The i3 8100 will certainly do 4K.

 

11 hours ago, syrys said:

I guess my alternative is to run the plex server in a windows VM, thats probably a good option. Is there any instructions on how to pass through the GPU to my windows VM? Has anyone done this successfully?

Your motherboard and CPU need to support Vt-d for hardware pass through to work.  A lot also depends on how your board creates IOMMU groups; however, a GPU in a PCIe slot should be in its own group with most boards.

 

There are many discussions in these forums regarding GPU pass through in VMs.

Link to comment
  • 5 months later...

I've gone through pretty much every thread I can find to no avail.  Z390 motherboard with a 9900k, and I am missing dev/dri after running modprobe i915.  When I run lshw -C video, the device is unclaimed, so unraid isn't seeing it for some reason.  I've set primary graphics to both PCIE and onboard.  I've turned multi-monitor support on and off.  I've run UEFI and legacy bios.  UEFI changes the resolution, but the i915 still showed as unclaimed.  I've tried running 6.7.1-rc because I read there was a kernel issue with the Coffee Lake processors, but still no dice.  I've run i915.alpha_support=1, but still nothing.  I'm at a loss...can someone help me out here?

Link to comment
On 6/15/2019 at 6:41 AM, Forstall said:

I've gone through pretty much every thread I can find to no avail.  Z390 motherboard with a 9900k, and I am missing dev/dri after running modprobe i915.  When I run lshw -C video, the device is unclaimed, so unraid isn't seeing it for some reason.  I've set primary graphics to both PCIE and onboard.  I've turned multi-monitor support on and off.  I've run UEFI and legacy bios.  UEFI changes the resolution, but the i915 still showed as unclaimed.  I've tried running 6.7.1-rc because I read there was a kernel issue with the Coffee Lake processors, but still no dice.  I've run i915.alpha_support=1, but still nothing.  I'm at a loss...can someone help me out here?

Your problem is that the Linux Kernel in unRAID has no iGPU support for the 9900K.  That requires at least Linux kernel 4.20 and unRAID 6.7.0 (and previous versions) currently uses 4.19.xx. 

 

At some point the Linux kernel in unRAID will be updated to 4.20.xx or greater, but, for now you are stuck with i915 drivers that do not support the 9 series Intel chips.

Edited by Hoopster
Link to comment
  • 1 year later...

Curious if the status on this has changed recently?  Due to quarantine I've been doing more simultaneous plex streams at once (sharing with friends/family), and I'm outgrowing the Ryzen 7 1700 I've been using since I built this server a few years ago.  I'm in the process of looking for a new rack mounted case so I can expand my number of drives, and I was thinking about switching to use my RTX 2070 super to handle the streams (this site estimates it could do 27 streams... which should be plenty I hope: https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding)

 

I haven't looked into running plex in a windows VM as the above user mentioned... should I?  I'm assuming jumping through a couple hoops to get GPU working is worth it considering how cost effective (again, I'm assuming?) GPUs are at handling the encoding?  Said another way, it seems like it would make a lot more sense to buy an expensive GPU for handling video streaming rather than an expensive CPU, right?

 

I'd still love to keep running plex in docker, but I'd definitely consider switching if that seems to be the general consensus among other people trying to do this kind of thing.

 

Thanks in advance for any advice.

Edited by Nealon
Link to comment
  • 2 years later...

Just want to chime in to say I managed to get this working!

 

Added the following:

  • Extra Parameters: --runtime=nvidia
  • Variable
    • NVIDIA_VISIBLE_DEVICES: (with the GPU ID)
    • NVIDIA_DRIVER_CAPABILITIES: all

Now both Tdarr and Plex are using the GPU!

Edited by dannyb2100
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.