QNAP Plex not using GPU to transcode even on new beta channel

Server Version#: 1.21.0.3608
Player Version#: 4.43.4

Using a QNAP TVS-872XT-i5-16G-US with the native plex app and a nvidia Quadro P2000 installed. I have installed the driver from the app store, and set the card to QTS mode in the hardware settings. “use hardware acceleration when available” as well as “use hardware accelerated video encoding when available” are both checked. I’ve rebooted after performing all of these tasks.

When i attempt to transcode a video, the GPU usage on qnap’s home screen performance monitor seems to be 0%, while the cpu usage jumps up, clearly indicating plex is using the CPU.

I noticed through intense amounts of digging that plex seemed to have broken this feature due to qnap only being on the 440 driver, and that it was fixed in the beta release. But updating to the beta channel didn’t seem to fix this.

Any tips/ideas/help would be appreciated. I’d vastly prefer to leave the CPU to take care of system tasks and other things while the GPU does transcoding jobs.

Having researched thoroughly, you should have seen where the first thing we always ask for are DEBUG (not VERBOSE) log files which capture the issue in question.

Without those logs, the only answer possible is: :man_shrugging:

I tested the fix for the Nvidia drivers and know it works with a GT1050 in a TS-877.

Apologies, here are my logs.

(File removed)

Thank you for the logs.

As I suspected, the GPU is not even being detected.

If the GPU were being detected, I would see evidence of the transcoder loading and testing with the Nvidia drivers.

If the bug were the issue, I’d see protocol version 9.1 being detected but PMS wanting version 10.0 or higher.

Neither of these two being asserted , the QNAP gpuhal_app isn’t reporting your system as having a viable GPU installed (which could be a QNAP driver issue).

To confirm this, from the SSH command line prompt:

# gpuhal_app -l

< it will print out information for the GPU card(s) found including the build in QSV >
< search for the ID of the "NVIDIA" card.  Using that ID:>

# gpuhal_app -s ID 

