Server Version#: 1.32.4.7195
Player Version#:
I have a Jetson Orin NX 16gb module which supports NVENC/NVDEC (as opposed to jetson nano moduiles). I’ve manually tested the “Plex Transcoder” ffmpeg using the nvenc/nvdec codecs and it works. Unfortunately it seems the plex media server is unable to detect a nvidia card on this setup, so I don’t have the option to enable hardware transcoding.
I understand this is a quite obscure setup, so this probably isn’t a priority to fix, but is there some workaround/hidden option somewhere that allows me to force enable nvidia transcoding?
Is there a Redhat or Debian base OS in the machine?
Yes, the base is Ubuntu 20.04 (nvidia jetpack). Plex was installed via apt
When you install via apt (apt-get), you are given a SNAP package from Ubuntu.
This won’t have HW transcoding capability because of how SNAP packages work.
Your best option here is to uninstall & purge the SNAP (recover the storage)
then do two things:
- Confirm you have the
nvidia-drivers,libnvidia-encode, andlibnvidia-decodewhich are paired with that driver version - Confirm everything is seen properly with
nvidia-smi - Next,
sudo snap remove --purge plexmediaserver - Download PMS from https://downloads.plex.tv
-
sudo dpkg -i plexmediaserver_version-hash.deb(actual file name here)
The debian installation scripting (internal) will configure for the host and create everything needed.
Once you claim the server, go into Settings - Server - Transcoder - Show Advanced, and enable all the transcoding options, you’ll have full Nvidia HW decode,encode, and tonemapping within the limits of the device.
Thanks for your reply. A few things
Plex was not installed via snap. It’s from the plex apt repository. Nvidia-smi is not available on this system. It’s for controlling nvidia gpu’s on the pcie bus. Orin is an integrated gpu. Nvidia package names are also different.
As mentioned in the first post, I have confirmed that nvidia transcoding using nvenc/nvdec works on this system. This was done by inspecting parameters of the transcoding process on a box with a normal nvidia gpu, and then running /usr/lib/plexmediaserver/Plex Transcoder manually with the same parameters on the Orin NX
While the transcoding works in theory, the problem is that plex does not properly detect the embedded nvidia gpu. As far as I can see from the dpkg preinst script this detection is done by looking in /sys/module/nvidia/drivers/pci:nvidia/::. which is not present on these systems, because the gpu is not on the pci bus. Only platform:nv_platform is present in /sys/module/nvidia/drivers
My question is simply, is there a way to force plex to think it detected an nvidia gpu? This should in theory make everything work, as this probably only affects which parameters are send to your custom ffmpeg build in /usr/lib/plexmediaserver/Plex Transcoder
Unfortunately , No there is no way to force it.
- If PMS doesn’t see a Nvidia GPU on the PCIe bus – game over
- If there are no nodes in /dev/dri; card0 / renderD128 – game over
- If there is no libnvidia decode or encode – game over
/sys/module/nvidia/drivers/pci:nvidia/is provided to the user to let them know the GPU (Nvidia card) can be seen and is recognized by the kernel.
You’re using a specialty box and wanting transcoding. I’m sorry, PMS was not intended to run in that type environment.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.