34 lines
No EOL
1.7 KiB
YAML
34 lines
No EOL
1.7 KiB
YAML
# Intel iGPU Transcoding
|
|
services:
|
|
jellyfin:
|
|
environment:
|
|
# Basic Hardware Acceleration
|
|
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
|
|
- JELLYFIN_FFmpeg__EnableIntelLowPowerEncoding=true
|
|
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
|
|
- JELLYFIN_FFmpeg__EncoderPreset=Auto
|
|
|
|
# iGPU Specific
|
|
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_qsv","hevc_qsv","mpeg2_qsv"]
|
|
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video"]
|
|
- JELLYFIN_FFmpeg__EnableTonemapping=true
|
|
- JELLYFIN_FFmpeg__TonemappingAlgorithm=bt2390 # Tonemapping explained: https://photography.tutsplus.com/what-is-tone-mapping-definition-and-examples--cms-91740
|
|
# bt2390: TV industry standard, like how professional studios convert HDR movies for regular TVs
|
|
- JELLYFIN_FFmpeg__VaapiDevice=/dev/dri/renderD128
|
|
|
|
# Driver Configuration
|
|
# Check which driver to use with: ls /usr/lib/x86_64-linux-gnu/dri/*_drv_video.so
|
|
# And/or use vainfo to see which driver is working
|
|
# iHD: Intel 6th gen or newer
|
|
# i965: Intel 5th gen or older
|
|
- LIBVA_DRIVER_NAME=iHD # Use i965 for older iGPUs, iHD for newer ones
|
|
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
|
|
devices:
|
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
|
- /dev/dri/card0:/dev/dri/card0
|
|
group_add:
|
|
- "998" # render group (verify this ID on your system)
|
|
volumes:
|
|
- /usr/lib/x86_64-linux-gnu/intel-opencl:/usr/lib/x86_64-linux-gnu/intel-opencl:ro
|
|
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2:ro
|
|
- /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:/usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:ro |