Jellyfin Forum
Intel ARC Transcoding failure - 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: Intel ARC Transcoding failure (/t-intel-arc-transcoding-failure)

Pages: 1 2


Intel ARC Transcoding failure - viggy96 - 2025-01-21

I've been trying to get hardware transcoding to work on my server using an Intel ARC A380 card. 
I'm using Ubuntu 24.04, kernel 6.8.0-51.
Official Jellyfin Docker container.
When I run commands to test if transcoding will work, they seem to suggest it will.
Also, intel_gpu_top shows activity like its trying to transcode.
Here's the full FFmpeg logs.
VAAPI: https://pastebin.com/63L77PRa
QSV: https://pastebin.com/P1wvTVS8

dco exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device qsv=hw -init_hw_device qsv@hw
ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
[AVHWDeviceContext @ 0x5ddac6052a80] Trying to use DRM render node for device 0, with matching vendor id (0x8086).
[AVHWDeviceContext @ 0x5ddac6052a80] libva: VA-API version 1.22.0
[AVHWDeviceContext @ 0x5ddac6052a80] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x5ddac6052a80] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x5ddac6052a80] libva: Found init function __vaDriverInit_1_22
[AVHWDeviceContext @ 0x5ddac6052a80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5ddac6052a80] Initialised VAAPI connection: version 1.22
[AVHWDeviceContext @ 0x5ddac6052a80] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 24.4.2 (b6b411f).
[AVHWDeviceContext @ 0x5ddac6052a80] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x5ddac6052640] Use Intel® oneVPL to create MFX session, API version is 2.13, the required implementation version is 1.3
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5ddac6052640] Initialize MFX session: implementation version is 2.13
Universal media converter
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

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

dco exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=vaConfused-facedev/dri/renderD128 -init_hw_device opencl@va
ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 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=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --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      59.  8.100 / 59.  8.100
  libavcodec    61.  3.100 / 61.  3.100
  libavformat    61.  1.100 / 61.  1.100
  libavdevice    61.  1.100 / 61.  1.100
  libavfilter    10.  1.100 / 10.  1.100
  libswscale      8.  1.100 /  8.  1.100
  libswresample  5.  1.100 /  5.  1.100
  libpostproc    58.  1.100 / 58.  1.100
[AVHWDeviceContext @ 0x56c17dd22640] libva: VA-API version 1.22.0
[AVHWDeviceContext @ 0x56c17dd22640] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x56c17dd22640] libva: Found init function __vaDriverInit_1_22
[AVHWDeviceContext @ 0x56c17dd22640] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x56c17dd22640] Initialised VAAPI connection: version 1.22
[AVHWDeviceContext @ 0x56c17dd22640] VAAPI driver: Intel iHD driver for Intel® Gen Graphics - 24.4.2 (b6b411f).
[AVHWDeviceContext @ 0x56c17dd22640] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x56c17dd5e3c0] 0.0: Intel® OpenCL Graphics / Intel® Arc™ A380 Graphics
[AVHWDeviceContext @ 0x56c17dd5e3c0] Intel QSV to OpenCL mapping function found (clCreateFromVA_APIMediaSurfaceINTEL).
[AVHWDeviceContext @ 0x56c17dd5e3c0] Intel QSV in OpenCL acquire function found (clEnqueueAcquireVA_APIMediaSurfacesINTEL).
[AVHWDeviceContext @ 0x56c17dd5e3c0] Intel QSV in OpenCL release function found (clEnqueueReleaseVA_APIMediaSurfacesINTEL).
Universal media converter
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

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


RE: Intel ARC Transcoding failure - gnattu - 2025-01-21

It appears that the file you intend to play contains unusual data that the hardware decoder encounters an issue with.


RE: Intel ARC Transcoding failure - nyanmisaka - 2025-01-21

GPU's GuC/HuC firmware loading has failed.

Check https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#arc-gpu-support

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux


RE: Intel ARC Transcoding failure - viggy96 - 2025-01-22

(2025-01-21, 02:12 PM)nyanmisaka Wrote: GPU's GuC/HuC firmware loading has failed.

Check https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#arc-gpu-support

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

I've already checked GuC and HuC. When I run the commands to check the status, they appear to be running correctly.
sudo cat /sys/kernel/debug/dri/1/gt0/uc/guc_info

GuC firmware: i915/dg2_guc_70.bin
status: RUNNING
version: found 70.20.0
uCode: 409856 bytes
RSA: 384 bytes
GuC status 0x8002f034:
Bootrom status = 0x1a
uKernel status = 0xf0
MIA Core status = 0x2
Scratch registers:
0: 0x0
1: 0xb03d7
2: 0x42c800
3: 0x4
4: 0x40
5: 0x3a0
6: 0x56a50005
7: 0x0
8: 0x0
9: 0x0
10: 0x0
11: 0x0
12: 0x0
13: 0x0
14: 0x0
15: 0x0