This should respond with the path to the drivers as well as the card state.

  1. Drivers must exist (check the path with ls -l <pathname>
  2. Verify real_status=2

I feel a bit out of my depth here, so apologies if this isn’t what you were looking for. I’m still a bit of a novice at some of this so you’d need to explain what to do for step 1.

Here are the results of the two commands:

running gpuhal_app -l:

0:Intel Corporation:UHD Graphics 630 (Desktop):internal:2
1:NVIDIA Corporation:GP106GL [Quadro P2000]:external:7

running gpuhal_app -s 1

active_status=2,real_status=2,driverqpkg=NVIDIA_GPU_DRV,driver_installed=1,in_used=none,transcode=1,display=1,pcie_slot=1,pcie_vp=1,va_type=none

now run it down.

[~] # gpuhal_app -l
f:NVIDIA Corporation:GP107 [GeForce GTX 1050 Ti]:external:7
[~] # gpuhal_app -s f
active_status=2,real_status=2,driverqpkg=NVIDIA_GPU_DRV,driver_installed=1,in_used=none,transcode=1,display=1,pcie_slot=1,pcie_vp=1
[~] # /sbin/getcfg NVIDIA_GPU_DRV Install_Path -f /etc/config/qpkg.conf
/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV
[~] # ls -la /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/
total 528
drwxrwxr-x  7  1012           1012   4096 2019-12-13 12:46 ./
drwxrwxrwx 12 admin administrators   4096 2020-11-11 07:39 ../
drwxrwxrwx 12  1012           1012   4096 2019-05-09 19:48 cuda-10.1/
-rw-rw-r--  1  1012           1012    418 2019-09-02 03:49 driver-env.sh
-rw-rw-r--  1  1012           1012      0 2019-09-02 03:49 .gitkeep
-rw-r--r--  1 admin administrators 474531 2019-12-13 12:46 .list
drwxrwxr-x  2  1012           1012   4096 2019-09-02 22:50 NCfiles/
-rw-rw-r--  1  1012           1012   3557 2019-09-02 03:49 NVIDIA_GPU_DRV_64.gif
-rw-rw-r--  1  1012           1012   2967 2019-09-02 03:49 NVIDIA_GPU_DRV_64_gray.gif
-rwxr-xr-x  1  1012           1012  10304 2019-11-22 00:42 NVIDIA_GPU_DRV.sh*
-rwxr-xr-x  1 admin administrators   1923 2019-11-22 02:38 NVIDIA_REMOVE.sh*
drwxr-xr-x  2 admin administrators   4096 2019-11-22 02:39 .qcodesigning/
-rwxr-xr-x  1 admin administrators   1040 2019-12-13 12:46 .uninstall.sh*
drwxrwxrwx 11  1012           1012   4096 2019-09-12 01:12 usr/
-rwxrwxr-x  1  1012           1012      7 2019-09-02 22:50 version*
drwxrwxr-x  3  1012           1012   4096 2019-09-02 03:49 web/
[~] # cat /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/driver-env.sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="NVIDIA_GPU_DRV"
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}`
DRIVER_ROOT=/opt/${QPKG_NAME}

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${DRIVER_ROOT}/usr/syslib:${DRIVER_ROOT}/usr/lib:${DRIVER_ROOT}/usr/applib:$LD_LIBRARY_PATH >> /root/.profile
export PATH=${DRIVER_ROOT}/usr/bin:/usr/local/cuda/bin:$PATH >> /root/.profile
export DISPLAY=":0" >> /root/.profile

[~] # [~] # ls -la /opt/NVIDIA_GPU_DRV/usr/syslib
total 54344
drwxrwxrwx  2 1012 1012     4096 2017-06-14 22:43 ./
drwxrwxrwx 11 1012 1012     4096 2019-09-12 01:12 ../
-rwxrwxrwx  1 1012 1012   150408 2017-06-14 22:32 libatk-1.0.so.0*
-rwxrwxrwx  1 1012 1012   193536 2017-06-14 22:33 libatk-bridge-2.0.so.0*
-rwxrwxrwx  1 1012 1012   198816 2017-06-14 22:34 libatspi.so.0*
-rwxrwxrwx  1 1012 1012    97024 2017-06-14 22:37 libboost_filesystem.so.1.58.0*
-rwxrwxrwx  1 1012 1012    14448 2017-06-14 22:35 libboost_system.so.1.58.0*
-rwxrwxrwx  1 1012 1012    60144 2017-03-21 18:16 libbsd.so.0*
-rwxrwxrwx  1 1012 1012    34896 2017-06-14 22:32 libcairo-gobject.so.2*
-rwxrwxrwx  1 1012 1012  1119664 2017-06-14 22:32 libcairo.so.2*
-rwxrwxrwx  1 1012 1012   110720 2017-03-22 00:22 libcrystalhd.so.3*
-rwxrwxrwx  1 1012 1012    26512 2017-06-14 22:37 libdatrie.so.1*
-rwxrwxrwx  1 1012 1012   212128 2017-03-21 18:15 libedit.so.2*
-rwxrwxrwx  1 1012 1012    88528 2017-03-21 01:37 libelf.so.1*
-rwxrwxrwx  1 1012 1012   943104 2017-03-21 01:37 libepoxy.so.0*
-rwxrwxrwx  1 1012 1012    31016 2017-03-21 01:37 libffi.so.6*
-rwxrwxrwx  1 1012 1012    30504 2017-03-21 01:37 libfontenc.so.1*
-rwxrwxrwx  1 1012 1012   678368 2017-06-14 22:39 libfreetype.so.6*
-rwxrwxrwx  1 1012 1012   866352 2017-06-14 22:31 libgdk-3.so.0*
-rwxrwxrwx  1 1012 1012   138640 2017-06-14 22:32 libgdk_pixbuf-2.0.so.0*
-rwxrwxrwx  1 1012 1012  1570760 2017-06-14 22:43 libgio-2.0.so.0*
-rwxrwxrwx  1 1012 1012    14624 2017-06-14 22:42 libgmodule-2.0.so.0*
-rwxrwxrwx  1 1012 1012   338984 2017-06-14 22:41 libgobject-2.0.so.0*
-rwxrwxrwx  1 1012 1012  7260896 2017-06-14 22:28 libgtk-3.so.0*
-rwxrwxrwx  1 1012 1012    93824 2017-03-23 01:45 libICE.so.6*
-rwxrwxrwx  1 1012 1012 32563440 2017-03-21 18:14 libLLVM-3.6.so.1*
-rwxrwxrwx  1 1012 1012   137400 2017-03-22 00:23 liblzma.so.5*
-rwxrwxrwx  1 1012 1012   542368 2017-06-14 22:34 libmirclient.so.9*
-rwxrwxrwx  1 1012 1012   253360 2017-06-14 22:35 libmircommon.so.5*
-rwxrwxrwx  1 1012 1012   371320 2017-06-14 22:35 libmirprotobuf.so.3*
-rwxrwxrwx  1 1012 1012   219288 2017-03-21 01:37 libnettle.so.6*
-rwxrwxrwx  1 1012 1012   319832 2017-06-14 22:33 libpango-1.0.so.0*
-rwxrwxrwx  1 1012 1012    52560 2017-06-14 22:31 libpangocairo-1.0.so.0*
-rwxrwxrwx  1 1012 1012    90184 2017-06-14 22:33 libpangoft2-1.0.so.0*
-rwxrwxrwx  1 1012 1012    39272 2017-03-21 01:41 libpciaccess.so.0*
-rwxrwxrwx  1 1012 1012   448440 2017-03-21 01:37 libpcre.so.3*
-rwxrwxrwx  1 1012 1012   706576 2017-03-21 01:37 libpixman-1.so.0*
-rwxrwxrwx  1 1012 1012   153944 2017-06-14 22:40 libpng12.so.0*
-rwxrwxrwx  1 1012 1012   199120 2017-06-14 22:36 libprotobuf-lite.so.9*
-rwxrwxrwx  1 1012 1012   138400 2017-03-21 01:37 libselinux.so.1*
-rwxrwxrwx  1 1012 1012    30960 2017-03-23 01:46 libSM.so.6*
-rwxrwxrwx  1 1012 1012  1566568 2017-03-21 01:37 libstdc++.so.6*
-rwxrwxrwx  1 1012 1012    36936 2017-06-14 22:34 libthai.so.0*
-rwxrwxrwx  1 1012 1012   122624 2017-03-21 01:37 libudev.so.1*
-rwxrwxrwx  1 1012 1012    56496 2017-03-21 01:37 libwayland-client.so.0*
-rwxrwxrwx  1 1012 1012    68912 2017-03-21 01:37 libwayland-server.so.0*
-rwxrwxrwx  1 1012 1012  1285552 2017-03-21 01:37 libX11.so.6*
-rwxrwxrwx  1 1012 1012     5992 2017-03-21 01:37 libX11-xcb.so.1*
-rwxrwxrwx  1 1012 1012    14456 2017-03-21 01:37 libXau.so.6*
-rwxrwxrwx  1 1012 1012   471808 2017-03-23 01:44 libXaw.so.7*
-rwxrwxrwx  1 1012 1012    18512 2017-03-21 01:37 libxcb-dri2.so.0*
-rwxrwxrwx  1 1012 1012    10336 2017-03-21 01:37 libxcb-dri3.so.0*
-rwxrwxrwx  1 1012 1012   100432 2017-03-21 01:37 libxcb-glx.so.0*
-rwxrwxrwx  1 1012 1012    10320 2017-03-21 01:37 libxcb-present.so.0*
-rwxrwxrwx  1 1012 1012    39008 2017-06-14 22:34 libxcb-render.so.0*
-rwxrwxrwx  1 1012 1012    14416 2017-03-22 00:21 libxcb-shape.so.0*
-rwxrwxrwx  1 1012 1012   133584 2017-03-21 01:37 libxcb.so.1*
-rwxrwxrwx  1 1012 1012    26736 2017-03-21 01:37 libxcb-sync.so.1*
-rwxrwxrwx  1 1012 1012    30800 2017-03-21 01:37 libxcb-xfixes.so.0*
-rwxrwxrwx  1 1012 1012    10232 2017-06-14 22:34 libXcomposite.so.1*
-rwxrwxrwx  1 1012 1012    10248 2017-03-21 01:37 libXdamage.so.1*
-rwxrwxrwx  1 1012 1012    22592 2017-03-21 01:37 libXdmcp.so.6*
-rwxrwxrwx  1 1012 1012    73640 2017-03-21 01:37 libXext.so.6*
-rwxrwxrwx  1 1012 1012    22584 2017-03-21 01:37 libXfixes.so.3*
-rwxrwxrwx  1 1012 1012    10376 2017-03-23 01:43 libXinerama.so.1*
-rwxrwxrwx  1 1012 1012   155880 2017-03-21 01:37 libxkbfile.so.1*
-rwxrwxrwx  1 1012 1012   102728 2017-03-23 01:44 libXmu.so.6*
-rwxrwxrwx  1 1012 1012    14448 2017-03-23 21:04 libXmuu.so.1*
-rwxrwxrwx  1 1012 1012    68360 2017-03-23 01:45 libXpm.so.4*
-rwxrwxrwx  1 1012 1012    10264 2017-03-21 01:37 libxshmfence.so.1*
-rwxrwxrwx  1 1012 1012   426320 2017-03-23 01:44 libXt.so.6*
-rwxrwxrwx  1 1012 1012    22784 2017-03-21 01:37 libXxf86vm.so.1*
[~] # ls -la /opt/NVIDIA_GPU_DRV/usr/bin   
total 108048
drwxrwxrwx  2 1012 1012     4096 2019-09-12 01:15 ./
drwxrwxrwx 11 1012 1012     4096 2019-09-12 01:12 ../
-rwxrwxrwx  1 1012 1012   138032 2019-09-12 01:03 avcenc*
-rwxrwxrwx  1 1012 1012    50864 2019-09-12 01:11 cvt*
-rwxr-xr-x  1 1012 1012 18441232 2019-09-12 01:15 ffmpeg*
-rwxr-xr-x  1 1012 1012 18326800 2019-09-12 01:15 ffplay*
-rwxr-xr-x  1 1012 1012 18342896 2019-09-12 01:15 ffprobe*
-rwxrwxrwx  1 1012 1012    42904 2019-09-12 01:11 gtf*
-rwxrwxrwx  1 1012 1012   658320 2019-09-12 01:03 h264encode*
-rwxrwxrwx  1 1012 1012   114608 2019-09-12 01:03 jpegenc*
-rwxrwxrwx  1 1012 1012     3759 2019-09-12 01:11 koi8rxterm*
-rwxrwxrwx  1 1012 1012   103304 2019-09-12 01:03 loadjpeg*
-rwxrwxrwx  1 1012 1012   122448 2019-09-12 01:03 mpeg2vaenc*
-rwxrwxrwx  1 1012 1012    72248 2019-09-12 01:03 mpeg2vldemo*
-rwxrwxrwx  1 1012 1012  7430552 2017-09-08 02:56 mpv*
-rwxrwxrwx  1 1012 1012    27814 2019-05-09 00:22 nvidia-bug-report.sh*
-rwxrwxrwx  1 1012 1012    76888 2019-05-09 00:22 nvidia-cuda-mps-control*
-rwxrwxrwx  1 1012 1012    54024 2019-05-09 00:22 nvidia-cuda-mps-server*
-rwxrwxrwx  1 1012 1012   247760 2019-05-09 00:22 nvidia-debugdump*
-rwxrwxrwx  1 1012 1012   327312 2019-05-09 00:22 nvidia-installer*
-rwxrwxrwx  1 1012 1012    33936 2019-03-15 10:31 nvidia-modprobe*
-rwxrwxrwx  1 1012 1012    48096 2019-05-09 00:22 nvidia-persistenced*
-rwxrwxrwx  1 1012 1012   299336 2019-05-09 00:22 nvidia-settings*
-rwxrwxrwx  1 1012 1012   528288 2019-05-09 00:22 nvidia-smi*
lrwxrwxrwx  1 1012 1012       16 2019-12-13 12:46 nvidia-uninstall -> nvidia-installer*
-rwxrwxrwx  1 1012 1012   184888 2019-05-09 00:22 nvidia-xconfig*
-rwxrwxrwx  1 1012 1012   546648 2019-09-12 01:03 putsurface*
-rwxrwxrwx  1 1012 1012   552640 2019-09-12 01:03 putsurface_wayland*
-rwxrwxrwx  1 1012 1012    59392 2019-09-12 01:11 resize*
-rwxrwxrwx  1 1012 1012  4831008 2017-09-13 01:52 smplayer*
-rwxrwxrwx  1 1012 1012     5505 2019-09-12 01:11 startx*
-rwxrwxrwx  1 1012 1012   662592 2019-09-12 01:11 twm*
-rwxrwxrwx  1 1012 1012     3674 2019-09-12 01:11 uxterm*
-rwxrwxrwx  1 1012 1012    61952 2019-09-12 01:03 vainfo*
lrwxrwxrwx  1 1012 1012        4 2019-12-13 12:46 X -> Xorg*
-rwxrwxrwx  1 1012 1012    51168 2019-09-12 01:11 xinit*
-rwxrwxrwx  1 1012 1012   201568 2015-05-06 06:16 xkbcomp*
-rwxrwxrwx  1 1012 1012    14659 2019-09-12 01:11 xkeystone*
-rwxrwxrwx  1 1012 1012  9446856 2019-09-12 01:11 Xnest*
-rwxrwxrwx  1 1012 1012 13889168 2019-09-12 01:10 Xorg*
-rwxrwxrwx  1 1012 1012   228968 2019-09-12 01:11 xrandr*
-rwxrwxrwx  1 1012 1012  2167960 2019-09-12 01:11 xterm*
-rwxrwxrwx  1 1012 1012 12160968 2019-09-12 01:11 Xvfb*
[~] #

Do you have all this?

[/share/Public] # ./PlexMediaServer-1.21.0.3608-f7262c352-x86_64.qpkg 
Install QNAP package on TS-NAS...
./
./qpkg.cfg
./package_routines
./qinstall.sh
./built_info
4529+1 records in
4529+1 records out
112412753 bytes (107.2MB) copied, 0.242689 seconds, 441.7MB/s
109776+0 records in
109776+0 records out
112410624 bytes (107.2MB) copied, 0.242916 seconds, 441.3MB/s
PlexMediaServer 1.20.5 is already installed. Setup will now perform package upgrading.
Firmware check is fine.
Stopping Plex Media Server...
Link service start/stop script: plex.sh
Set QPKG information in /etc/config/qpkg.conf
Starting Plex Media Server...
[/share/Public] # 

It is working with the GTX-1050.

I’m not sure what to tell you as I cannot reproduce what you see.
I can only suggest confirming the P2000 is actually working.
Screenshot from 2020-11-20 22-47-37

It might aid diagnosis by manually forcing the Nvidia GPU with HardwareDevicePath=/dev/dri/renderD129 added to Preferences.xml

Here is the result of the commands

gpuhal_app -l
0:Intel Corporation:UHD Graphics 630 (Desktop):internal:2
1:NVIDIA Corporation:GP106GL [Quadro P2000]:external:7
[~] # gpuhal_app -s 1
active_status=2,real_status=2,driverqpkg=NVIDIA_GPU_DRV,driver_installed=1,in_used=none,transcode=1,display=1,pcie_slot=1,pcie_vp=1,va_type=none
[~] # /sbin/getcfg NVIDIA_GPU_DRV Install_Path -f /etc/config/qpkg.conf
/share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV
[~] # ls -la /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/
total 628
drwxrwxr-x  7  1015           1015   4096 2020-11-19 18:25 ./
drwxrwxrwx 14 admin administrators   4096 2020-11-20 15:47 ../
drwxrwxrwx 10  1015           1015   4096 2019-12-11 03:09 cuda-10.2/
-rw-rw-r--  1  1015           1015    418 2020-05-25 05:10 driver-env.sh
-rw-rw-r--  1  1015           1015      0 2020-05-25 05:10 .gitkeep
-rw-r--r--  1 admin administrators 576555 2020-11-19 18:25 .list
drwxrwxr-x  2  1015           1015   4096 2020-05-25 05:10 NCfiles/
-rw-rw-r--  1  1015           1015   3557 2020-05-25 05:10 NVIDIA_GPU_DRV_64.gif
-rw-rw-r--  1  1015           1015   2967 2020-05-25 05:10 NVIDIA_GPU_DRV_64_gray.gif
-rwxr-xr-x  1  1015           1015  10304 2020-05-25 05:10 NVIDIA_GPU_DRV.sh*
-rwxrwxr-x  1  1015           1015   1923 2020-05-25 05:10 NVIDIA_REMOVE.sh*
drwxr-xr-x  2 admin administrators   4096 2020-07-29 06:00 .qcodesigning/
-rwxr-xr-x  1 admin administrators    925 2020-11-19 18:25 .uninstall.sh*
drwxrwxrwx 11  1015           1015   4096 2020-05-25 04:50 usr/
-rwxrwxr-x  1  1015           1015      7 2020-05-25 05:10 version*
drwxrwxr-x  3  1015           1015   4096 2020-05-25 05:10 web/
[~] # cat /share/CACHEDEV1_DATA/.qpkg/NVIDIA_GPU_DRV/driver-env.sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="NVIDIA_GPU_DRV"
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}`
DRIVER_ROOT=/opt/${QPKG_NAME}

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${DRIVER_ROOT}/usr/syslib:${DRIVER_ROOT}/usr/lib:${DRIVER_ROOT}/usr/applib:$LD_LIBRARY_PATH >> /root/.profile
export PATH=${DRIVER_ROOT}/usr/bin:/usr/local/cuda/bin:$PATH >> /root/.profile
export DISPLAY=":0" >> /root/.profile

