Jellyfin Forum
Transcoding causes crashes related to openCL not found after update - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Transcoding causes crashes related to openCL not found after update (/t-transcoding-causes-crashes-related-to-opencl-not-found-after-update)



Transcoding causes crashes related to openCL not found after update - carne_asada - 2024-07-22

After I updated to   10.9.6

I get this error  and the client also crashes  or hangs .  Any thoughts?  I'm running this on a docker container on synology and confirmed the  dev/dra entitlements are correect.

ffmpeg version 6.0.1-Jellyfin Copyright © 2000-2023 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      58.  2.100 / 58.  2.100
  libavcodec    60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter    9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample  4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
[AVHWDeviceContext @ 0x561fe0db6380] Failed to get number of OpenCL platforms: -1001.
Device creation failed: -19.
Failed to set value 'opencl=ocl@va' for option 'init_hw_device': No such device
Error parsing global options: No such device

Here is the response of  /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
Trying display: drm                                                                                                                 
libva info: VA-API version 1.21.0                                                                                                   
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so                                                       
libva info: Found init function __vaDriverInit_1_21                                                                                 
libva info: va_openDriver() returns 0                                                                                               
vainfo: VA-API version: 1.21 (libva 2.21.0)                                                                                         
vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 24.2.3 (7c1c775)                                               
vainfo: Supported profile and entrypoints      ..


Here is the response of
/usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vaConfused-facedev/dri/renderD128 -init_hw_device opencl@va

ffmpeg version 6.0.1-Jellyfin Copyright © 2000-2023 the FFmpeg developers                                                         
  built with gcc 12 (Debian 12.2.0-14)                                                                                             
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disabl
e-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enabl
e-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --ena
ble-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis -
-enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-l
ibzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --ena
ble-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc           
  libavutil      58.  2.100 / 58.  2.100                                                                                           
  libavcodec    60.  3.100 / 60.  3.100                                                                                           
  libavformat    60.  3.100 / 60.  3.100                                                                                           
  libavdevice    60.  1.100 / 60.  1.100                                                                                           
  libavfilter    9.  3.100 /  9.  3.100                                                                                           
  libswscale      7.  1.100 /  7.  1.100                                                                                           
  libswresample  4. 10.100 /  4. 10.100                                                                                           
  libpostproc    57.  1.100 / 57.  1.100                                                                                           
[AVHWDeviceContext @ 0x561c69f15f80] Trying to use DRM render node for device 0.                                                   
[AVHWDeviceContext @ 0x561c69f15f80] libva: VA-API version 1.21.0                                                                   
[AVHWDeviceContext @ 0x561c69f15f80] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so                       
[AVHWDeviceContext @ 0x561c69f15f80] libva: Found init function __vaDriverInit_1_21                                                 
[AVHWDeviceContext @ 0x561c69f15f80] libva: va_openDriver() returns 0                                                               
[AVHWDeviceContext @ 0x561c69f15f80] Initialised VAAPI connection: version 1.21                                                     
[AVHWDeviceContext @ 0x561c69f15f80] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 24.2.3 (7c1c775).                   
[AVHWDeviceContext @ 0x561c69f15f80] Driver not found in known nonstandard list, using standard behaviour.                         
Hyper fast Audio and Video encoder                                                                                                 
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...                                             
                                                                                                                                   



H


RE: Transcoding causes crashes related to openCL not found after update - TheDreadPirate - 2024-07-22

Which docker image are you using? If you are using the Linuxserver Jellyfin image, you need to add their OpenCL mod.

https://github.com/linuxserver/docker-mods/tree/jellyfin-opencl-intel


RE: Transcoding causes crashes related to openCL not found after update - carne_asada - 2024-07-22

I'm using the standard jellyfin image.  I've also tried linux server with the mod and get the same error.

If I disable tone mapping It no longer crashes  but also is no longer capable of transcoding without sutter.   I've tried with both VAAPI and  QVC


RE: Transcoding causes crashes related to openCL not found after update - TheDreadPirate - 2024-07-22

What CPU/GPU do you have? And what OS is the host running?


RE: Transcoding causes crashes related to openCL not found after update - carne_asada - 2024-07-22

CPU is Celeron J4025 on a Synology NAS DS220+ It's running the latest version of DSM.


RE: Transcoding causes crashes related to openCL not found after update - Efficient_Good_5784 - 2024-07-22

(2024-07-22, 06:37 PM)carne_asada Wrote: CPU is Celeron J4025 on a Synology NAS DS220+  It's running the latest version of DSM.
That's the issue. Synology is using an old Linux kernel that doesn't contain the necessary files for Jellyfin to properly tone map content.

(2024-07-22, 04:51 PM)carne_asada Wrote: If I disable tone mapping It no longer crashes  but also is no longer capable of transcoding without sutter.   I've tried with both VAAPI and  QVC
The CPU is quite underpowered. Synology purposefully uses these to lower the power draw of the NAS as well as lower temperatures.
It's perfect for basic NAS functionality, but will struggle with transcodes if the CPU is used instead of the iGPU. Especially if you're trying to tone map 4K videos.

Your only option is to wait for Synology to release a DSM version that contains a new enough Linux kernel, or just have tone mapping turned off.
Though Synology is generally slow with updating things. It may be a long while before something like this happens.