***GUIDE*** Plex Hardware Acceleration using Intel Quick Sync


Recommended Posts

On 3/15/2021 at 12:20 PM, craigr said:

This guide by lotetreemedia has been very helpful for me, but starting with unRAID 6.9.x the steps that are unraid specific should be done differently because unRAID has implemented GPU drivers.  Everything lotetreemedia says to do in PLEX is still valid, but activating the driver is different.  If you have lines in your "go" file you should remove them and change unRAID as follows:

 

https://wiki.unraid.net/Unraid_OS_6.9.0#GPU_Driver_Integration

 

 

After completing lotetreemedia 's steps in the PLEX docker, all I had to do to get QuickSync working with 6.9.1 was remove the lines from my "go" file and create a file in \flash\config\modprobe.d\i915.conf.  The i915.conf file is just empty.

 

craigr

So I removed the lines from my go file.  How did you go about creating the empty file?  I am a complete noob so I am struggling here.

Link to comment
35 minutes ago, SimonF said:

 Just run touch \flash\config\modprobe.d\i915.conf in a terminal

 

Thanks, didnt work for me still.  I am actually trying with emby not Plex.  But I also cant get emby working with nvidia either...using settings from tdarr that work and trying my plex docker settings.  running 6.9.2 so not sure whats going on.  Plex works with nvidia currently.

Link to comment
12 minutes ago, sittingmongoose said:

Thanks, didnt work for me still.  I am actually trying with emby not Plex.  But I also cant get emby working with nvidia either...using settings from tdarr that work and trying my plex docker settings.  running 6.9.2 so not sure whats going on.  Plex works with nvidia currently.

 

Sorry cut from the prev post, should be touch /boot/config/modprobe.d/i915.conf This will cause the module to be loaded at boot.

 

You can run modprobe i915 to load.

Link to comment
6 minutes ago, sittingmongoose said:

I thought you shouldnt use modprobe if you are on 6.9.2?

It will be done automatically once you create the file when the system boots.

 

But you can run it so you dont need to reboot this time. The file just over writes the one in the image that has a blacklist command to stop it running. But that only happens at boot.

Edited by SimonF
Link to comment
10 minutes ago, SimonF said:

It will be done automatically once you create the file when the system boots.

 

But you can run it so you dont need to reboot this time. The file just over writes the one in the image that has a blacklist command to stop it running. But that only happens at boot.

Hmmm still didnt work...weird.  Something is funky, nvidia isnt showing up either and that works perfectly in plex and tdarr.  Odd.

Link to comment

Hey guys. With this thread I've had hw transcode working great on my intel i3 10100. Recently I stupidly upgraded unraid from 6.9.0 to 6.9.1 (those upgrade banners will get ya) and noticed HW transcode stopped working. I came back to this thread and thanks to @craigr and @simonf for pointing out the fix.

 

So I removed the 2 lines from my go file:

modprobe i915 gpu

chmod -R 777 /dev/dri

 

ran the touch command:

 touch \flash\config\modprobe.d\i915.conf

 

And rebooted my server. Unfortunately it still isn't working. So I shutdown the server and checked that the USB drive actually has the empty file "\config\modprobe.d\i915.conf", which it surely did!

 