[~] # ls -la /opt/NVIDIA_GPU_DRV/usr/syslib
total 54344
drwxrwxrwx  2 1015 1015     4096 2017-06-15 01:43 ./
drwxrwxrwx 11 1015 1015     4096 2020-05-25 04:50 ../
-rwxrwxrwx  1 1015 1015   150408 2017-06-15 01:32 libatk-1.0.so.0*
-rwxrwxrwx  1 1015 1015   193536 2017-06-15 01:33 libatk-bridge-2.0.so.0*
-rwxrwxrwx  1 1015 1015   198816 2017-06-15 01:34 libatspi.so.0*
-rwxrwxrwx  1 1015 1015    97024 2017-06-15 01:37 libboost_filesystem.so.1.58.0*
-rwxrwxrwx  1 1015 1015    14448 2017-06-15 01:35 libboost_system.so.1.58.0*
-rwxrwxrwx  1 1015 1015    60144 2017-03-21 21:16 libbsd.so.0*
-rwxrwxrwx  1 1015 1015    34896 2017-06-15 01:32 libcairo-gobject.so.2*
-rwxrwxrwx  1 1015 1015  1119664 2017-06-15 01:32 libcairo.so.2*
-rwxrwxrwx  1 1015 1015   110720 2017-03-22 03:22 libcrystalhd.so.3*
-rwxrwxrwx  1 1015 1015    26512 2017-06-15 01:37 libdatrie.so.1*
-rwxrwxrwx  1 1015 1015   212128 2017-03-21 21:15 libedit.so.2*
-rwxrwxrwx  1 1015 1015    88528 2017-03-21 04:37 libelf.so.1*
-rwxrwxrwx  1 1015 1015   943104 2017-03-21 04:37 libepoxy.so.0*
-rwxrwxrwx  1 1015 1015    31016 2017-03-21 04:37 libffi.so.6*
-rwxrwxrwx  1 1015 1015    30504 2017-03-21 04:37 libfontenc.so.1*
-rwxrwxrwx  1 1015 1015   678368 2017-06-15 01:39 libfreetype.so.6*
-rwxrwxrwx  1 1015 1015   866352 2017-06-15 01:31 libgdk-3.so.0*
-rwxrwxrwx  1 1015 1015   138640 2017-06-15 01:32 libgdk_pixbuf-2.0.so.0*
-rwxrwxrwx  1 1015 1015  1570760 2017-06-15 01:43 libgio-2.0.so.0*
-rwxrwxrwx  1 1015 1015    14624 2017-06-15 01:42 libgmodule-2.0.so.0*
-rwxrwxrwx  1 1015 1015   338984 2017-06-15 01:41 libgobject-2.0.so.0*
-rwxrwxrwx  1 1015 1015  7260896 2017-06-15 01:28 libgtk-3.so.0*
-rwxrwxrwx  1 1015 1015    93824 2017-03-23 04:45 libICE.so.6*
-rwxrwxrwx  1 1015 1015 32563440 2017-03-21 21:14 libLLVM-3.6.so.1*
-rwxrwxrwx  1 1015 1015   137400 2017-03-22 03:23 liblzma.so.5*
-rwxrwxrwx  1 1015 1015   542368 2017-06-15 01:34 libmirclient.so.9*
-rwxrwxrwx  1 1015 1015   253360 2017-06-15 01:35 libmircommon.so.5*
-rwxrwxrwx  1 1015 1015   371320 2017-06-15 01:35 libmirprotobuf.so.3*
-rwxrwxrwx  1 1015 1015   219288 2017-03-21 04:37 libnettle.so.6*
-rwxrwxrwx  1 1015 1015   319832 2017-06-15 01:33 libpango-1.0.so.0*
-rwxrwxrwx  1 1015 1015    52560 2017-06-15 01:31 libpangocairo-1.0.so.0*
-rwxrwxrwx  1 1015 1015    90184 2017-06-15 01:33 libpangoft2-1.0.so.0*
-rwxrwxrwx  1 1015 1015    39272 2017-03-21 04:41 libpciaccess.so.0*
-rwxrwxrwx  1 1015 1015   448440 2017-03-21 04:37 libpcre.so.3*
-rwxrwxrwx  1 1015 1015   706576 2017-03-21 04:37 libpixman-1.so.0*
-rwxrwxrwx  1 1015 1015   153944 2017-06-15 01:40 libpng12.so.0*
-rwxrwxrwx  1 1015 1015   199120 2017-06-15 01:36 libprotobuf-lite.so.9*
-rwxrwxrwx  1 1015 1015   138400 2017-03-21 04:37 libselinux.so.1*
-rwxrwxrwx  1 1015 1015    30960 2017-03-23 04:46 libSM.so.6*
-rwxrwxrwx  1 1015 1015  1566568 2017-03-21 04:37 libstdc++.so.6*
-rwxrwxrwx  1 1015 1015    36936 2017-06-15 01:34 libthai.so.0*
-rwxrwxrwx  1 1015 1015   122624 2017-03-21 04:37 libudev.so.1*
-rwxrwxrwx  1 1015 1015    56496 2017-03-21 04:37 libwayland-client.so.0*
-rwxrwxrwx  1 1015 1015    68912 2017-03-21 04:37 libwayland-server.so.0*
-rwxrwxrwx  1 1015 1015  1285552 2017-03-21 04:37 libX11.so.6*
-rwxrwxrwx  1 1015 1015     5992 2017-03-21 04:37 libX11-xcb.so.1*
-rwxrwxrwx  1 1015 1015    14456 2017-03-21 04:37 libXau.so.6*
-rwxrwxrwx  1 1015 1015   471808 2017-03-23 04:44 libXaw.so.7*
-rwxrwxrwx  1 1015 1015    18512 2017-03-21 04:37 libxcb-dri2.so.0*
-rwxrwxrwx  1 1015 1015    10336 2017-03-21 04:37 libxcb-dri3.so.0*
-rwxrwxrwx  1 1015 1015   100432 2017-03-21 04:37 libxcb-glx.so.0*
-rwxrwxrwx  1 1015 1015    10320 2017-03-21 04:37 libxcb-present.so.0*
-rwxrwxrwx  1 1015 1015    39008 2017-06-15 01:34 libxcb-render.so.0*
-rwxrwxrwx  1 1015 1015    14416 2017-03-22 03:21 libxcb-shape.so.0*
-rwxrwxrwx  1 1015 1015   133584 2017-03-21 04:37 libxcb.so.1*
-rwxrwxrwx  1 1015 1015    26736 2017-03-21 04:37 libxcb-sync.so.1*
-rwxrwxrwx  1 1015 1015    30800 2017-03-21 04:37 libxcb-xfixes.so.0*
-rwxrwxrwx  1 1015 1015    10232 2017-06-15 01:34 libXcomposite.so.1*
-rwxrwxrwx  1 1015 1015    10248 2017-03-21 04:37 libXdamage.so.1*
-rwxrwxrwx  1 1015 1015    22592 2017-03-21 04:37 libXdmcp.so.6*
-rwxrwxrwx  1 1015 1015    73640 2017-03-21 04:37 libXext.so.6*
-rwxrwxrwx  1 1015 1015    22584 2017-03-21 04:37 libXfixes.so.3*
-rwxrwxrwx  1 1015 1015    10376 2017-03-23 04:43 libXinerama.so.1*
-rwxrwxrwx  1 1015 1015   155880 2017-03-21 04:37 libxkbfile.so.1*
-rwxrwxrwx  1 1015 1015   102728 2017-03-23 04:44 libXmu.so.6*
-rwxrwxrwx  1 1015 1015    14448 2017-03-24 00:04 libXmuu.so.1*
-rwxrwxrwx  1 1015 1015    68360 2017-03-23 04:45 libXpm.so.4*
-rwxrwxrwx  1 1015 1015    10264 2017-03-21 04:37 libxshmfence.so.1*
-rwxrwxrwx  1 1015 1015   426320 2017-03-23 04:44 libXt.so.6*
-rwxrwxrwx  1 1015 1015    22784 2017-03-21 04:37 libXxf86vm.so.1*
[~] # ls -la /opt/NVIDIA_GPU_DRV/usr/bin
total 108100
drwxrwxrwx  2 1015 1015     4096 2020-05-25 05:03 ./
drwxrwxrwx 11 1015 1015     4096 2020-05-25 04:50 ../
-rwxrwxrwx  1 1015 1015   138032 2020-05-25 04:41 avcenc*
-rwxrwxrwx  1 1015 1015    50864 2020-05-25 04:48 cvt*
-rwxr-xr-x  1 1015 1015 18441232 2020-05-25 05:03 ffmpeg*
-rwxr-xr-x  1 1015 1015 18326800 2020-05-25 05:03 ffplay*
-rwxr-xr-x  1 1015 1015 18346992 2020-05-25 05:03 ffprobe*
-rwxrwxrwx  1 1015 1015    42904 2020-05-25 04:48 gtf*
-rwxrwxrwx  1 1015 1015   658328 2020-05-25 04:41 h264encode*
-rwxrwxrwx  1 1015 1015   114608 2020-05-25 04:41 jpegenc*
-rwxrwxrwx  1 1015 1015     3759 2020-05-25 04:48 koi8rxterm*
-rwxrwxrwx  1 1015 1015   103304 2020-05-25 04:41 loadjpeg*
-rwxrwxrwx  1 1015 1015   122456 2020-05-25 04:41 mpeg2vaenc*
-rwxrwxrwx  1 1015 1015    72248 2020-05-25 04:41 mpeg2vldemo*
-rwxrwxrwx  1 1015 1015  7430552 2017-09-08 05:56 mpv*
-rwxrwxrwx  1 1015 1015    31256 2020-05-21 23:15 nvidia-bug-report.sh*
-rwxrwxrwx  1 1015 1015    75880 2020-05-21 23:15 nvidia-cuda-mps-control*
-rwxrwxrwx  1 1015 1015    57080 2020-05-21 23:15 nvidia-cuda-mps-server*
-rwxrwxrwx  1 1015 1015   250224 2020-05-21 23:15 nvidia-debugdump*
-rwxrwxrwx  1 1015 1015   351792 2020-05-21 23:15 nvidia-installer*
-rwxrwxrwx  1 1015 1015    33928 2020-04-01 15:38 nvidia-modprobe*
-rwxrwxrwx  1 1015 1015    48096 2020-05-21 23:15 nvidia-persistenced*
-rwxrwxrwx  1 1015 1015   307464 2020-05-21 23:15 nvidia-settings*
-rwxrwxrwx  1 1015 1015   533920 2020-05-21 23:15 nvidia-smi*
lrwxrwxrwx  1 1015 1015       16 2020-11-19 18:25 nvidia-uninstall -> nvidia-installer*
-rwxrwxrwx  1 1015 1015   184888 2020-05-21 23:15 nvidia-xconfig*
-rwxrwxrwx  1 1015 1015   546648 2020-05-25 04:41 putsurface*
-rwxrwxrwx  1 1015 1015   552640 2020-05-25 04:41 putsurface_wayland*
-rwxrwxrwx  1 1015 1015    59392 2020-05-25 04:48 resize*
-rwxrwxrwx  1 1015 1015  4831008 2017-09-13 04:52 smplayer*
-rwxrwxrwx  1 1015 1015     5505 2020-05-25 04:48 startx*
-rwxrwxrwx  1 1015 1015   662592 2020-05-25 04:49 twm*
-rwxrwxrwx  1 1015 1015     3674 2020-05-25 04:48 uxterm*
-rwxrwxrwx  1 1015 1015    61952 2020-05-25 04:41 vainfo*
lrwxrwxrwx  1 1015 1015        4 2020-11-19 18:25 X -> Xorg*
-rwxrwxrwx  1 1015 1015    51168 2020-05-25 04:48 xinit*
-rwxrwxrwx  1 1015 1015   201568 2015-05-06 09:16 xkbcomp*
-rwxrwxrwx  1 1015 1015    14659 2020-05-25 04:49 xkeystone*
-rwxrwxrwx  1 1015 1015  9446872 2020-05-25 04:48 Xnest*
-rwxrwxrwx  1 1015 1015 13889200 2020-05-25 04:48 Xorg*
-rwxrwxrwx  1 1015 1015   228968 2020-05-25 04:49 xrandr*
-rwxrwxrwx  1 1015 1015  2167960 2020-05-25 04:48 xterm*
-rwxrwxrwx  1 1015 1015 12160984 2020-05-25 04:48 Xvfb*
[~] #

