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


268 posts in this topic Last Reply

Recommended Posts

3 hours ago, drogg said:

So we don't need to run your script anymore (which worked wonders btw) and can instead just follow the new docker image?

Actually, the old script doing compilation eats CPU and takes long time to execute, at least in my environment, but it has the nice ability to be really adapted to Docker in Unraid, so it actually doesn't break anything (hopefully), and so can be used still.

 

The new script on the other hand, is much faster as no requiring compilation, and the GPU driver is officially supported by Intel, so by many aspect it's providing a better solution. But it's not fully adapted to Docker GUI in Unraid, and brakes the fancy container update process, so it requires a manual process for each upgrade of the LSIO Plex container

 

This is the full formal upgrade process by using this script:

 docker build --pull -t linuxserver/plex:opencl https://github.com/linuxserver/docker-plex.git#opencl

Then from Unraid Docker tab, switch to ADVANCED VIEW mode with the little switch on the top right.

And then click on "force update" for the Plex container.

 

At the end you can choose which solution suits best your needs !

😉

Link to post
  • Replies 267
  • 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

What's the long term solution here?  Is it an update in the Unraid core, or simply an updated Plex container (or both)?  For now, the set of commands requiring compilation works perfectly for me, but I have to run them when I update the Plex container (I think).  In the future, will the new container handle this?

Link to post

I believe the best is to ask for it in the thread of the Plex container you are using.

For the LSIO one:

I actually totally forgot to ask them, and LSIO team may even not be aware of the need for many to fix this issue...

Edited by mmz06
Link to post

Hello,

 

It seems LSIO updated its Plex container which now includes up-to-date intel drivers, working with the last Plex version with HW transcoding and HDR tone mapping support.

If you previously used my 1st script, you can remove it and update Plex container, if you used the one which requires to create an intermediate image, just edit the container configuration, and remove ":opencl" at the end of "Repository" keeping only "linuxserver/plex", then click on apply.

It should download properly everything again and put you back in the original track.

This may leave you with 2 orphan images visible in the docker tab, which can be removed from the advanced view.

 

Link to post
  • 3 weeks later...
On 12/10/2020 at 6:32 AM, Jbail804 said:

I am able to get this to work. Thank you for the instruction. I am having one issue I need help with. After modifying the "GO" file I hit control X and Y to save it, but when I exit the terminal, it gives me a warning that if I exit my changes might not be saved. Sure enough when I go back into the "GO" file, the script is not at the bottom. It's not that big of a deal to go back in and add the script after each reboot, but I was wondering what I am doing wrong when exiting the terminal? I am very new at this. 

I'm having the same issue

Link to post
  • 2 weeks later...

Hi. Thanks for posting detailed guide.

I have i-8700 with ASUS B360-I

 

I could not get hw to work.

My Bios: iGPU is enabled

terminal commands in UNRAID execute correctly.

edited Plex container and added Drive with mapping

Name: /dev/dri

Value:/dev/dri

 

Transcoding doesn't show (hw)

 

Also tried

Name: /dev/dri

Value:/dev/dri/     (note ending forward slash which was auto added, since I picked the folder from a dropdown list)

 

doesn't work.

 

Also tried

Name: /dev/dri/

Value:/dev/dri/ 

 

doesn't work.

 

Any help?

6045D845-05B4-4CF7-B0AD-A12FB2711176.jpg

Link to post
29 minutes ago, tmor2 said:

edited Plex container and added Drive with mapping

You have Plex Pass and have enabled hardware acceleration in Plex server, correct? I assume so since it is mentioned in the guide. but we just need to verify this.

 

I use the Extra Parameters method, but, the device method should also work.

 

image.thumb.png.35b8f7797f934a759b8b6e05526abf21.png

Edited by Hoopster
Link to post
10 hours ago, Hoopster said:

You have Plex Pass and have enabled hardware acceleration in Plex server, correct? I assume so since it is mentioned in the guide. but we just need to verify this.

 

I use the Extra Parameters method, but, the device method should also work.

 

