emg

HW transcoding

38 posts in this topic Last Reply

Recommended Posts

Hello,

 

I have unRaid 6.3.5  I’m trying to get Plex hardware transcoding to work. I followed the instructions from this post  https://forums.lime-technology.com/topic/53388-enabling-i915-for-host/ I edit the ._go file but nothing happened. I tried this command “ls -alh /dev/driI” and I got this “/bin/ls: cannot access '/dev/dri': No such file or directory”. Can somebody please help me?

 

 

Thanks a lot!

 

Edwin

Share this post


Link to post

All I did was add the following to my go file:

 

#enable module for iGPU and perms for the render device
modprobe i915
chown -R nobody:users /dev/dri
chmod -R 777 /dev/dri 

 

Then in my Plex docker (Edit -> Advanced settings -> Extra parameters) added:

 

--device /dev/dri:/dev/dri

 

Then just enable hardware transcoding in Plex.

Share this post


Link to post

Thank you, I did this but it still doesn’t  work. How do you edit your go file?

 

 

Share this post


Link to post

I use Notepad++ from windows to edit my "go" file but since the "go" file is processed for linux line endings before execution you could use ANY text editor even just windows notepad.

Share this post


Link to post

Hi emg,

 

Your hardware doesn't show an embedded graphics chip.  Normally this would be presented as device 00:02.0 in PCI devices, but most Xeon-class server chips do not include one (they are more commonly available on desktop-class chips).

 

All the best,

 

Jon

Share this post


Link to post

Neither your motherboard or CPU have GPU support built in. 

Share this post


Link to post

Ok that explains why it doesn’t work for me thank you everybody for your help.

Edited by emg

Share this post


Link to post

Yes, this only works on Celeron, Pentium, i3, i5 and i7 Socket 115x chips, and E3 Xeons that have a 5 or 6 at the end of their model number (eg E3-1225v3 will work, where an E3-1220v3 doesn't have a GPU so won't work).  I've also read that it's only 7th gen iGPU that works (Skylake or newer), but I'm not convinced. 

Share this post


Link to post

Running x265 (1080p HEVC Bitrate 4000 kbps Bit Depth 10) and x264 (anything i tested) hardware transcodes on a Pentium G4600 (kaby lake) with out issues on unraid and docker. My Qnap with a Intel® Celeron® Processor J1900 hardware transcodes just fine using QSV, what is a baytrail from 2013 processor.

 

Official supported list:

2nd-generation Intel Core (Sandy Bridge, 2011) or newer

Supports Intel Quick Sync Video (Not sure? Look up your processor)
https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/

 

Share this post


Link to post

Reading more about this, Skylake or newer can do 10-bit HEVC, where anything before can only do 8-bit.

Share this post


Link to post
4 hours ago, HellDiverUK said:

Reading more about this, Skylake or newer can do 10-bit HEVC, where anything before can only do 8-bit.

 

Appears for Skylake at least, the ability to do the 10-bit HEVC is dependent on the integrated iGPU. Since Skylake-x does not have a GPU, I am assuming it is not going to offer that capability.

 

I searched pretty hard but could not find it put in that plain English, but that's what I inferred.

Share this post


Link to post

Yes, ALL QuickSync is dependent to the iGPU.  X99, X299 etc don't and won't have QuickSync.  As I said in:

 

Edited by HellDiverUK

Share this post


Link to post

Indeed, the HD530 is WAY faster than a P4600 or the "Intel HD" built in to the Celeron/Pentium SOCs.

 

I haven't tried the HD630 or any of the Iris GPUs.

Share this post


Link to post
1 hour ago, SiNtEnEl said:

There is some difference in iGPU performance with in some Intel series, like the Intel HD 630 and Intel HD P630. But for most apply the processor generation.

What series supports what is easy to read in this list: https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding

 

According to that chart, Skylake shoiuld not be able to transcode 10-bit HEVC.  However, I ran the 10-bit HEVC 400 Mbps Jellyfish test video through my Xeon E3-1245 v5 (Skylake P530 graphics) server yesterday.  Although all processors were pegged at high utilization (87-98%) it did transcode to H.264 in hardware.  It stuttered a bit at the beginning, but, offered a steady stream once it got started.  Lowering the bit rate to 160 Mbps resulted in smooth play but still high CPU utilization.  Streaming to Plex client on my laptop seemed to offer better performance than streaming to Plex client on my Fire TV gen 2.  TV is 1080p and does not support 4K.

 

EDIT: I think this text in the linked Wikipedia article accurately reflects what I observed (hybrid/partial HEVC 10-bit support) since the chart only reflects fixed-function support:

Quote

Version 5 (Skylake)

The Skylake microarchitecture adds a full fixed-function H.265/HEVC main/8-bit encoding and decoding acceleration, hybrid and partial HEVC main10/10-bit decoding acceleration, JPEG encoding acceleration for resolutions up to 16,000×16,000 pixels, and partial VP9 encoding and decoding acceleration.[

 

Edited by Hoopster
  • Like 1

Share this post


Link to post

I would like to see AMD GPUs supported, so I can use an APU.  I have a very nice little AM1 Athlon 5350 that sips power, but is a little under powered for Plex transcoding.  If Plex did AMD hardware transcoding I'd be back to using that in a heartbeat.

Share this post


Link to post

It's possible to do this with an AMD igpu? I have a Ryzen 2400G

 

Does this instructions works as well?

 

On 11/26/2017 at 9:36 PM, HellDiverUK said:

All I did was add the following to my go file:

 


#enable module for iGPU and perms for the render device
modprobe i915
chown -R nobody:users /dev/dri
chmod -R 777 /dev/dri 

 

Then in my Plex docker (Edit -> Advanced settings -> Extra parameters) added:

 


--device /dev/dri:/dev/dri

 

Then just enable hardware transcoding in Plex.

 

Share this post


Link to post
16 minutes ago, L0rdRaiden said:

It's possible to do this with an AMD igpu? I have a Ryzen 2400G

 

Does this instructions works as well?

 

 

 

Well, since i915 is for Intel CPU with built-in gpu, it's not available for an AMD CPU. 

Share this post


Link to post
3 minutes ago, saarg said:

 

Well, since i915 is for Intel CPU with built-in gpu, it's not available for an AMD CPU. 

 

thanks

 

@limetech  Do you plan to support Ryzen IGPUs for docker?

Share this post


Link to post

If AMD's drivers were added to the unRAID kernel, there's no reason why you couldn't just modprobe the AMD driver instead of the i915 one.  Then it would probably work fine.  Only issue is Plex only supports Intel QuickSync at the moment as far as I'm aware.

 

Emby, on the other hand works on AMD and nVidia GPUs, so you should be able to get it to work, though I've never tried hardware transcoding in Emby on unRAID, only on Windows.

Share this post


Link to post
1 hour ago, HellDiverUK said:

If AMD's drivers were added to the unRAID kernel, there's no reason why you couldn't just modprobe the AMD driver instead of the i915 one.  Then it would probably work fine.  Only issue is Plex only supports Intel QuickSync at the moment as far as I'm aware.

 

Emby, on the other hand works on AMD and nVidia GPUs, so you should be able to get it to work, though I've never tried hardware transcoding in Emby on unRAID, only on Windows.

 

So right now it doesn't work for Docker but in a windows VM should work, right?

Share this post


Link to post
On 11/03/2018 at 12:04 AM, L0rdRaiden said:

 

So right now it doesn't work for Docker but in a windows VM should work, right?

 

I would assume so, yes. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Copyright © 2005-2018 Lime Technology, Inc.
unRAID® is a registered trademark of Lime Technology, Inc.