I have been a long time lurker online, I thought I would contribute my experience if it helps another person out as I have seen many mixed responses of this either being possible but with no details or cannot be done.
After many hours of searching in forums and threads I have found you can passthrough PCIE GPU for Plex Server with hardware transcoding on TrueNAS Core 13 U6. I have not seen a good guide so this is my sketch of one.
For those who are interested, this is how I did this using the TrueNAS Core, VM Bhyve running Ubuntu Server 20.04. Hardware: Nvidia GeForce GTX 1650, Core i3 8100, Asus B360M-E, 32GB RAM.
-
Make sure VT-D is enabled in your BIOS first, and make sure your CPU supports it.
I am running Core i3 8100 with no issues. Older generation CPU may not support it so please check
Later if you have not done this step in your BIOS, you will encounter an IOMMU error in step 3 (I found this out the hard way). -
Add 2 new Tunables with in TrueNAS
Variable: pptdevs, value: 1/0/0, type: LOADER, Enable
Variable: vmm_load, value: YES, type: LOADER, Enable
*Your pptdev variable may be different, please see the links under PCIE Passthrough, checkout this guide: bhyve/pci_passthru - FreeBSD Wiki -
Make NFS shares in TrueNAS, for your VM to mount and for Plex to access
-
Create VM, Under Add Device - Select PCI Passthrough Device, Select device: 1/0/0 or your correct pci config
As a side note, when creating the VM, make CDROM device order to be the highest number, as once you have installed Ubuntu Server, the device order for the NIC does not change when you remove the CDROM device, this is the simplest method to ensure the VM still has internet access.
-
Install Ubuntu Server
Making sure the following packages are installed:
software-properties-common
ubuntu-drivers-common
ubuntu-drivers
nfs-common
plexmediaserver -
Create NFS mount points
-
Install Plex, Add directory to library of previous NFS mount points.
GPU will pop up in Hardware Transcoding Device now
Enjoy!
I have added all the forums/threads that guided me in doing this:
VM Set up
PCIE Passthrough
https://wiki.freebsd.org/bhyve/pci_passthru
Nvidia Drivers
https://ubuntu.com/server/docs/nvidia-drivers-installation
NFS
Plex
I hope this helps someone