Booted server back up, tested a stream and still no hw transcode :(

 

I've double checked the plex setting "Use hardware acceleration when available" is enabled

and my plex container I have device "/dev/dri" (still same from original that worked pre 6.9.1).

 

What else could cause this to not work?

Edited by TopherHax
Link to comment
Quote

In 6.9.0, if the docker you are using is unable to access the GPU, add/keep this line to your go script:

 

chmod -R 777 /dev/dri


All the info is in the documentation.  There is also plenty on runnin the Nvidia drivers.

 

https://wiki.unraid.net/Unraid_OS_6.9.0#GPU_Driver_Integration

 

See what happens if you leave “chmod -R 777 /dev/dri” in your go file.  Mine didn’t need it, but some may.

 

craigr

Link to comment
1 hour ago, craigr said:


All the info is in the documentation.  There is also plenty on runnin the Nvidia drivers.

 

https://wiki.unraid.net/Unraid_OS_6.9.0#GPU_Driver_Integration

 

See what happens if you leave “chmod -R 777 /dev/dri” in your go file.  Mine didn’t need it, but some may.

 

craigr

So I tried that, rebooted, confirmed it "stuck" but no change.

 

I wonder if something in PMS has become corrupt?

 

Here's my go file:

 

  GNU nano 5.3                                          /boot/config/go                                                     
#!/bin/bash
# Start the Management Utility
/usr/local/sbin/emhttp &
chmod -R 777 /dev/dri

 

 

Link to comment
31 minutes ago, TopherHax said:

I installed the "intel-gpu-tools" docker app and ran it to see if I could spot any activity.

 

I noticed that when I started a stream that should be a HW transcode, the first second or two showed light activity, then immediately back to 0%. 

1.JPG

Im following your issue, I have the exact same problem but with emby.

Link to comment

I did some more diagnostics...

 

1. Upgrade back to 6.9.1

No change

2. Mobo BIOS video was set to "AUTO", changed to "iGPU".

No change

3. Connected physical monitor and keyboard (in case mobo needs to see HDMI? Worked fine before)

No change

4. I read how I should be using linuxserver plex container, so I installed that container, copied my plex data over, gave it container device: "/dev/dri".

No change

5. Quadruple checked all other settings: go file is clear, i915.conf file exists. ls in /dev/dri correctly reports "card0  renderD128". Plex set to "Use hardware acceleration when available", "Use hardware-accelerated video encoding".

No change

 

So I am giving up for now, probably put 4hrs into this today 😑

Link to comment

Of course just as I posted that I have somewhat of a positive result....

 

I tried playing a different "test 4K video", this time avatar instead of finding dory and... ITS WORKING? But not on other 4K files?

 

Finding dory still doesn't work, how/why would it work on some files and not others?

 

Check out the screenshots.

 

Both movies are MKV containers.

how.JPG

dory.JPG

avatar.JPG

Link to comment

Eureka!

 

First, I am sorry for so many posts.

 

So I disabled "Enable HDR tone mapping" and tada, every 4K video now uses hw perfectly.

 

Newbie, can you test and report back?

 

So either unraid or plex broke the HDR tone mapping, how can I figure out which to report it?

 

Edit: This seems to be the exact issue reported to Plex if anyone else is interested: https://forums.plex.tv/t/4k-hdr-hevc-hw-transcoding-is-broken-on-1-22-1-4200/702328/31

Edited by TopherHax
  • Like 1
Link to comment
2 hours ago, craigr said:

I just crawled out of bed and tried with tone mapping on or off, both work fine.  I am using the official PLEX server docker.  Based on your thread, the problem may be only with certain CPU's.  I'm running an Xeon E-2288G.

 

craigr

Yes I have lifetime plex pass.

i3-10100 , from intel's documentation supports codecs even up to h265 10bit.

Link to comment
5 hours ago, craigr said:

 

Hi There,

I face this issue as well since Plex 1.22.1.4200. 

I tried reinstalling Intel Compute Runtime (ICR) manually in the container, but no luck, still failing...

So I came back to the scripted solution I proposed about four months ago which will compile and install the old Intel Beignet driver :

 

Same advice as before, it takes a few long minutes to install, but it works !!!

An you need to reinstall it each time Plex container is updated and this issue still remains...

Link to comment

What is the thing to do, if I'm upgraded to Unraid 6.9.1, and I still got working hw transcode for everything like before, except 4K HDR to something like 1080 SDR with tone mapping?

 

Since I still got hw working for other stuff, do I need to change in my GO file or do something else?

 

Thanks.

 

/Söder

Link to comment

Is this guide still the way to go for quicksync under 6.9.1?

 

Edit: I just checked, I dont have the "/dev/dri" not even after I added "i915.alpha_support=1" to the "syslinux.cfg" I guess unraid does not support the quicksync on the 4th gen cpus

Edited by isvein
Link to comment
13 hours ago, isvein said:

I guess unraid does not support the quicksync on the 4th gen cpus

Nothing to do with unRAID.  I am running Quicksync just fine on an i5-4590 with i915 drivers.

 

With the new new way of loading i915 drivers introduced in unRAID 6.9, many do not see the /dev/dri folder but iGPU still works for hardware transcoding.

  • Like 1
Link to comment

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.