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


318 posts in this topic Last Reply

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 post
  • Replies 317
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

***Update*** : Apologies, it seems like there was an update to the Unraid forums which removed the carriage returns in my code blocks. This was causing people to get errors when typing commands verbat

Please be courteous and respectful to one another. Thank you

You might find this useful (Yes means the iGPU can both encode and decode.):   BTW: this chart is from the Quick Sync Video Wikipedia page.  

Posted Images

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 post
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 post
1 minute ago, SimonF said:

 

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.

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

Link to post
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 post
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 post

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 post

Little update.

 

I downgraded unraid from 6.9.1 back to 6.9.0 RC2, then added everything back to my go file, deleted the i915.conf file, rebooted, and it still isn't working🤦‍♂️

 

Maybe latest version of PMS is causing this?

Link to post
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 post
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 post

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

Link to post
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 post

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 post

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 post

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
Link to post

I think I read somewhere this was an issue but I thought it was solved.  I’ll try turning mine off and on later if I can (got second covid shot yesterday and it kicked my butt).  It may be that you need plexpass for it?  Do you have a license?

 

craigr

Link to post

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

Link to post
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 post
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 post

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 post

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 post
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.

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.