image.thumb.png.35b8f7797f934a759b8b6e05526abf21.png

 

Ops. I don't have Plexpass. I'll get one though.

Edited by tmor2
Link to post
On 1/17/2021 at 3:10 PM, tmor2 said:

 

Ops. I don't have Plexpass. I'll get one though.

@tmor2 Did this fix it?  I have the same CPU as you, and I'm considering to move it to my unraid tower.  Any chance you could confirm if you can get HW x265 4k HDR --> 1080p SDR with tone mapping encoding to work with the iGPU?  Very much appreciated.

Link to post
On 1/20/2021 at 10:23 PM, DingHo said:

@tmor2 Did this fix it?  I have the same CPU as you, and I'm considering to move it to my unraid tower.  Any chance you could confirm if you can get HW x265 4k HDR --> 1080p SDR with tone mapping encoding to work with the iGPU?  Very much appreciated.

I haven't gotten Plex Pass yet, so I cannot confirm it works for Plex.

I did add the path for HW acceleration driver for Jellyfin docker, but it is still transcoding without HWA. Maybe Jellyfin doesn't support HWA?

Link to post
8 hours ago, tmor2 said:

I haven't gotten Plex Pass yet, so I cannot confirm it works for Plex.

I did add the path for HW acceleration driver for Jellyfin docker, but it is still transcoding without HWA. Maybe Jellyfin doesn't support HWA?

@tmor2 I can confirm HW accel does work when you get the plex pass.  I've got your exact setting above, and it works great.  However I'm still on on old i5-3570k so I'm really curious about the 4k encoding on the newer processor.  Let us know when you can.

Link to post
15 minutes ago, DingHo said:

@tmor2 I can confirm HW accel does work when you get the plex pass.  I've got your exact setting above, and it works great.  However I'm still on on old i5-3570k so I'm really curious about the 4k encoding on the newer processor.  Let us know when you can.

 

I can transcode in hardware 5 4K HDR streams concurrently on my i5-9600k with embedded UHD630, as I mentioned a few weeks ago:

 

Link to post
  • 5 weeks later...

To anyone who is having trouble with the modified go file saving the changes after a system restart, you may be making the same stupid mistake as me. When you edit your go file via the terminal with "nano /boot/config/go", you then add the line "modprobe i915", and the you press CTRL+X to save, followed by Y to accept. According to the first post of this thread, "And you should be golden!"

If you are new to all this, like me, you have probably just closed the window afterwards thinking all was good. After many unsuccessful attempts, I finally noticed that after following these steps, a line of text appears in the bottom of the command window the terminal :unraid.thumb.jpg.329ca32523b360d3ef40a01e8f9bf4f7.jpg

At this point, you just need to press Enter and the file will be saved. And then you can close the window...

This must seem pretty basic for most of you, but hey...you gotta start somewhere :)

 

Edited by gustomucho
Link to post
25 minutes ago, gustomucho said:

To anyone who is having trouble with the modified go file

Or you could just export your flash drive (secure or private if there are other users who have access to your server on the LAN) and edit it with Notepad or Notepad++ on Windows.  No dealing with nano, vi or other command line driven Linux text editors.

 

That's what I do.

Link to post

Gah; I can't get mine working! I can see the listing in /dev/dri -> ls, did a modprobe i915, added the /dev/dri to devices in the settings. When I used "docker exec -it plex ls -lh /dev/dri" in the console, it returns both my iGPU as well as my PCIE GPU: image.png.e327778a0e94457b582364e6159cef2c.png

Still, it doesn't work off the iGPU and instead continues to software transcode. I made sure to as well establish the transcoding is enabled in Plex.

image.png.6e57389180842f0065d4f103d64ec358.png

 

For context, I'm using the ASRock C236 WSI paired with the i7-7700K, with my 3060ti thrown into the PCIe slot.

I assume that the iGPU does exist and is usable, since I went ahead and installed Handbrake and added the /dev/dri to its devices. It does show it as an option in the Video Encoder: image.png.1cff21d5af87789384fd34596bd2265a.png

Edited by Zendikar
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.