Thinking through this forced upgrade. [Multi GPU passthrough, Plex, PCIe lanes & slots]


TyantA

Recommended Posts

Got parts to upgrade my HEDT workstation to Ryzen and no one seems to want my old i7 3970X / Asus P9X79 Pro / 32GB setup, so today it gets transplanted into my primary unraid box. 

 

I'm hoping my goal of getting Unraid with several dockers (including Plex) and 2x Windows 10 VMs out of it will be more of a reality now than ever, with 6c 12t @3.5Ghz/4.0 boost at my disposal (up from 4/8) and 32GB ram to play with. I'm also looking to set up 3x GPUs as there is no onboard graphics. All of them are AMD cards. 

 

I have: 

  • Radeon RX 470 8GB for my "casual gaming" and primary VM which also functions as my HTPC hooked up to a projector.
  • Radeon HD 7950 3GB for my secondary VM that would probably only be used for split screen gaming on my projector (retro titles like Portal) I'm toying with running a long HDMI cable upstairs to replace the main floor HTPC setup with this. 
  • An old AMD single slot Radeon HD 3470 256MB card for the server's purposes. (ALternatively, I have a Quadro FX570 but I like the low profile of the AMD card for cooling purposes.)

 

[The question is: which cards in which slots?] 

The manual shows that triple GPUs would mean using PCIe X16_1, PCIe X16_2 @ 8x and PCIe X6_4 @ 8x. 

 

Edit: I forgot to mention I have to sandwich a Dell controller card in there somewhere too. I wonder why X16 slot 3 is excluded from the above. Maybe there are not enough lanes for it to be used? Or just not for GPU? 

 

Physically speaking, I can fit the RX 470 in slot 1, the 3470 in slot 2, the Dell controller in slot 3 and the 7950 in slot 4. It's tight, but with extra cooling??

 

I've read a bit about passing the primary GPU through to Unraid for the purposes of Plex, but I guess I'm confused about whether PMS needs the GPU horsepower or the Plex client? I partially picked up the RX 470 for its better decoding abilities as I've been having trouble with h.265 etc. 

 

Also, if I can use it for Plex, presumably I can't use it for the VM. Finally, to me it makes most sense to put the 470 in the X16 slot, but reading has indicated that primary card passthrough can be tricky. Can a 'primary' i.e. used for unraid card live in a slot other than PCIe_1?

 

This is more confusing than I was hoping it would be and the more I read, I feel the more lost I get. Could someone shed some light on the best multi-gpu setup given this hardware? TIA. 

Edited by TyantA
Link to comment

Ok, so some further reading reminded me that I can't use GPU acceleration with Plex unless PMS is running on a Windows VM with the GPU passed through. Hrmph. I suppose that's an option, however, I'm not sure what impact say, gaming on the VM that is also running PMS would be like. 

 

I really thought I had solved this as my temp hardware I just pulled out was a Z68 board & 2600k CPU. Plex could have in theory used quicksync with that setup.... except the K CPU apparently doesn't support IMMOU. Sigh. So now I'm getting more horsepower (and power consumption) but losing quicksync for Plex. So my issue with being able to play H.265 won't be resolved unless I go the VM route. 

 

I suppose it's not a bad option and answers the 'getting Plex to use the best GPU along with the same gaming VM' - again, assuming I can set the primary card for in slot X16_1 as passthrough for the VM and not be assigned to unraid. 

 

I just feel like relying on a VM for something as "critical" in our house just adds another point of failure. I liked how the docker was unaffected by VMs being spun up or down. Also, how hard would it be to move from a PMS docker to a windows VM install? I can't afford (the time) to start from scratch.   

Edited by TyantA
Link to comment
  • 3 weeks later...
On 11/15/2019 at 10:40 AM, TyantA said:

Ok, so some further reading reminded me that I can't use GPU acceleration with Plex unless PMS is running on a Windows VM with the GPU passed through. Hrmph. I suppose that's an option, however, I'm not sure what impact say, gaming on the VM that is also running PMS would be like. 

 

I really thought I had solved this as my temp hardware I just pulled out was a Z68 board & 2600k CPU. Plex could have in theory used quicksync with that setup.... except the K CPU apparently doesn't support IMMOU. Sigh. So now I'm getting more horsepower (and power consumption) but losing quicksync for Plex. So my issue with being able to play H.265 won't be resolved unless I go the VM route. 

 

I suppose it's not a bad option and answers the 'getting Plex to use the best GPU along with the same gaming VM' - again, assuming I can set the primary card for in slot X16_1 as passthrough for the VM and not be assigned to unraid. 

 

I just feel like relying on a VM for something as "critical" in our house just adds another point of failure. I liked how the docker was unaffected by VMs being spun up or down. Also, how hard would it be to move from a PMS docker to a windows VM install? I can't afford (the time) to start from scratch.   

This actually isn't true, I use GPU transcoding with Plex with no VMs, just have the official plex container and Nvidia Unraid

Link to comment
  • 1 month later...

Wow, just noticing this reply now! 

 

Since then, I went ahead with the i7 3970X in my unraid box. Problem is I've had all AMD GPUs in there. I've been slowly converting to nvidia so I can try out nvidia unraid. 

 

What I'm not clear on is if you need all nvidia cards or just the primary and/or just the one(s) you want to have available to dockers? 

 

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.