• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting RX580 Tonemapping Crashes

     
    • 0 Vote(s) - 0 Average

    RX580 Tonemapping Crashes

    OpenCL runtime installed, but calls result in invalid pointer error.
    corigne
    Offline

    Junior Member

    Posts: 1
    Threads: 1
    Joined: 2023 Dec
    Reputation: 0
    Country:United States
    #1
    2023-12-17, 07:11 AM
    Hello! Hopefully someone can help me solve my tone mapping errors.

    I recently picked up an AMD RX580 to use for HW transcoding, and I wanted to try tone mapping for HDR content. I got the HW encoding/decoding working correctly, but the OpenCL tone mapping doesn't work. The OpenCL tone mapping attempts on requests from any client type crash with something similar to "free(): invalid pointer". I have tested HW transcode without tonemapping and I have registered activity on radeontop. The logs are pretty clear that the tonemapping device can't be found. Is the RX580 not compatible with OpenCL?

    I have been trying to figure out what I'm doing wrong to no avail. Any help you might be able to offer! I'm sorry if this is a stupid question and I missed something in the docs, but I tried my best to make sure I wasn't missing anything.

    I am following this documentation to enable HW transcoding and tone mapping: https://jellyfin.org/docs/general/admini...ration/amd

    Jellyfin version: 10.8.13
    Install Mehod: linux docker (jellyfin/jellyfin@latest)
    OS: Ubuntu 22.04 LTS

    OpenCL and FFMpeg versions on the docker image:
    rocm-opencl-runtime/focal,now 6.0.0.60000-91~20.04 amd64
    ffmpeg version 5.1.4-Jellyfin

    Docker Image hash: - sha256:544d674913bc396256f62e1540b88bfa0ed49714b941007c658e04018dea36da

    My compose file:
    Code:
    version: '3'
    services:
      jellyfin:
        image: jellyfin/jellyfin
        container_name: jellyfin
        restart: unless-stopped
        network_mode: "host"
        user: 1000:1000
        group_add:
          - "109"
          - "44"
        volumes:
          - /srv/jellyfin/config:/config
          - /srv/jellyfin/cache:/cache
          - /mnt/harlow/media:/media
        devices:
          - /dev/dri/renderD128:/dev/dri/renderD128
          - /dev/kfd:/dev/kfd
        environment:
          - ROC_ENABLE_PRE_VEGA=1

    Here's the relevant crashpoint in the transcode log:
    Code:
    -libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi -War.2018.UHD.BluRay.2160p.TrueHD.Atmos.7.1.HEVC.REMUX-FraMeSToR.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_vaapi -rc_mode VBR -b:v 85846142 -maxrate 85846142 -bufsize 171692284 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -flags:v -global_header -filter_complex "[0:4]scale=s=3840x2160:flags=fast_bilinear[sub];[0:0]setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12[main];[main][sub]overlay=eof_action=pass:shortest=1:repeatlast=0,hwupload_vaapi" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/transcodes/7ea90931776835a4a85b9f8c86972a1a%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/7ea90931776835a4a85b9f8c86972a1a.m3u8"

    ffmpeg version 5.1.4-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
      built with gcc 10 (Debian 10.2.1-6)
      configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --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-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
      libavutil      57. 28.100 / 57. 28.100
      libavcodec    59. 37.100 / 59. 37.100
      libavformat    59. 27.100 / 59. 27.100
      libavdevice    59.  7.100 / 59.  7.100
      libavfilter    8. 44.100 /  8. 44.100
      libswscale      6.  7.100 /  6.  7.100
      libswresample  4.  7.100 /  4.  7.100
      libpostproc    56.  6.100 / 56.  6.100
    amdgpu: os_same_file_description couldn't determine if two DRM fds reference the same file description.
    If they do, bad things may happen!
    [AVHWDeviceContext @ 0x556a20514980] No matching devices found.
    Device creation failed: -19.
    Failed to set value 'opencl=ocl:.0,device_vendor=Advanced Micro Devices' for option 'init_hw_device': No such device
    Error parsing global options: No such device

    and here's verifying the opencl runtime, a similar effect:
    Code:
    ❯ docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl
    ffmpeg version 5.1.4-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
      built with gcc 10 (Debian 10.2.1-6)
      configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --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-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
      libavutil      57. 28.100 / 57. 28.100
      libavcodec    59. 37.100 / 59. 37.100
      libavformat    59. 27.100 / 59. 27.100
      libavdevice    59.  7.100 / 59.  7.100
      libavfilter    8. 44.100 /  8. 44.100
      libswscale      6.  7.100 /  6.  7.100
      libswresample  4.  7.100 /  4.  7.100
      libpostproc    56.  6.100 / 56.  6.100
    Splitting the commandline.
    Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
    Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl'.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option v (set logging level) with argument debug.
    Applying option init_hw_device (initialise hardware device) with argument opencl.
    free(): invalid pointer
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode