Help with Plex hardware transcoding


90 posts in this topic Last Reply

Recommended Posts

5 hours ago, Hoopster said:


Any Intel 9xxx CPU/iGPU is unsupported until at least Linux kernel 4.20 with updated i915 drivers. Latest version of unRAID still uses kernel 4.19.

Ok, thank you! 
 

Is it likely that this will happen soon? Or do I need to wait a few months or even longer?

 

I thinking about sending my 9500 back and buying a 8700, because Hardware Acceleration in plex is a big deal for me. 

Link to post
  • Replies 89
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

To enable hardware transcoding in Plex, do the following:   This goes in the Extra Parameters in the Plex Docker config (you have to enable Adva

Also, please note that on the "--device /dev/dri:/dev/dri" line that goes in Extra Parameters, there are two dashes in front of the word "device" and not just one. It is easy to see that as just one d

Well, you don't have renderD128 and that is the problem.  That is the QSV driver needed for hardware transcoding in Plex.   So, no other graphics card in your server and "onboard (or whateve

Posted Images


Is it likely that this will happen soon?


‘Soon’ is an undetermined time span with Limetech, but, yes, unRAID 6.8 RC should be coming ‘soon’ and it may jump up to the 5.x Linux kernel. At a minimum it should be based on 4.20 or higher.



Sent from my iPhone using Tapatalk
Link to post
  • 1 month later...

I'm not technical enough in this area, but does this help us with Nvidia GPU transcoding in UnRAID:

Quote

Plex Media Server 1.17.0.1709 is available in the Beta update channel

NEW:

(Transcoder) Update to current upstream ffmpeg

(Transcoder) Support for hardware transcoding on Linux with Intel 9th-gen processors

(Transcoder) Support for VC-1 hardware decoding on supported platforms

(Transcoder) Support for hardware decoding on Linux with Nvidia GPUs

(Transcoder) Support for zero-copy hardware transcoding on Linux with Nvidia GPUs

(Transcoder) Support for zero-copy hardware transcoding of interlaced media

 

I'm running an older FX AMD processor and would love to just add a GPU to get more simultaneous transcoding streams without upgrading my CPU, MB and RAM.

Link to post
On 5/19/2019 at 3:27 PM, semmtex said:

Having problems with Hardware transcoding on Unraid 6.7.0 and running Binhex Docker Build 1.15.6.1079

It used to work perfectly, however whenever I activate Hardware Transcoding now and transcode a stream I get the following errors:

 

In the Plex Docker Log:

failed to open /data/jenkins/conan_build/290002784/conan/.conan/data/libva/2.1.0-40/plex/stable/package/81a2df5e16044d97d1b088b0e6c9598b5b17f233/lib/dri/hybrid_drv_video.so

Failed to wrapper hybrid_drv_video.so

 

In the Unraid Log:

kernel: [drm] GPU HANG: ecode 8:6:0xacdfbffd, in Plex Transcoder [26671], reason: hang on vecs0, action: reset

kernel: i915 0000:00:02.0: Resetting vecs0 for hang on vecs0

 

The stream itself will say that it's using HW transcoding, but it never starts, just keeps on buffering according to Tautulli and sometimes crashes the docker and even unraid itself.

 

Help is greatly appreciated!

 

Update: 

 

The newest Plex version 1.18.0.1846 finally seems to fix this issue. I still get the following error in the Plex Docker log:

failed to open /data/jenkins/conan_build/290854758/conan/.conan/data/libva/2.4.0-1/plex/stable/package/9e07aef203e7a776d49230f7e190457a5658b628/lib/dri/hybrid_drv_video.so

But all the streams finally start as they should and either use HW transcoding or fall back to SW transcoding for the streams my iGPU doesn't support.

Link to post
  • 4 months later...
On 3/8/2018 at 7:22 AM, Hoopster said:
To enable hardware transcoding in Plex, do the following:

 

This goes in the Extra Parameters in the Plex Docker config (you have to enable Advanced View on the docker edit page to see this). Note: this is for the linuxserver.io Plex docker (others Plex dockers may be different):

 

image.png.d719e3f2ba0300e500fcb3af7d3f5bb2.png

 

Also, you need some entries in your go file like this (after entering these commands in the CLI):


#Setup drivers for hardware transcoding in Plex
modprobe i915
chmod -R 777 /dev/dri

And in your Plex server Transcoder Settings page you need to enable hardware acceleration

 

image.thumb.png.9987e8e84bb16ff32bd8afd5f6d8ae3c.png

 

 

What go  file? :) Is CPU use or GPU use on this?

Link to post
7 hours ago, knutarn said:
What go  file?  Is CPU use or GPU use on this?


The ‘go’ file is in the config folder on the unRAID USB flash drive.

That’s where "permanent" user modifications to the boot process are stored.

 

The 'go' file is just a text file and can be edited with any text editor such as Notepad.


Sent from my iPhone using Tapatalk

 

Edited by Hoopster
Link to post
  • 2 months later...
  • 2 months later...

So, total noob here, never even setup unraid before... I need to verify hw encoding works with my 2600x/p2000 server before making the transition over to unraid. Judging by this thread it does, but seems hit or miss. Anything I can test before hand somehow? Thanks.

Link to post
26 minutes ago, Verme said:

I need to verify hw encoding works with my 2600x/p2000 server before making the transition over to unraid

The instructions in this thread have to do with getting transcoding working with the iGPU in certain Intel CPUs.  You don't have that hardware.

 

Since you are using a Ryzen CPU and P2000 discrete Nvidia CPU you will need to use the unRAID Nvidia special unRAID build and plugin as documented in this thread:

 

 

The P2000 is one of the preferred Nvidia GPUs for transcoding purposes with the build and plugin mentioned above.

Link to post
  • 2 months later...

OK, this thread needs some corrective input...

 

The default ownership of /dev/dri/renderD128 is root:render, with a ug=rw permission.

The Linuxserver.io Plex-container supports running as a specific user/group. Use that functionality!
Add the user you run the container as to the render group.

 

There is absolutely no need to change ownership or permissions on a system-device.

 

Also worth noting: Using an nVidia consumer GPU to transcode imposes an artificial limitation of a maximum of two concurrent transcodes. This is hardcoded into the nVidia driver. Intel QuickSync has no such limitations.

nVidia Quadro cards can do more parallel streams, use this list as a guide: https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding

Edited by Fudd79
Added info about nVidia limitations.
Link to post
  • 5 months later...
On 9/11/2020 at 10:56 AM, Fudd79 said:

OK, this thread needs some corrective input...

 

The default ownership of /dev/dri/renderD128 is root:render, with a ug=rw permission.

The Linuxserver.io Plex-container supports running as a specific user/group. Use that functionality!
Add the user you run the container as to the render group.

 

There is absolutely no need to change ownership or permissions on a system-device.

 

Also worth noting: Using an nVidia consumer GPU to transcode imposes an artificial limitation of a maximum of two concurrent transcodes. This is hardcoded into the nVidia driver. Intel QuickSync has no such limitations.

nVidia Quadro cards can do more parallel streams, use this list as a guide: https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding

Heya Fudd,

 

as the linuxserver.io plex-container does not use any gpu (2 gpus in system) I'm looking for everything that might hint at what could help. This is the first time I read about running containers as specific users. As I understand unraid has "just" the user root, and thats it. Could you elaborate or point to a source for more information on this?

Thanks a lot,

V
 

Edit: all 'easy' things have been checked, I stubbed my nvidia-gpu vor VM use and want plex to use the igpu (i7-4xxx processor) as it did before I used a plugin to install nvidia drivers. now the plugin is depreciated and I can't change back. yes, modprobe i915 is in my go file...

/dev/dri# ls
by-path/  card0  card1  renderD128  renderD129

Edited by ViproXX
Link to post
  • 5 weeks later...

Has anyone got i9-9900 to HW transcode in plex as of recent? April 2021?

 

It works fine with i7-8700t i swap the cpu for i9-9900 and it wont start transcoding 4k video.

 

the drivers load fine and are seen inside the docker container when i run cd /dev/dri from the container console. 
 

unraid 6.9.1 i tried linuxserver and plexinc containers.

 

i do have the  ‘- -device parameter added.

i do have the igpu enabled in bios.

i dont have any other dedicate gpu.

i habe installed the intell drive plugin

i did add line to sysconfig

 

its a gigabyte c246m motherboard.

 

i have confirmed both transcode boxes are checked inside plex settings with the hdr option on and off.

 

still no luck....

 

some videos eventually atart transcoding and playing but woth hogh cpu usage and i dont see the hw indicator next to the stream in plex dashboard.

 

 

Link to post
2 hours ago, alfredo_2020 said:

Has anyone got i9-9900 to HW transcode in plex as of recent?

I have a Xeon E-2288G which is the Xeon equivalent of the i9-9900K and HW transcoding works great.  However, I am not transcoding any 4K content.

 

You should make sure your Plex docker container is up to date.  There were some recent Plex releases that messed up 4K/HDR transcoding.  The very latest versions just released a couple of days ago on both the public and Plex Pass channels seem to have fixed it.

 

EDIT:  I guess results vary.  For some it works, for other there are still issues.  Start reading here.

 

And see this Plex forum thread.

https://forums.plex.tv/t/4k-hdr-hevc-hw-transcoding-is-broken-on-1-22-1-4200/702328

 

Bottom line is it is a Plex issue.

Edited by Hoopster
Link to post

Has anyone had success with 10th gen Intel iGPUs? I haven't been able to get this to work on a 10400 or a 10850K with an MSI Z-490-A Pro motherboard, I've edited my go file, I have renderD128 in dev/dri, I've added the extra parameters, it just doesn't seem to ever use it.

Link to post
4 minutes ago, alancostello said:

Has anyone had success with 10th gen Intel iGPUs? I haven't been able to get this to work on a 10400 or a 10850K with an MSI Z-490-A Pro motherboard, I've edited my go file, I have renderD128 in dev/dri, I've added the extra parameters, it just doesn't seem to ever use it.

Turn off HDR tone mapping or HDR content will not hardware transcode. If you want to get it to work, there is also a driver fix/script out there you can run but it’ll undo itself every time Plex updates. I can’t remember where I got the script but search for it and you should probably find it.

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.