I don’t fully understand the meaning of the second block of your text, if you could explain.

It might aid diagnosis by manually forcing the Nvidia GPU with HardwareDevicePath=/dev/dri/renderD129 added to Preferences.xml

edit: This seems to have done the trick, i now see GPU usage when transcoding is occuring. Thank you!

One last question, i’m still fairly new to plex so this might be totally normal, i still see slight CPU usage when the transcoding occurs(GPU jumps to 19% while the buffer is filled and CPU usage raises about 5-10%) is this normal behavior?

If you look in /dev/dri at the shell, you’ll likely see two render files.

/dev/dri/renderD128 is the QSV GPU in your CPU.
/dev/dri/renderD129 will be the Nvidia GPU card.

To demonstrate:

This is from the TS-877 (AMD CPU) which has no hardware transcoding support.
The GTX-1050, with drivers, is presented as:

[~] # ls -la /dev/dri
total 0
drwxr-xr-x  2 admin administrators       80 2020-11-03 07:44 ./
drwxr-xr-x 15 admin administrators    20140 2020-11-03 08:14 ../
crw-------  1 admin administrators 226,   0 2020-11-03 07:44 card0
crw-------  1 admin administrators 226, 128 2020-11-03 07:44 renderD128
[~] # 

If you have both renderD128 and renderD129 then we have verified the card is being seen.