GuC logging stats:
Relay full count: 0
DEBUG: flush count          0, overflow count          0
CRASH: flush count          0, overflow count          0
CAPTURE: flush count        74, overflow count          0
CT enabled
H2G Space: 2852
Head: 306
Tail: 306
G2H Space: 12284
Head: 320
Tail: 320
GuC Submission API Version: 1.9.0
GuC Number Outstanding Submission G2H: 0
GuC tasklet count: 0
Requests in GuC submit tasklet:

Global scheduling policies:
  DPC promote time  = 500000
  Max num work items = 15
  Flags              = 0

sudo cat /sys/kernel/debug/dri/1/gt0/uc/huc_info

HuC firmware: i915/dg2_huc_gsc.bin
status: RUNNING
version: found 7.10.3
uCode: 0 bytes
RSA: 0 bytes
HuC status: 0x00164001

I do see these errors repeating in dmesg | grep "i915":

[369568.292626] Fence expiration time out i915-0000:83:00.0:vf#0:0[172986]:4!
[369575.839717] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:10:e75ffefe, in vf#0:0 [172986]
[369575.839745] i915 0000:83:00.0: [drm] vf#0:0[172986] context reset due to GPU hang
[369581.302844] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173341]
[369581.302872] i915 0000:83:00.0: [drm] av:h264:df0[173341] context reset due to GPU hang
[369587.254425] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173341]
[369587.254453] i915 0000:83:00.0: [drm] av:h264:df0[173341] context reset due to GPU hang
[369593.270410] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173341]
[369593.270439] i915 0000:83:00.0: [drm] av:h264:df0[173341] context reset due to GPU hang
[369612.534503] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173697]
[369612.534532] i915 0000:83:00.0: [drm] av:h264:df0[173697] context reset due to GPU hang
[369618.551027] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173697]
[369618.551056] i915 0000:83:00.0: [drm] av:h264:df0[173697] context reset due to GPU hang
[369624.502370] i915 0000:83:00.0: [drm] GPU HANG: ecode 12:4:a77ffefe, in av:h264:df0 [173697]
[369624.502399] i915 0000:83:00.0: [drm] av:h264:df0[173697] context reset due to GPU hang

(2025-01-21, 09:33 AM)gnattu Wrote: It appears that the file you intend to play contains unusual data that the hardware decoder encounters an issue with.

This happens with many files though, not just the one I've shown as an example.


RE: Intel ARC Transcoding failure - TheDreadPirate - 2025-01-22

Is this the first time you've used your Arc A380? I'm wondering if the card's firmware is very old.

I wrote a guide for updating your Arc GPU's firmware in Linux.

https://forum.jellyfin.org/t-flash-intel-arc-gpu-firmware-in-linux

The alternative is to throw this GPU in a Windows system. Intels driver installer also includes a firmware installer.


RE: Intel ARC Transcoding failure - viggy96 - 2025-01-23

(2025-01-22, 10:38 PM)TheDreadPirate Wrote: Is this the first time you've used your Arc A380?  I'm wondering if the card's firmware is very old.

I wrote a guide for updating your Arc GPU's firmware in Linux.

https://forum.jellyfin.org/t-flash-intel-arc-gpu-firmware-in-linux

The alternative is to throw this GPU in a Windows system.  Intels driver installer also includes a firmware installer.

I've never used this card in anything except my server, and I've been trying for a while to get it to work for transcoding. And unfortunately I don't have any Windows system to put it in. I'll give your instructions a try, thanks.


RE: Intel ARC Transcoding failure - nyanmisaka - 2025-01-23

What CPU and motherboard are you using? Do they support Resizable-BAR?

Intel actually only supports ARC GPUs on a limited set of platforms.

https://www.intel.com/content/www/us/en/support/articles/000096161/graphics.html


RE: Intel ARC Transcoding failure - viggy96 - 2025-01-23

Hmm, didn't seem to do anything. Still get the same errors.

(2025-01-23, 08:14 AM)nyanmisaka Wrote: What CPU and motherboard are you using? Do they support Resizable-BAR?

Intel actually only supports ARC GPUs on a limited set of platforms.

https://www.intel.com/content/www/us/en/support/articles/000096161/graphics.html

I'm using a ASRock Rack ROMED8-2T motherboard, with an EPYC 7702 processor. And resizable BAR is enabled in the BIOS.


RE: Intel ARC Transcoding failure - nyanmisaka - 2025-01-23

They are new enough. I think the error is due to VBIOS or driver.

If the output of sudo dmesg | grep i915 shows any other errors besides the above errors?


RE: Intel ARC Transcoding failure - viggy96 - 2025-01-23

No other errors in dmesg other than the ones I already shared above, a bunch of messages about GPU hang.
I'm using the upstream driver in the kernel at the moment.