Plex HW Transcoding with OMV 5, Portainer, and Nvidia P2000

    • OMV 5.x (beta)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Plex HW Transcoding with OMV 5, Portainer, and Nvidia P2000

      So i am in the process of trying out OMV from Windows. I have been using Snapraid and Drivepool, so this seems like an easy transition. This past weekend i got all the various programs installed through portainer and i have them running. More or less minimal issues. So the last feature i NEED is to get HW transcoding working on Plex. I can't find a guide to do it in OMV 5, and with Nvidia not having much support for Debian directly, i am not sure where to start. Following TechnoDad advice, i was able to get most things installed through Portainer, minus some port issues/questions. But, i have no idea where to start for this.
    • When your hardware is supported, you just need to activate HW Transcoding in your Plex Settings.

      Have you tried this already?
      OMV 4.x| HP Microserver | 256GB Samsung 830 SSD for system | 4x 2TB in a RAID5
      OMV 4.x| Odroid XU4 | 5TB Data drive | 500GB Backup drive
      OMV 5.x| Raspberry Pi 4 | 6TB Data drive | 500GB SSD drive
    • Have you looked here?
      hub.docker.com/r/linuxserver/plex

      There is a paragraph about hardware acceleration on NVIDIA:

      Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
      github.com/NVIDIA/nvidia-docker
      Odroid HC2 - armbian - OMV4.x | Asrock Q1900DC-ITX - Intenso SSD 120GB - OMV4.x
      :!: Backup - Solutions to common problems - OMV setup videos - OMV4 Documentation - user guide :!:
    • macom wrote:

      Have you looked here?
      hub.docker.com/r/linuxserver/plex

      There is a paragraph about hardware acceleration on NVIDIA:

      Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
      github.com/NVIDIA/nvidia-docker

      Actually, that is exactly what i tried to do, and where i ran into issues based on my linux experience.

      I tried to follow the directions on the nvidia-docker page

      But on the part for Usage i got

      docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
      docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"process_linux.go:432: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown.
      ERRO[0000] error waiting for container: context canceled
    • So i got the driver working using this - linuxconfig.org/how-to-install…on-debian-10-buster-linux

      Plex isn't using it for transcoding.

      I added -e NVIDIA_VISIBLE_DEVICES=all
      but per hub.docker.com/r/linuxserver/plex i can't find a way to set --runtime=nvidia in portainer.

      niemer wrote:

      Take a look at this.

      reddit.com/r/PleX/comments/749…scoding_with_plex_docker/

      you need to pass /dev/dri through to your docker container, you also might need to change permissions of /dev/dri on the host to give read, write, and execute privileges to the PLEX user to get this to work.

      i set the i passed /dev/dri:/dev/dri in the container and /dev/dri has the following attributes
      drwxr-xr-x 3 root users 100 Dec 1 09:36 .
      drwxr-xr-x 18 root root 4360 Dec 1 09:38 ..
      drwxr-xr-x 2 root users 80 Dec 1 09:36 by-path
      crw-rw-rw- 1 root users 226, 0 Dec 1 09:36 card0
      crw-rw-rw- 1 root users 226, 128 Dec 1 09:36 renderD128


      but after i reboot it goes back to
      drwxr-xr-x 3 root root 100 Dec 1 10:57 .
      drwxr-xr-x 18 root root 4320 Dec 1 10:58 ..
      drwxr-xr-x 2 root root 80 Dec 1 10:57 by-path
      crw-rw---- 1 root video 226, 0 Dec 1 10:57 card0
      crw-rw---- 1 root render 226, 128 Dec 1 10:57 renderD128


      But with either setting it doesnt seem to use HW acceleration
    • niemer wrote:

      You'll likely need to write a startup script to chmod 777 /dev/dri.

      Take a look into using docker-compose to modify your containers from the command line, I find it far easier than doing so through portainer, plus you'll have a backup of your containers configs so you can recreate them at will easily.
      I tried docker-compose and get

      ERROR: The Compose file './docker-compose.yml' is invalid because:
      Unsupported config option for services.plex: 'runtime'
      root@openmediavault:/etc/docker# Unsupported config option for services.plex: 'runtime'

      i then tried to run it from docker cli and get
      Error response from daemon: Unknown runtime specified nvidia

      I assume that i installed the drivers on main OS but docker cant access it. I think i am done with OMV 5, nothing works properly and i dont know enough to figure it out.