By editing Preferences.xml (you can do this with using the QNAP text editor if you wish through PlexData/Plex Media Server/Preferences.xml (with PMS stopped) , adding HardwareDevicePath="/dev/dri/renderD129" before the closing /> in the file.

What we’re doing is telling the transcoder to specifically look at that device and not the QSV ASIC in your CPU.

2 Likes
ls -la /dev/dri
total 0
drwxr-xr-x  2 admin administrators      120 2020-11-20 23:45 ./
drwxr-xr-x 15 admin administrators    21580 2020-11-21 00:25 ../
crw-------  1 admin administrators 226,   0 2020-11-20 18:39 card0
crw-------  1 admin administrators 226,   1 2020-11-20 23:45 card1
crw-------  1 admin administrators 226, 128 2020-11-20 18:39 renderD128
crw-------  1 admin administrators 226, 129 2020-11-20 23:45 renderD129

Manually forcing seemed to do the trick, i now see GPU usage in transcodes. Thank you!

My last question being, when transcoding it seems the CPU usage goes up 5-10% and the GPU to 19% while filling the buffer, is this normal in that it splits the workload between the two? I’m still fairly new to plex. I’m not bothered if it is, just curious.

The CPU will handle all the packetizing and actual sending of the media.
It will also do the audio conversions as needed.

If you have subtitles, they will be burned by the CPU not the GPU.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.