Activating Plex hardware acceleration

Samuel Tai

Never underestimate your own stupidity
Moderator
Joined
Apr 24, 2020
Messages
5,398
I misread your message. I thought what you were writing only applied to FreeBSD 11. Do you know at all if this will be supported down the road?

I don't doubt it, but I couldn't tell you when Intel will donate a DRM driver to FreeBSD.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
This speaks to that: https://wiki.freebsd.org/Graphics/Intel-GPU-Matrix.

So FreeBSD 13, "drm-devel-kmod" - you'll need patience for Gen 10 on FreeBSD. Even more so on TrueNAS.

I am trying to find out whether Linux 4.16 supports Coffee Lake Refresh, 9th gen. I know it supports Coffee Lake, 8th gen. If 9th gen support is not there, that'd explain why folx with 9th gen CPUs aren't having any luck.

Edit: Found it, it's at https://github.com/Intel-Media-SDK/MediaSDK/wiki/Intel-Graphics-Support-in-Linux-Kernels . Official support for CFL is in 4.16, so I'm not clear why 9th gen is not working for folx. It may well be that's not going to work until FreeBSD 13, as well. 5.2 brings 10th gen, it's the first kernel to come out of alpha for ICL.
 
Last edited:

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
This speaks to that: https://wiki.freebsd.org/Graphics/Intel-GPU-Matrix.

So FreeBSD 13, "drm-devel-kmod" - you'll need patience for Gen 10 on FreeBSD. Even more so on TrueNAS.

I am trying to find out whether Linux 4.16 supports Coffee Lake Refresh, 9th gen. I know it supports Coffee Lake, 8th gen. If 9th gen support is not there, that'd explain why folx with 9th gen CPUs aren't having any luck.
Ouch and TrueNAS 12 is still in beta using 12.1. Maybe I should just downgrade my CPU. (Never thought I'd hear myself say that). I have a 7th gen Celeron, just need a different Mobo. Hoping I can find a cheap one.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
My experience so far is that hardware transcode is very much a "play around with it" feature. I would not downgrade a CPU just for that. I say that because:

- 4k transcode HDR to SDR is abysmal, everything will look flat. Just have a proper 1080p SDR file alongside, so much better. This is because tone mapping is a work in progress.
- 12.1 broke subtitle hardware transcode, one of the real reasons to use 1080p to 1080p transcodes. No ETA on a fix. Software transcode in the meantime.
- VC1 transcoding can be "blocky", up to Intel to provide a fix.
- Plex can always "Optimize" for a given resolution, at the small cost of some extra storage space, and you know that'll work.

I like fiddling with hardware transcode, but it's not consistently functional and useful enough to build specifically for it, in my opinion.
 
Last edited:

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
Can those with 9th gen iGPUs get the PCI ID? I am looking at https://git.kernel.org/pub/scm/linu.../?id=d0e062ebb3a44b56a7e672da568334c76f763552 and seeing that 4.20 added additional CFL PCI IDs. And then 5.1 added a few more, https://git.kernel.org/pub/scm/linu.../?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26. Comet Lake and Ice Lake in 5.2, and 5.3 seems to be improvements. 5.3 is where FreeBSD 13 drm-devel is at right now.

Edit: Looks like at least some i9-9xxx and i7-9xxx have [8086:3e98] as their PCI id. That's a UHD 630. The one in 5.1 is 3E9C, that's a UHD 610. See https://www.graphics-drivers.eu/intel-pci-hardware-id-string.html .

lspci -nn will show that ID, for those that have 9th gen and want to check. @capindc , @dexll , feeling like doing some sleuthing?
 
Last edited:

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
My experience so far is that hardware transcode is very much a "play around with it" feature. I would not downgrade a CPU just for that. I say that because:

- 4k transcode HDR to SDR is abysmal, everything will look flat. Just have a proper 1080p SDR file alongside, so much better
- 12.1 broke subtitle hardware transcode, one of the real reasons to use 1080p to 1080p transcodes. No ETA on a fix. Software transcode in the meantime.
- Plex can always "Optimize" for a given resolution, at the small cost of some extra storage space, and you know that'll work.

I like fiddling with hardware transcode, but it's not consistently functional and useful enough to build specifically for it, in my opinion.
My old server uses a 7th gen Celeron and HW Acceleration works as intended on Plex there. I'll just get a different cheap MoBo and use that until TrueNAS moves to FBSD 13.
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
I have a workaround for people with 9th-gen and 10th-gen CPUs. I just tried passing the iGPU through to a Ubuntu 20.04 LTS, and it works. Plex uses hw transcoding. That way, you are on kernel 5.4, and the iGPUs in 9th and 10th-gen CPUs should be supported.

Running Plex on Linux on bhyve on TrueNAS is very much not a plex plugin discussion any more. I'll do a writeup and stick it elsewhere.

Edit: I spoke too soon. While I can get it to start playing a movie, it won't continue. At some point Plex becomes unresponsive to the point of not even being able to browse Media or see Settings. Linux is still up at that point, network appears to work - maybe an interaction between Ubuntu and bhyve? Whatever it is, it'll need more testing.
 
Last edited:

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
I have a workaround for people with 9th-gen and 10th-gen CPUs. I just tried passing the iGPU through to a Ubuntu 20.04 LTS, and it works. Plex uses hw transcoding. That way, you are on kernel 5.4, and the iGPUs in 9th and 10th-gen CPUs should be supported.

Running Plex on Linux on bhyve on TrueNAS is very much not a plex plugin discussion any more. I'll do a writeup and stick it elsewhere.
You can have an Ubuntu jail?
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
Ubuntu VM, hence bhyve. This is a completely different approach to the topic.
That would require dedicating cores to that endeavor, and I only use a Celeron. Oh well. Like I said, I just bought a cheap used Z270 board and will pop my old 7th Gen in there until such time TrueNAS supports Gen 10. That seems like the easiest/most effective solution to me.
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
That would require dedicating cores to that endeavor, and I only use a Celeron. Oh well. Like I said, I just bought a cheap used Z270 board and will pop my old 7th Gen in there until such time TrueNAS supports Gen 10. That seems like the easiest/most effective solution to me.
Virtualisation doesn't require dedicated cores...
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
So to bring this back: If you want to experiment with running Plex on bhyve, let’s have a separate thread for that. It’ll be very experimental, I have not had success so far with that being stable, and it might not be stable until bhyve officially supports GPU passthrough.

That way, we can get this thread back to hw transcode in a Plex jail.
 

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
I purchased a use, and quite frankly a badly beat up, motherboard and it fired up. Loaded the i915kms module and now I see both drm and dri. :D. I think the rest should be a piece of cake. Just need to get it to the jail now.
 

Cyberpower678

Dabbler
Joined
Jul 27, 2020
Messages
37
I am happy to report that drm and dri have been successfully passed into my jail and Plex started HW transcoding. Another test finished successfully, and one step close to migrating from my failing server. :p
 

Yorick

Wizard
Joined
Nov 4, 2018
Messages
1,912
@Yorick very off-topic, but do you know of any easy way to setup a basic web server on FreeNAS? It doesn't need to be fancy.

what do you intend to run on it? You can run a web server in a jail, that’s not difficult. Which to choose depends on what you want to do with it.
 
Top