Plex not transcoding using my GPU - Linux

I am positive. The biggest reason is your dGPU can decode but not encode. The secondary reason is Geforce series are limited to 2 streams

Did your performance issue with 4K HDR tonemapping begin recently? Have you tried reverting back to running PMS v1.24.5?

Based on this: Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer It seems my dGPU can encode and decode H.264 in terms of 4k.

With that said, I should still be able to use my dGPU when I run h.264 videos, but it’s not, so this is still an issue regardless of whether my iGPU does it better, no?

And it’s not recent, ever since I join Plex pass to use the feature it never worked. I only decided to make a post about it yesterday.

That table does not show either the GTX or non GTX 940MX support decode or encode of HEVC H.265 codec

Yes, I do not support HEVC, but I support H.264 but my dGPU is still not transcoding it, which should do a better job than my iGPU.

  • Chip GM108: GTX 940MX
  • Chip GM107: 940MX (MINE)

Encoding: screenshot-developer.nvidia.com-2022.01.26-12_11_52 - Nimbus Capture
Decoding: screenshot-developer.nvidia.com-2022.01.26-12_11_52 - Nimbus Capture

I cannot decode or encode HEVC. So that means my H.264 media should still be able to transcode on Plex via dGPU, yes?

Isn’t the context of this all to conduct the transcoding of 4K HDR HEVC to lower resolution SDR?

The 940MX may transcode H.264 to H.264 subjectively better than a Kaby Lake iGPU but you will be limited to just 2 streams concurrently.

Yes, this was the context. And we have semi-answered the query now that I know I do not support HEVC. The main query, however, is my dGPU is never used for transcoding, so this means, I should be able to transcode lower resolutions to H.264 via dGPU but still does not work.

I want to avoid using my iGPU at all times. And I do not mind the limit on streams at all. I am wearing out my CPU and my dGPU is just here doing absolutely nothing, hence why I want to use it.

Not really sure why PMS doesn’t see the 940MX as a HW decode/encode accelerator on your system.

I played a 1080p H.264 video now and this is console errors I see: New page - Nimbus Note

EDIT @Achilles :

Hmmm I double-checked my video file and made sure it was H.264 it seemed to have worked:

Jan 26, 2022 12:58:35.416 [0x7f942a038b38] DEBUG - [Transcode/362E1909-7B5F-4E72-AA4D-88848BF1F57B] TPU: hardware transcoding: final decoder: nvdec, final encoder: 
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: using hardware decode accelerator nvdec
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: zero-copy support not present
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: final decoder: nvdec, final encoder: 

But my CPU is still sitting at 100% any ideas why?

Update:

It turns out the dGPU I have is the 108 model and not the 107 model, meaning my Nvidia dGPU supports ZERO transcoding, so it can neither encode nor decode.

This, therefore, means my CPU, the i7-7500U is the only hardware that can transcode, and it seems to support both H.265 and H.264 - Sadly, however, it bottlenecks, because well its trash.

So ultimately, this makes this post obsolete and means I need to upgrade - LOL.

Based on this, is there any benefit to continuing paying for Plex Pass?

@Graniez

Logs please which show the start of the playback and this “bottleneck” ?

The KabyLake GPU can handle up to 6 concurrent HW transcodes.

Your Nvidia dGPU supports decoding but not encoding therefore you can not have zero-copy support. This is because the decoded video has to be moved from the GPU RAM to main system RAM for the CPU to encode.

The Kaby Lake iGPU is not trash. It is capable of handling many streams. There is a problem somewhere in your scenario.

@Graniez

Please read here. This is the official Nvidia Encode and Decode matrix which Plex supports.

Regarding the i7-7xxx, I have 3 of them all working flawlessly.

@ChuckPa and @Achilles the link provided shows that my Nvidi GPU, the GeForce 940 MX, GM108 chip, shows “No” for everything in both encoding and decoding. Therefore it seems I have zero transcoding support for my Nvidia card.

Then, as for my i7-7500U, I see that it supports both h.265 and h.264 transcoding, so theoretically it must do this without any issue. Sadly, however, that’s not the case.

In my scenario, I’ll play a 4K HDR HEVC video via Apple TV, when I set the quality to “Original” then my stream is FLAWLESS, but this is because its “direct play”, therefore, no transcoding needed. If I change the quality to 4k (High) - transcoding happens via i7-7xx and it buffers massively. Plex on AppleTV shows an error message “your server is not powerful enough” - so this is where I don’t under why you guys are saying my CPU is good enough but this happens. Keep in mind, this is all on local network.

Are there subtitles enabled?

Disabled, I even made sure of it. And audio was in the Acc3 format (sorry typing it wrong forgot the correct abv)

Jan 26, 2022 12:58:35.416 [0x7f942a038b38] DEBUG - [Transcode/362E1909-7B5F-4E72-AA4D-88848BF1F57B] TPU: hardware transcoding: final decoder: nvdec, final encoder: 
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: using hardware decode accelerator nvdec
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: zero-copy support not present
Jan 26, 2022 12:59:05.357 [0x7f9428e74b38] DEBUG - [Transcode/396FEE93-3FA3-4B9B-9DEA-61195C69074E] TPU: hardware transcoding: final decoder: nvdec, final encoder:

Your logs confirmed decode support but no encode support—hence no zero-copy support.

I’m going to make a short video and link it here shortly to show you what I mean.

May I have the PMS Server logs ???

I need the logs which capture this playback ^^ (Attach ZIP here please)

Also,

dpkg -l | grep -i opencl
dpkg -l | grep -i beignet

Show the console output of these two