QuTS / QTS - 4.5.2 / 4.5.3 - Nvidia GPU failures

stopping and starting PMS doesn’t resolve the issue. Am I missing something?

Another question: If the GPU usage is showing as 0%, how to you ascertain that GPU is being used for transcoding? I see CPU usage going up while playing videos with transcoding, GPU usage stays at 0. In the PMS dashboard, for the video being played,
HW transcoding shows but what it doesn’t show is whether it is the CPU or the GPU that is being used.

How do you make out that GPU is being used??

On QTS 4.5.3, i attempted to downgrade the Nvidia Driver from 5.0.2 to 4.0.2 and noticed the same thing bhupinderpal. The cards memory was being used but transcoding was still occurring locally on the qnap. Basically until 5.0.2 is patched properly or if the team at plex manage to find a workaround for the bug. we are out of luck for now. Short of downgrading QTS to a earlier version. which given the security issues that are present in the firmware, i wouldn’t recommend.

I’ll keep an eye out for both sides to see how things progress. but i may end up needing to build a dedicated rig just for plex based off windows if this continues.

If I may add here?

  1. I rewrote the startup scripting to work with older version up through 4.5.2 and the new format used in 4.5.3.
  2. Concurrent with this support change, I was able to properly integrate support for installing on QuTS Hero.

The “workaround” for those still afflicted seems to be:

  1. Downgrade to 4.5.2,
  2. Install 4.0.2 drivers
  3. Upgrade to 4.5.3
  4. Keep the 4.0.2 drivers

This does vary on a case by case basis and completely dependent on the card used.

The values displayed in the QTS control panel are QNAP’s to resolve.

1 Like

Repeat: 4.5.3 doesn’t allow 4.0.2. 4.5.3 forces you to upgrade to 5.0.2. 4.5.3 with 5.0.2 detects the GPU.

I ran 4.5.2 with 4.0.2 - detects GPU correctly but whether GPU is being used for transcoding is not clear - GPU usage shows nothing. Ditto with 4.5.3 with 5.0.2 - GPU gets detected correctly but GPU usage stays at zero.

I have been talking to QNAP support - they consider the issue resolved with Graphics card being detected correctly. I am going to run native QNAP applications (video station etc.) to see if transcoding shows up in GPU usage. If it does, PMS may need some tweak. If it doesn’t then it clearly is QNAP issue. IMHO.

@bhupinderpal

Which GPU ?

In spite of what QTS shows, we have confirmed multiple ways the GT-1050 and above card are 100% functional.

I’ve already contacted the QNAP Engineering folks to get this resolved.
I’ve also mentioned to them the support teams area issuing conflicting information.

Per your question about how to see what’s happening:

  1. Make certain DEBUG logging is enabled.
  2. Confirm HW transcoding is enabled in Settings - Server - Transcoder - Show Advanced.
  3. Start Playback, without subtitles, which forces transcode.
  4. Let play 20 seconds
  5. Stop
  6. Download the logs ZIP
  7. Edit “Plex Media Server.log”
  8. Look for FFMPEG near the bottom of the file.
  9. You will see: nvdec and nvenc when the GPU is being used.

I will review your logs if you wish

It is 1050ti.

Noted the steps you have mentioned. I asked the QNAP support the same question. They have promised to come back on that. But they have been reiterating that Nvidia card detection issue under 4.5.3 got resolved with 5.0.2.

I can also confirm:

  1. GT-1050 cards
  2. QTS 4.5.3
  3. NVIDIA_GPU_DRV 5.0.2

Works with PMS 1.23.0.4497 (current Plex Pass)

If you are not getting HW enabling, please gather the logs as I detail above and I will review.

@Chuckpa, thanks. If the CPU is being used for transcoding, what are the entries we get in logs?

You missed my reply.

@ChuckPa thanks. My last query is different. If transcoding is happening using CPU and not the GPU, what entries show up in logs?

I understand ‘nvdec’ & ‘nvenc’ refer to transcoding using Nvidia GPU.

Thanks.

If you are transcoding with the CPU, you will see only the transcoder invocation line.

There will be no supplemental reference to hardware.

Ok, thanks.

update on this. Tried native QNAP apps - transcoding with GPU doesn’t show up in GPU usage at all.

@bhupinderpal

what do the Plex logs show?

I do not see ‘nvenc’ & ‘nvdec’ anywhere. What I see is this:

May 13, 2021 13:03:30.054 [0x7f0fbfca3b38] DEBUG - [Transcode] [Universal] Using local file path instead of URL: /share/Movies/Hindi/Bang Bang (2014) 720p DVDSCR Rip X.264 DTS 5.1 E.Sub TeamTNT.mkv
May 13, 2021 13:03:30.054 [0x7f0fbfca3b38] DEBUG - [Transcode] Codecs: hardware transcoding: testing API vaapi
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x41524742 → bgra.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x42475241 → argb.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x41424752 → rgba.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x52474241 → abgr.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x58524742 → bgr0.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x42475258 → 0rgb.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x58424752 → rgb0.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x52474258 → 0bgr.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30335241 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30334241 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30335258 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30334258 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x36314752 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x50424752 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x50524742 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x56555941 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30303859 → gray.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x3231564e → nv12.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x3132564e → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x32595559 → yuyv422.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x59565955 → uyvy422.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x32315659 → yuv420p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30323449 → yuv420p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x50313134 → yuv411p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x48323234 → yuv422p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x56323234 → yuv440p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x50343434 → yuv444p.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x33434d49 → unknown.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Format 0x30313050 → p010le.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Created surface 0.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] [FFMPEG] - Direct mapping possible.
May 13, 2021 13:03:30.055 [0x7f0fbfca3b38] DEBUG - [Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi

There are no subtitles in this file.

I have other jobs running on the NAS, therefore there are a lot of other entries in the logs. I thought this is relevant to our discussion here. I can share entire log file if that helps.

Thanks.

Am I doing something wrong here?

@bhupinderpal

You’re not doing anything wrong.

I had forgotten which CPU is in that NAS. It’s an i5-8500 CPU which means it’s fully UHD HW transcoding capable all by itself.

The reason you’re not seeing the Nvidia engage is because PMS is finding the CPU’s UHD630 first.

To switch from using the CPU’s UHD630 to using the Nvidia, which is no net gain unless you have other VMs / containers using the CPU’s UHD630, requires only 1 thing.

In “Preferences.xml”, you add HardwareDevicePath="/dev/dri/renderD129" before the closing /> , save the file, then restart PMS.

It will look like this when done:

SomeOtherPref="Value" HardwareDevicePath="/dev/dri/renderD129" />

1 Like

Thanks, that helps.

I will remove the 1050ti if that is not adding any value. Might as well use that PCI slot for something else.

Thanks again.

You’re very welcome.

I’m sorry for overlooking the CPU spec.

You could add a 10 GbE card to it :wink: