I am running Jellyfin in an Open Media Vault VM on top of Proxmox.
Jellyfin is in docker in OMV.
All disks are mounted in OMV and then mounted in Docker.
I have a 14600k that has an iGPU passthrough and it works fine. (Same generation iGPU I think)
mkdir /lib/firmware/i915/
cd /lib/firmware/i915/
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/adls_dmc_ver2_01.bin
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/tgl_guc_70.bin
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/tgl_guc_70.1.1.bin
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/tgl_huc.bin
update-initramfs -u
Then try this docker container to see if encoding works
docker run --rm ghcr.io/linuxserver/ffmpeg ffmpeg -hwaccels
Run the container
docker run --rm \
--device /dev/dri:/dev/dri \
--entrypoint ffmpeg \
ghcr.io/linuxserver/ffmpeg \
-init_hw_device qsv=hw:/dev/dri/renderD128 \
-hwaccel qsv -hwaccel_device hw -hwaccel_output_format qsv \
-f lavfi -i testsrc=duration=3:size=1280x720:rate=30 \
-vf 'format=nv12,hwupload=extra_hw_frames=64' \
-c:v h264_qsv -f null -
I'm on mobile so formatting maybe shit. But I think you can get the right idea with this.