Currently they are some great low powered “NAS” motherboards from Chinese manufactures such as BKHD, CWWK and Topton which feature very low power 11th Gen Intel processors, such as the Celeron N5105 or Pentium N6005.
While these processors will never win any awards for raw processing power, they are very power efficient and support Intel Quick Sync. Quick Sync allows for video to be hardware transcoded on these low powered processors, with next to no load on the CPU and very little power usage.
This is perfect for a NAS / low powered home server you might also wish to run Plex on, Plex can make use of Intel Quick sync to hardware transcode media to a different format the device streaming the media can play, with very little power and cpu load.
The only problem is hardware transcoding does not seem to work by default on Unraid with 11th Gen Intel Processors. The fix however is quite simple, like anything, once you know how… I spent a lot of time trying to figure out this issue, this is how I managed to fix Plex hardware transcoding on Unraid with my 11th Gen intel NAS build.
First log on to the Unraid Web-UI and open the terminal:
We want to edit syslinux.cfg on the Unraid USB drive, so type the following in to the terminal: nano /boot/syslinux/syslinux.cfg
Next add the following to syslinux.cfg where I have shown below “append i915.enable_fbc=1 i915.enable_guc=2” and save your changes (CTRL +O).
label Unraid OS
menu default
kernel /bzimage
append i915.enable_fbc=1 i915.enable_guc=2
append initrd=/bzroot
As the Unraid file system is loaded in to ram, we want to create and edit an i915.conf in /boot/config/modprobe.d/ – this will persist though reboots and be copied to /etc/modprobe.d/i915.conf when Unraid boots.
As someone new to Unraid at the time I didn’t appreciate when I was editing /etc/modprobe.d/i915.conf this existed only in the ram, so my changes were lost when rebooting.
Anyway create /boot/config/modprobe.d/i915.conf by typing the following in to the terminal:
nano /boot/config/modprobe.d/i915.conf
Add the following to i915.conf and save: options i915 enable_fbc=1 enable_guc=2
Now reboot Unraid and you will notice the i915.conf will be present in /etc/modprobe.d/i915.conf with our settings. (Trying nano /etc/modprobe.d/i915.conf in the terminal will allow you to confirm this)
Finally we need to add /dev/dri as a device to our Plex Docker, this allows Plex to access the Intel UHD graphics built in to the processor for hardware transcoding to work. I was using the LinuxServer Plex Docker, however this should work with any Plex Docker container you use.
To do this right click on your Plex docker container from the Unraid WEB-UI and edit it:
Once on the edit page scroll down and click “add another patch, port, variable, label or device”:
Add a device with the name and value of /dev/dri as shown below, then save your settings:
Now in the Plex WEB-UI click the settings wrench in the top right, scroll down to Transcoder under the settings section on the left menu, if not already enabled set the following as per my screenshot below:
- Use hardware acceleration when available
- Use hardware accelerated video encoding
- Hardware transcoding device: JapserLake [UHD Graphics]
Save these changes.
As we can now see JapserLake [UHD Graphics] for the hardware transcoding device everything should be working.
However to test everything is working play a video from Plex in your web browser and change the resolution to force Plex to transcode.
If you open another browser window and look at the Plex dashboard you should see Transcode (hw) for the video, which means you have successfully enabled hardware transcoding.
You will also notice that their is very little CPU usage now Plex is hardware transcoding, without hardware transcoding all 4 cores would be under full load:
Hopefully this helps you get hardware transcoding working on Intel 11th Gen Jasper Lake hardware.