• 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 SOLVED: Low Transcoding FPS with Intel A380

    Pages (2): 1 2 Next »

     
    • 0 Vote(s) - 0 Average

    SOLVED: Low Transcoding FPS with Intel A380

    Less than 50 FPS while transcoding with Intel A380
    container_ship
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2024 Jul
    Reputation: 0
    #1
    2024-07-03, 06:47 PM (This post was last modified: 2024-07-03, 06:55 PM by container_ship. Edited 2 times in total.)
    Hello.
    I run my Jellyfin instance in the official Docker container. My full Setup is proxmox 8.2.2 > ubuntu 23.10 VM > docker > jellyfin (like this post).
    I followed the official guide and got everything up and running.

    Output of lshw -C display inside the ubuntu VM:

    *-display
          description: VGA compatible controller
          product: DG2 [Arc A380]
          vendor: Intel Corporation
          physical id: 0
          bus info: pci@0000:01:00.0
          logical name: /dev/fb0
          version: 05
          width: 64 bits
          clock: 33MHz
          capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
          configuration: depth=32 driver=i915 latency=0 mode=1920x1080 resolution=1920,1080 visual=truecolor xres=1920 yres=1080
          resources: iomemory:60-5f irq:39 memory:fb000000-fbffffff memory:600000000-7ffffffff memory:c0000-dffff[/code]


    Output of ls -l /dev/dri

    total 0
    drwxr-xr-x 2 root root        80 Jul  3 17:35 by-path
    crw-rw---- 1 root video  226,  0 Jul  3 17:35 card0
    crw-rw---- 1 root render 226, 128 Jul  3 17:35 renderD128


    Output of docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo
    Code:
    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(R) Gen Graphics - 24.2.3 (7c1c775)
    vainfo: Supported profile and entrypoints
          VAProfileNone                  : VAEntrypointVideoProc
          VAProfileNone                  : VAEntrypointStats
          VAProfileMPEG2Simple            : VAEntrypointVLD
          VAProfileMPEG2Main              : VAEntrypointVLD
          VAProfileH264Main              : VAEntrypointVLD
          VAProfileH264Main              : VAEntrypointEncSliceLP
          VAProfileH264High              : VAEntrypointVLD
          VAProfileH264High              : VAEntrypointEncSliceLP
          VAProfileJPEGBaseline          : VAEntrypointVLD
          VAProfileJPEGBaseline          : VAEntrypointEncPicture
          VAProfileH264ConstrainedBaseline: VAEntrypointVLD
          VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
          VAProfileHEVCMain              : VAEntrypointVLD
          VAProfileHEVCMain              : VAEntrypointEncSliceLP
          VAProfileHEVCMain10            : VAEntrypointVLD
          VAProfileHEVCMain10            : VAEntrypointEncSliceLP
          VAProfileVP9Profile0            : VAEntrypointVLD
          VAProfileVP9Profile0            : VAEntrypointEncSliceLP
          VAProfileVP9Profile1            : VAEntrypointVLD
          VAProfileVP9Profile1            : VAEntrypointEncSliceLP
          VAProfileVP9Profile2            : VAEntrypointVLD
          VAProfileVP9Profile2            : VAEntrypointEncSliceLP
          VAProfileVP9Profile3            : VAEntrypointVLD
          VAProfileVP9Profile3            : VAEntrypointEncSliceLP
          VAProfileHEVCMain12            : VAEntrypointVLD
          VAProfileHEVCMain422_10        : VAEntrypointVLD
          VAProfileHEVCMain422_10        : VAEntrypointEncSliceLP
          VAProfileHEVCMain422_12        : VAEntrypointVLD
          VAProfileHEVCMain444            : VAEntrypointVLD
          VAProfileHEVCMain444            : VAEntrypointEncSliceLP
          VAProfileHEVCMain444_10        : VAEntrypointVLD
          VAProfileHEVCMain444_10        : VAEntrypointEncSliceLP
          VAProfileHEVCMain444_12        : VAEntrypointVLD
          VAProfileHEVCSccMain            : VAEntrypointVLD
          VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain10          : VAEntrypointVLD
          VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain444        : VAEntrypointVLD
          VAProfileHEVCSccMain444        : VAEntrypointEncSliceLP
          VAProfileAV1Profile0            : VAEntrypointVLD
          VAProfileAV1Profile0            : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain444_10      : VAEntrypointVLD
          VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

    Output of docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va -init_hw_device opencl@va
    Code:
    ffmpeg version 6.0.1-Jellyfin Copyright (c) 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
    [AVHWDeviceContext @ 0x6313d5e5b480] Trying to use DRM render node for device 0.
    [AVHWDeviceContext @ 0x6313d5e5b480] libva: VA-API version 1.21.0
    [AVHWDeviceContext @ 0x6313d5e5b480] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
    [AVHWDeviceContext @ 0x6313d5e5b480] libva: Found init function __vaDriverInit_1_21
    [AVHWDeviceContext @ 0x6313d5e5b480] libva: va_openDriver() returns 0
    [AVHWDeviceContext @ 0x6313d5e5b480] Initialised VAAPI connection: version 1.21
    [AVHWDeviceContext @ 0x6313d5e5b480] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.2.3 (7c1c775).
    [AVHWDeviceContext @ 0x6313d5e5b480] Driver not found in known nonstandard list, using standard behaviour.
    [AVHWDeviceContext @ 0x6313d5e8cbc0] 0.0: Intel(R) OpenCL Graphics / Intel(R) Arc(TM) A380 Graphics
    [AVHWDeviceContext @ 0x6313d5e8cbc0] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL).
    [AVHWDeviceContext @ 0x6313d5e8cbc0] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL).
    [AVHWDeviceContext @ 0x6313d5e8cbc0] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL).
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

    Use -h to get full help or, even better, run 'man ffmpeg'

    Output of docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl
    Code:
    ffmpeg version 6.0.1-Jellyfin Copyright (c) 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
    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.
    [AVHWDeviceContext @ 0x57aa60e97500] 1 OpenCL platforms found.
    [AVHWDeviceContext @ 0x57aa60e97500] 1 OpenCL devices found on platform "Intel(R) OpenCL Graphics".
    [AVHWDeviceContext @ 0x57aa60e97500] 0.0: Intel(R) OpenCL Graphics / Intel(R) Arc(TM) A380 Graphics
    [AVHWDeviceContext @ 0x57aa60e97500] cl_intel_va_api_media_sharing found as platform extension.
    [AVHWDeviceContext @ 0x57aa60e97500] Media sharing must be enabled on context creation to use QSV to OpenCL mapping.
    [AVHWDeviceContext @ 0x57aa60e97500] QSV to OpenCL mapping not usable.
    Successfully parsed a group of options.
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

    Use -h to get full help or, even better, run 'man ffmpeg'

    I activated HWA (QSV with tone mapping and low power encoding for HEVC and H.264, everything else set to default) inside jellyfin and transcoding with tone mapping works however only with 50fps (without tone mapping) or 40 fps with tone mapping (from 4k > 1080p).
    This seems very low in regards that I have a A380.

    Did I forget some settings?

    I already tried the linuxserver docker version but tone mapping didn't work here at all.

    My CPU is a i5 12400F, so I think HWA is ignored and instead jellyfin uses software transcoding.
    Go to solution
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-07-03, 07:04 PM
    I'm assuming you mean without tone mapping for that first one (50 fps).

    If you selected Quick Sync, Jellyfin doesn't just ignore that. And it doesn't fallback to CPU transcoding. If you select Quick Sync and it doesn't work for some reason it will just fail.

    Can you share your ffmpeg log? One with tone mapping and one without tone mapping?

    Also, once we get this sorted out, I recommend you upgrade the VM to 24.04. 23.10 is EOL on July 11. Make a backup of you VM then...

    Code:
    sudo apt update ; sudo apt upgrade ; sudo do-release-upgrade
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    container_ship
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2024 Jul
    Reputation: 0
    #3
    2024-07-03, 07:18 PM
    Your assumption is correct.

    ffmpeg log with tone mapping: https://pastebin.com/Bnx8L5mj

    ffmpeg log without tone mapping: https://pastebin.com/em2weAfK
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #4
    2024-07-03, 07:33 PM
    You are definitely using QSV in those logs.

    Can you clarify if Ubuntu is a VM or LXC?

    You linked another post in your opening. If Ubuntu is a VM, did you ensure that the linux-firmware package was installed?

    Code:
    sudo apt list --installed | grep firmware

    If Ubuntu is a LXC, you will need to ensure that the non-free linux firmware package is installed on Proxmox.

    Code:
    sudo apt list --installed | grep firmware-linux-nonfree

    You may also have to ensure that the HuC and GuC firmwares are actually present as that other user noted that HuC was missing on their system for some reason.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    container_ship
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2024 Jul
    Reputation: 0
    #5
    2024-07-03, 07:37 PM (This post was last modified: 2024-07-03, 07:40 PM by container_ship. Edited 1 time in total.)
    Ubuntu is a VM and the linux-firmware package is installed.

    linux-firmware/mantic-updates,now 20230919.git3672ccab-0ubuntu2.10 amd64 [installed]

    Edit: Ahhhh HuC and GuC are missing... sudo cat /sys/kernel/debug/dri/0/gt/uc/guc_info and sudo cat /sys/kernel/debug/dri/0/gt/uc/huc_info don't exist
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #6
    2024-07-03, 07:46 PM
    The location of guc and huc info is weird and not consistent. I found mine in /sys/kernel/debug/dri/1/gt0/uc/huc_info.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    container_ship
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2024 Jul
    Reputation: 0
    #7
    2024-07-03, 07:50 PM (This post was last modified: 2024-07-04, 03:20 PM by container_ship. Edited 5 times in total.)
    Ok I added dg2_huc_gsc.bin to /lib/firmware/i915/ but nothing changed.


    Edit: For people reading this in the future. I nuked my VM with this so I don't recommend adding it.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #8
    2024-07-03, 08:06 PM (This post was last modified: 2024-07-03, 08:06 PM by TheDreadPirate. Edited 1 time in total.)
    I just looked at your log again, the one without tone mapping. While you aren't tone mapping you are still converting the color space since the source video is HDR. So I'm thinking there is still an impact to performance when converting color spaces.

    I ran some tests on my system without tone mapping, but with a 4K HDR source video, and there is a significant drop in performance compared to a SDR source video. About the same performance as what you described. See my signature for my system specs.

    So I'm thinking what you are seeing is normal.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    container_ship
    Offline

    Junior Member

    Posts: 10
    Threads: 1
    Joined: 2024 Jul
    Reputation: 0
    #9
    2024-07-03, 08:13 PM
    Well if that's the case than so be it. I checked my SDR content and here I get over 200 fps.

    Little fun fact to close this, my system is based on yours. I always came across your posts while researching hardware for Jellyfin so I took some inspiration.
    1
    nyanmisaka
    Offline

    Team Member

    Posts: 258
    Threads: 0
    Joined: 2023 Jun
    Reputation: 10
    #10
    2024-07-04, 02:50 AM
    Hardware decoding is not enabled.
    Pages (2): 1 2 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 3 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