• 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 General Questions Truenas Scale Hardware Transcoding

     
    • 0 Vote(s) - 0 Average

    Truenas Scale Hardware Transcoding

    Intel Arc a310 Hardware transcoding settings
    stormblessed
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2025 Feb
    Reputation: 0
    Country:Spain
    #1
    2025-02-10, 11:25 AM
    I have Jellyfin running on Truenas Scale 24.10.2 with a Intel Arc a310, hardware transcoding is enabled and so far everything works perfectly.

    My question is if I can enable the Low-Power H.264 hardware encoder and Low-Power HEVC hardware encoder?

    I have tried to find out if the firmware is configured correctly on Truenas but haven't been able to find the information.

    Any help would be great!


    Attached Files Thumbnail(s)
       
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,373
    Threads: 10
    Joined: 2023 Jun
    Reputation: 465
    Country:United States
    #2
    2025-02-10, 02:40 PM
    You should enable both. It is required for Intel Arc when encoding to those codecs.

    On the TrueNAS command line run this command and share the output.

    Code:
    sudo dmesg | grep i915

    Depending on the uptime of your server, it may have aged off the messages we are looking for. But you can also go to /var/log and run a grep command to search the archived dmesg log files.

    Code:
    grep i915 /var/log/dmesg.1
    zgrep i915 /var/log/dmesg.*.gz
    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]
    stormblessed
    Offline

    Junior Member

    Posts: 2
    Threads: 1
    Joined: 2025 Feb
    Reputation: 0
    Country:Spain
    #3
    2025-02-11, 06:07 PM
    This is the output:

    Code:
    [    9.657297] i915 0000:03:00.0: [drm] VT-d active for gfx access
    [    9.657400] i915 0000:03:00.0: vgaarb: deactivate vga console
    [    9.657426] i915 0000:03:00.0: [drm] Local memory IO size: 0x00000000fd000000
    [    9.657428] i915 0000:03:00.0: [drm] Local memory available: 0x00000000fd000000
    [    9.673887] i915 0000:03:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=none
    [    9.681089] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
    [    9.686444] i915 0000:03:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.bin version 70.20.0
    [    9.686448] i915 0000:03:00.0: [drm] GT0: HuC firmware i915/dg2_huc_gsc.bin version 7.10.15
    [    9.695472] i915 0000:03:00.0: [drm] GT0: GUC: submission enabled
    [    9.695475] i915 0000:03:00.0: [drm] GT0: GUC: SLPC enabled
    [    9.695736] i915 0000:03:00.0: [drm] GT0: GUC: RC enabled
    [    9.735937] [drm] Initialized i915 1.6.0 20201103 for 0000:03:00.0 on minor 0
    [    9.737003] snd_hda_intel 0000:04:00.0: bound 0000:03:00.0 (ops i915_audio_component_bind_ops [i915])
    [    9.737423] i915 0000:03:00.0: [drm] Cannot find any crtc or sizes
    [    9.769103] i915 0000:03:00.0: [drm] Cannot find any crtc or sizes
    [    9.794456] mei_gsc i915.mei-gscfi.768: FW not ready: resetting: dev_state = 2 pxp = 0
    [    9.794515] mei_gsc i915.mei-gscfi.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670008 00000000 00000000 E0020002 00000000
    [    9.795252] mei_gsc i915.mei-gsc.768: FW not ready: resetting: dev_state = 2 pxp = 2
    [    9.795312] mei_gsc i915.mei-gsc.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670008 00000000 00000000 E0020002 00000000
    [  10.201830] i915 0000:03:00.0: [drm] GT0: HuC: authenticated for all workloads
    [  10.201840] mei_pxp i915.mei-gsc.768-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:03:00.0 (ops i915_pxp_tee_component_ops [i915])

    What should I do then?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,373
    Threads: 10
    Joined: 2023 Jun
    Reputation: 465
    Country:United States
    #4
    2025-02-11, 06:14 PM
    That looks ok. You should be able to check both low power encoding boxes.
    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]
    1
    serendipitist
    Offline

    Junior Member

    Posts: 1
    Threads: 0
    Joined: 2025 Nov
    Reputation: 0
    #5
    Today, 12:24 AM
    I'm running TrueNAS Scale 25.10 and just installed an ARC A310 as the latest version of Scale dropped support for my aging NVIDIA Quadro P620. I've got Jellyfin installed as a TrueNAS App and have selected to pass through the GPU to the App, however, I can't get hardware transcoding to work. I'm checking
    Code:
    intel_gpu_top
    when streaming from a remote client over mobile where I've capped the remote bitrate to something quite low, but the A310 doesn't seem to come into play. Some deets:

    Code:
    sudo dmsg - i | grep i915

    Code:
    [    9.641667] i915 0000:0a:00.0: enabling device (0000 -> 0002)
    [    9.641695] i915 0000:0a:00.0: [drm] Found DG2/G11 (device ID 56a6) display version 13.00 stepping C0
    [    9.642589] i915 0000:0a:00.0: [drm] VT-d active for gfx access
    [    9.642637] i915 0000:0a:00.0: [drm] Can't resize LMEM BAR - platform support is missing
    [    9.642650] i915 0000:0a:00.0: [drm] Using a reduced BAR size of 256MiB. Consider enabling 'Resizable BAR' or similar, if available in the BIOS.
    [    9.657741] i915 0000:0a:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
    [    9.662369] i915 0000:0a:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
    [    9.672217] i915 0000:0a:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.bin version 70.36.0
    [    9.672223] i915 0000:0a:00.0: [drm] GT0: HuC firmware i915/dg2_huc_gsc.bin version 7.10.16
    [    9.681806] i915 0000:0a:00.0: [drm] GT0: GUC: submission enabled
    [    9.681810] i915 0000:0a:00.0: [drm] GT0: GUC: SLPC enabled
    [    9.682067] i915 0000:0a:00.0: [drm] GT0: GUC: RC enabled
    [    9.745664] [drm] Initialized i915 1.6.0 for 0000:0a:00.0 on minor 1
    [    9.825129] i915 0000:0a:00.0: [drm] Cannot find any crtc or sizes
    [    9.825139] snd_hda_intel 0000:0b:00.0: bound 0000:0a:00.0 (ops i915_audio_component_bind_ops [i915])
    [    9.865131] i915 0000:0a:00.0: [drm] Cannot find any crtc or sizes
    [  10.591044] i915 0000:0a:00.0: [drm] GT0: HuC: authenticated for all workloads
    [  10.591051] mei_pxp i915.mei-gsc.2560-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:0a:00.0 (ops i915_pxp_tee_component_ops [i915])

    On startup the logs show:
    Code:
    MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]

    And the Transcoding setup has QSV selected and I've manually entered
    Code:
    /dev/dri/renderD128
    as the device, and all three options are selected under "Hardware encoding options"

    I checked and the container was not running with group permissions that had write access to 
    Code:
    /dev/dri/renderD128
    so I changed the group for the App to "render"

    Here's what log output looks like when I start streaming from a mobile device connected over LTE:

    Code:
    2025-11-16 00:22:11.397689+00:00[14:22:11] [INF] [52] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for darren. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
    2025-11-16 00:22:11.398166+00:00[14:22:11] [INF] [52] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 4000000, RemoteIP: 10.0.1.101, IsInLocalNetwork: True
    2025-11-16 00:22:12.336517+00:00[14:22:12] [INF] [47] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
    2025-11-16 00:22:12.361523+00:00[14:22:12] [INF] [47] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f matroska -i file:"<REDACTED>" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 dvh1 -strict -2 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "1ecdade647ff0fbd2a36e2a23971e66a-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/1ecdade647ff0fbd2a36e2a23971e66a%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/1ecdade647ff0fbd2a36e2a23971e66a.m3u8"
    2025-11-16 00:22:13.865123+00:00[14:22:13] [INF] [46] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for /cache/transcodes/1ecdade647ff0fbd2a36e2a23971e66a.m3u8
    2025-11-16 00:22:14.023952+00:00[14:22:14] [INF] [46] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
    2025-11-16 00:22:14.029840+00:00[14:22:14] [INF] [46] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
    2025-11-16 00:22:14.030878+00:00[14:22:14] [INF] [46] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -ss 00:30:14.300 -noaccurate_seek -fflags +genpts -f matroska -i file:" <REDACTED> " -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 dvh1 -strict -2 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "1ecdade647ff0fbd2a36e2a23971e66a-1.mp4" -start_number 302 -hls_segment_filename "/cache/transcodes/1ecdade647ff0fbd2a36e2a23971e66a%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/1ecdade647ff0fbd2a36e2a23971e66a.m3u8"
    2025-11-16 00:22:27.870983+00:00[14:22:27] [INF] [52] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0 

    I'll note I'm running on some fairly old hardware, circa-2018 Xeon E5-2640 machine, so I don't know if that's part of the problem or not.

    What might I be missing here?
    nyanmisaka
    Offline

    Team Member

    Posts: 303
    Threads: 0
    Joined: 2023 Jun
    Reputation: 16
    #6
    7 hours ago
    Check the ffmpeg logs.
    « 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