That’s a strange error. I run two containers on the same machine and both work normally, HDR tonemapping as well. Perhaps something with the underlying kernel, or access rights to the drm device?
Did you use my docker overlay mechanism or did you create a fully free-standing container?
If you created the overlay then you only need to install PMS 1.29.1 and you will have all the HEVC HDR hardware tonemapping capabilities in your existing installation.
You’ll be able to remove the docker container without losing data.
If a free-standing container, with some hunting, the container’s data (PMS) can be moved but it is a pain to go dig out.
Still concerned about your Nvidia drivers. If you’re using 5.1.0 NVIDIA_GPU_DRV then please revert back to 5.0.4 . 5.1 breaks a lot of things. QNAP has been notified.
Your use of /usr/local/cuda/extras/CUPTI/lib64 is not typical. Not sure what it brings to the table.
Everything you need is in /opt/NVIDIA_GPU_DRV (outside the container)
(Refer to /etc/init.d/plex.sh to see how I grab the path GPU driver libs)
Changed line to: LD_LIBRARY_PATH: "/usr/local/nvidia/lib:/usr/local/nvidia/lib64"
Still working on the public release but when switching to the plexpass release it fails with the same error as before.
Do you have an example of a docker-compose with HW transcoding for QNAP?
@ChuckPa
not using docker for the HW tonemapping. Using docker as I change between QNAP NASs often and its easier to migrate everything if they are in dockers
I’ve tried 1.29.2 and still get the same issue:
Container log
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 40-plex-first-run: executing...
Plex Media Server first run setup complete
[cont-init.d] 40-plex-first-run: exited 0.
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: executing...
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: exited 0.
[cont-init.d] 50-plex-update: executing...
Attempting to upgrade to: 1.29.0.6244-819d3678c
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 190 0 190 0 0 1862 0 --:--:-- --:--:-- --:--:-- 1862
0 80.8M 0 44380 0 0 206k 0 0:06:41 --:--:-- 0:06:41 206k
100 80.8M 100 80.8M 0 0 78.8M 0 0:00:01 0:00:01 --:--:-- 99.1M
Selecting previously unselected package plexmediaserver.
(Reading database ... 7274 files and directories currently installed.)
Preparing to unpack /tmp/plexmediaserver.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Docker detected. Preinstallation validation not required.
Unpacking plexmediaserver (1.29.0.6244-819d3678c) ...
Setting up plexmediaserver (1.29.0.6244-819d3678c) ...
PlexMediaServer install: Docker detected. Postinstallation tasks not required. Continuing.
[cont-init.d] 50-plex-update: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Starting Plex Media Server.
Critical: libusb_init failed
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
Stopping Plex Media Server.
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
s6-svwait: fatal: timed out
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 40-plex-first-run: executing...
[cont-init.d] 40-plex-first-run: exited 0.
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: executing...
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: exited 0.
[cont-init.d] 50-plex-update: executing...
[cont-init.d] 50-plex-update: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
Starting Plex Media Server.
Error relocating /usr/lib/plexmediaserver/Plex Media Server: drmGetDevices2: symbol not found
Stopping Plex Media Server.
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
Starting Plex Media Server.
Error relocating /usr/lib/plexmediaserver/Plex Media Server: drmGetDevices2: symbol not found
Stopping Plex Media Server.
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]```
I’m trying to complete my recovery here from stupidly installing Ubuntu 22.04.
The last hurdle for me is to get my docker environment working again.
Regarding what you’ve posted; I’ve never seen it complain like that.
lsb_init can, and routinely does, fail without consequence.
KILL failing – OK if PMS isn’t running (which is expected here in this state)
s6-svwait timeout? That’s news to me.
GOT IT
Here you can see creating the normal container (1.29.0)
Next you see me update to forum preview 1.29.2 without error as expected.
[chuck@lizum docker.2002]$ ./dockerplex
Error response from daemon: No such container: plex
Error: No such container: plex
Unable to find image 'plexinc/pms-docker:plexpass' locally
plexpass: Pulling from plexinc/pms-docker
a70d879fa598: Pull complete
c4394a92d1f8: Pull complete
10e6159c56c0: Pull complete
d1042fe57e96: Pull complete
ac5317c7b384: Pull complete
47414e89d67b: Pull complete
Digest: sha256:8aeb4a982ea564ad309861dd251cd9e218aac3f4e4d3da21375568341be1b16f
Status: Downloaded newer image for plexinc/pms-docker:plexpass
295c57efe549cd5f15a6a32380b161907dd9d0ce9a761dd6168dcaa7dc59888a
[chuck@lizum docker.2003]$ docker exec -it plex bash
root@dockerplex:/# dpkg -l | grep -i plexm
ii plexmediaserver 1.29.0.6244-819d3678c amd64 Plex organizes all of your personal media so you can easily access and enjoy it.
root@dockerplex:/# cd /config
root@dockerplex:~# ls
Library plexmediaserver_1.29.2.6273-2b1f0cbcd_amd64.deb tmp transcode
root@dockerplex:~# pwd
/config
root@dockerplex:~# dpkg -i plexmediaserver_1.29.2.6273-2b1f0cbcd_amd64.deb
(Reading database ... 9927 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.29.2.6273-2b1f0cbcd_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Docker detected. Preinstallation validation not required.
Unpacking plexmediaserver (1.29.2.6273-2b1f0cbcd) over (1.29.0.6244-819d3678c) ...
Setting up plexmediaserver (1.29.2.6273-2b1f0cbcd) ...
PlexMediaServer install: Docker detected. Postinstallation tasks not required. Continuing.
root@dockerplex:~#
I have no idea why your container does what it does.
If it makes any difference, I’m using docker-ce and not the wmdocker which is the default for Ubuntu.
I’m using 5.0.4.1 and running into the same issue.
The reason for using /usr/local/cuda/extras/CUPTI/lib64 in my instance is because using /opt/NVIDIA_GPU_DRV resulted in my QNAP device NOT using HW encoding as expected. I assume @walderston was running into the same issue (or perhaps just has just mapped the devices directly - It appears we may have used the same article for configuration).
I will try pulling the 1.29.2 version and post results. Here’s my current docker run for comparison:
EDIT: Also wanted to mention that I have to use container on my QNAP as my TVS-672N doesn’t support HW transcoding in the QNAP app, only in Container mode.
For anyone stumbling on this thread, the forum preview can be found here and grabbed via wget in your docker cli:
EDIT2: Can confirm after installing 1.29.2 manually in CLI to 1.29.1 container that the drmGetDevices2 issue still occurs. Perhaps I’ll try pulling 1.29.0 and installing 1.29.2 as you did in your example.
EDIT3: Can confirm after starting new container on 1.29.0 and manually installing 1.29.2 that the drmGetDevice2 error is still present and container will not start. Going to revert to 1.29.0 for now as that version started without issue.
If you want me to post/share any logs, let me know which ones you would like and I can do so. Or if I should change up my docker run command at all I’m open to try different things as well.
works without issue. If you speak with QNAP, they will point you to this configuration.
Can you educate me as to what mandated all the extra options ? I suspect running PUID/PGID != 0 is a clue. It makes sense to run users as non-root but system services run as root on QNAP.
Sure - In my testing two months back I was finding that pointing to /dev/dri or /opt/NVIDIA_GPU_DRV, that my video card was not being utilized. I was watching it via Hardware Monitoring on my QNAP GUI. I specifically remember changing those options several times over the course of a couple hours to find which components were actually needed for proper hardware transcoding and that is what I ended up with. I was using a 4K LoTR movie for testing and saw great and constant utilization during the transcode. Without those options on the same file there was no utilization.
I also recall trying to copy the protected files out of /dev/dri and /opt/NVIDIA_GPU_DRV to a new directory to call specifically for the container, and that also did not work as intended.
This is the specific post I found and followed regarding those options:
I will try pointing to /dev/dri again, but as I recall QNAP was telling me the same that “it will work” but it clearly was not working as the card sat at 0% utilization while my CPU was cranking away at 100%.