New PlexServer releases no NVIDIA GPU encoding on QNAP

I point out that on QNAP from the next version PlexServer 1.20.1.3252 no longer transcoding works.
Apparently the new nvidia drivers 450,66 are needed and it seems that qnap will not release them for now since the update to the 440.82 drivers with the FW QTS 4.5.1 has just been released

Wonder why the plex developers changed this feature without waiting for QNAP to release the phantom 450,66?

Now I am forced to stay at the PLEX SERVER version 1.20.1.3252.

Who is in my situation?

If I may clarify here.

  1. Engineering realized they needed to update the drivers for work they are currently doing.

  2. The Nvidia version which satisfied that need was 450.66.

  3. Exact Nvidia driver version 450.66 is not the requirement. Nvidia protocol version 10 or higher is the requirement. Any version which supports protocol 10 or higher will work.

  4. QTS 4.5.1 is completely independent of the Nvidia driver package version.

  5. NVIDIA_GPU_DRV package, which is loaded in App Center, is what’s needed.

  6. The current VIDIA drivers version is 455.23.04. This will satisfy the requirement.

  7. QNAP repackages the published Nvidia drivers and re-releases as their NVIDIA_GPU_DRV package.

  8. As soon as Engineering knew the update was needed, I reached out to notify QNAP. Their management confirmed they would update.

  9. We have a good working relationship with the QNAP teams and their PMs.

Anyone who understands Linux on QNAP and sees how the Nvidia drivers are installed can manually replace the existing Nvidia Driver PKG with an updated version.

Lastly, none of Plex’s vendors wait for us to be ready when they release an update.

Thanks Chuck, I didn’t want to criticize. If anything, the criticism goes to the guys at Qnap who update the Nvidia Gpu Driver pack very rarely. unfortunately I don’t know Linux so well that I can work on the drivers also because if I had known I would also go to make the small mod. to have unlimited simultaneous transcoding … In the meantime, thanks for the clarification, now we just have to wait.

I sensed your frustration, plus the silent frustration of many others who don’t respond, so decided to share everything and how the whole process works behind the scenes and educate as best I can to where the applications and their boundaries are.

Updating the linux drivers is not as difficult as the base install.

If you understand how to unpack the QPKG or the raw Nvidia tar file, it becomes a trivial task of moving files around and restarting with the updated Nvidia drivers.

That’s the problem, I’m a wizard with windows or macOS but with linux I’m really clumsy.

I downloaded the latest nvidia .tar driver version but I’m standing there.

thanks, I have the same issue with a transcoder error

“NVIDIA_GPU_DRV package, which is loaded in App Center, is what’s needed.”-

https://www.qnap.com/en/app_releasenotes/list.php?app_choose=NVIDIA_GPU_DRV - this shows driver version 440.82 not 455.23.04…

I have updated to the latest 4.01 NVIDIA_GPU_DRV, still face transcoder error with the latest version of plex media server. Also tried reverting to an old version (1.20.1.3252) of plex media server and have the same problem… Is there an easy, temporary fix until QNAP release the newer, needed drivers?

@Peelex

May I see your DEBUG (not VERBOSE) logs ZIP?

Downgrading (installing older on top of newer) is one solution but the movie scanner may not downgrade well – or at all. I’ve never tried it.

If you understand how the Nvidia tar ball is structured, you can manually upgrade the Nvidia drivers yourself in /opt.

Plex Media Server Logs_2020-10-24_08-14-08.zip (2.6 MB)

These logs are from the server version 1.20.1.3252 - let me know if you want logs from the latest plex server version.

I can navigate to the NVIDIA drivers section in /opt but so far not yet clear how to replace manually or which latest linux drivers to install - long lived Nvidia driver for Linux 64bit - 450.80.02?https://forums.developer.nvidia.com/t/linux-solaris-and-freebsd-driver-450-80-02-long-lived-branch-release/155986.

@Peelex

Thank you for the logs.

  1. Your system (i7-6700 SkyLake CPU)
  2. There is no evidence the Nvidia is being seen
  3. Is the card in “QTS” mode (Control Panel - Hardware - Graphics) ?
  4. Open a ssh session to the QNAP.
    a. type: gpuhal_app -l
    b. It will respond with a device ID code if the card is detected
    c. type gpuhal_app -s <ID>
    d. This will return the information about the card. (drivers installed and mode)

For additional information: open plex.sh (the start script itself)

Line 44 starts the GPU search and selection
Line 48 gets a list of installed Nvidia card(s)
Line 56 starts the loop to find the first-viable NVIDIA gpu card
Line 69 is where the status is obtained
Line 72 validates drivers are installed
Line 75 validates the card is in QTS mode
Lines 81-88 adds the card’s drivers for PMS to use.
Line 91 is the loop exit flag because a valid GPU has been found.

Check your system please.
Your system logs will contain a message of the form: “NVIDIA GPU detected but the drivers are not installed. …” if the card is seen but not usable.

Oct 24, 2020 08:13:54.849 [0x7f48f0de2700] DEBUG - [FFMPEG] - Created surface 0.
Oct 24, 2020 08:13:54.849 [0x7f48f0de2700] DEBUG - [FFMPEG] - Direct mapping possible.
Oct 24, 2020 08:13:54.849 [0x7f48f0de2700] DEBUG - TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
Oct 24, 2020 08:13:54.849 [0x7f48f0de2700] DEBUG - Job running: EAE_ROOT='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/tmp/pms-bd6ab579-f4e6-4a8d-a77e-860dc507aa97/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server/Codecs/96550d8-3281-linux-x86_64/' XDG_CACHE_HOME='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex Media Server/Cache' XDG_DATA_HOME='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Plex Transcoder' '-codec:0' 'h264' '-hwaccel:0' 'vaapi' '-hwaccel_fallback_threshold:0' '10' '-hwaccel_output_format:0' 'vaapi' '-codec:1' 'eac3_eae' '-eae_prefix:1' 'zyonbwd6qszeyrfrdvkc8b8w_' '-ss' '4072' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/share/CACHEDEV2_DATA/Video/Film/Borat Subsequent Moviefilm (2020)/Borat Subsequent Moviefilm (2020).mkv' '-filter_complex' '[0:0]hwupload[0];[0]scale_vaapi=w=1280:h=720:format=nv12[1];[1]hwupload[2]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''5.1'\'':rematrix_maxval=0.000000dB:osr=48000[3]' '-map' '[2]' '-codec:0' 'h264_vaapi' '-b:0' '2562k' '-maxrate:0' '3416k' '-bufsize:0' '6832k' '-r:0' '23.975999999999999' '-map' '[3]' '-metadata:s:1' 'language=eng' '-codec:1' 'libopus' '-b:1' '336k' '-map' '0:21' '-metadata:s:2' 'language=eng' '-codec:2' 'copy' '-map' '0:t?' '-codec:t' 'copy' '-f' 'segment' '-segment_format' 'matroska' '-segment_format_options' 'live=1' '-segment_time' '1' '-segment_header_filename' 'header' '-segment_start_number' '0' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/zyonbwd6qszeyrfrdvkc8b8w/c6e6e6bd-e9a0-4562-ba97-202bbaed026a/seglist?X-Plex-Http-Pipeline=infinite' '-segment_list_type' 'csv' '-segment_list_unfinished' '1' '-segment_list_size' '5' '-segment_list_separate_stream_times' '1' '-avoid_negative_ts' 'disabled' '-map_metadata:g' '-1' '-map_metadata:c' '-1' '-map_chapters' '-1' 'chunk-%05d' '-start_at_zero' '-copyts' '-y' '-init_hw_device' 'vaapi=vaapi:' '-hwaccel_device' 'vaapi' '-filter_hw_device' 'vaapi' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/zyonbwd6qszeyrfrdvkc8b8w/c6e6e6bd-e9a0-4562-ba97-202bbaed026a/progress'

Appreciate all your help here @ChuckPa

Yes

[~] # gpuhal_app -l
0:Intel Corporation:HD Graphics 530:internal:2
1:NVIDIA Corporation:GP106 [GeForce GTX 1060 6GB]: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

I did start plex.sh but did not see the logs you describe, should they appear in the console / SSH session?

I have tested 3 files - one using x265 codec that causes a transcoder error, one x264 codec and one x265 codec file that appears to work, although cannot confirm if GPU is being used or not - maybe this helps with debuggingPlex Media Server Logs_2020-10-25_08-14-28.zip (2.3 MB)

I just got my new GPU (1050Ti Single Slot from Inno3D) for the qnap TS-873 today, installed drivers via App Center (4.01), then added the card. It detects, installed the kernel driver for my QNAP OS version (latest as of two days ago). I then put the card in QTS mode and rebooted.

After the reboot, plex used the card for hw transcoding w/o issue on version 1.20.3.3483

Since it is working for me, has something changed during the last few days or is there anything I can do to help others figure out what is different in my setup?

Please check:

  1. Release date for the drivers you just installed.
  2. Compare the gpuhal_app outputs from the two systems.

If they did release new drivers two days ago, I would hope it’s as simple as updating the other system and restarting

yes i know it seems to work, but only decoding works and not encoding ..
I haven’t been able to install the drivers manually. qnap still sleeps.

I am attaching a screen to make you understand what I mean that works in both decoding and encoding, do you see the item (hw) in all 2 places?

The video entry is telling us Video hardware decode —> Video hardware encode
This is how it should work.

Are you using subtitles? Subtitles cannot use the GPU and must use the CPU for burning. This will load up the CPU.

Audio is always CPU

It does not work this way for me at the moment with TS-873 and a 1050Ti. only video decode (first line) shows “(hw)”. second line (encode) does NOT. I was mistaken in thinking it worked as intended/expected.

@stiVal

Please recreate, capture, and attach the logs.

I need to see what’s happening

everything works for me up to Plex server version 1.20.1.3252.

@ilboss

That is correct if you’re still using the older QNAP drivers.
The next PMS version, because of the transcoder bump which is included, needed the newer Nvidia drivers.

Thanks! See attached log file (I don’t know how to clean it up, so you don’t have to go through so much, VERBOSE was turned on before the test)

Screenshot plex transcode Plex Media Server Logs_2020-10-28_07-52-12.zip (3.4 MB)

@ChuckPa did my logs above help with the diagnosis?

If you let me know how to get the logs from starting plex.sh I can provide those.

@ilboss 1.20.1.3252 does not seem to work for me after rolling back to this - do you mean versions prior to this are working for you (HW decode and encode) ?