The instructions here enabled hardware decoding on my j5005 board (UHD Graphics 605/Gemini Lake) but encoding produced garbled output.
I assumed it had something to do with Unraid or the 4.19 kernel but apparently not - it's solved by forcing Emby to use the container's i965_drv_video.so instead of iHD_drv_video.so.
NOTE 1: As of Emby 4.6.* which includes an iHD driver with fixes for Gemini Lake it's no longer necessary to disable iHD, so I've struck through the instructions below.
NOTE 2: if you're getting video-related freezes with unRAID 6.9 as I was - adding a dummy HDMI plug to my headless setup and updating Syslinux configuration as below seems to solve it:
label Unraid OS
menu default
kernel /bzimage
append initrd=/bzroot intel_iommu=on,igfx_off
Here's how to do that:
# Launch an EmbyServer shell:
docker exec -it EmbyServer /bin/sh
# Inside the shell disable iHD_drv_video.so
cd lib/dri/
mv iHD_drv_video.so iHD_drv_video.so.disabled
# Restart EmbyServer
Now both hardware decode and encode should work.
NOTE: You must add intel_iommu=igfx_off to your syslinux.cfg (see this post for details)
NOTE: I'm using the official EmbyServer release in Community Apps
Emby Hardware Acceleration working on j5005 with tweak
in Docker Engine
Posted · Edited by CS01-HS
The instructions here enabled hardware decoding on my j5005 board (UHD Graphics 605/Gemini Lake) but encoding produced garbled output.
I assumed it had something to do with Unraid or the 4.19 kernel but apparently not - it's solved by forcing Emby to use the container's i965_drv_video.so instead of iHD_drv_video.so.
NOTE 1: As of Emby 4.6.* which includes an iHD driver with fixes for Gemini Lake it's no longer necessary to disable iHD, so I've struck through the instructions below.
NOTE 2: if you're getting video-related freezes with unRAID 6.9 as I was - adding a dummy HDMI plug to my headless setup and updating Syslinux configuration as below seems to solve it:
label Unraid OS menu default kernel /bzimage append initrd=/bzroot intel_iommu=on,igfx_off
Here's how to do that:# Launch an EmbyServer shell:docker exec -it EmbyServer /bin/sh
# Inside the shell disable iHD_drv_video.socd lib/dri/ mv iHD_drv_video.so iHD_drv_video.so.disabled
# Restart EmbyServerNow both hardware decode and encode should work.NOTE: You must add intel_iommu=igfx_off to your syslinux.cfg (see this post for details)NOTE: I'm using the official EmbyServer release in Community Apps