-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error during set display handle #233
Comments
Possibly related,
@deepglugs Thoughts? |
My output is identical to yours. I always get error -17, so I'm not sure it's related exactly to #218. Also tried vp9_qsv with the same results as well. hw acceleration is just broken for me. Here's the command I use: ONEVPL_SEARCH_PATH=/opt/intel/oneapi/lib/intel64/ /usr/local/bin/ffmpeg -loglevel verbose -i crypt_parthanon_3.webm -c:v av1_qsv ../test_av1.webm |
BTW have you tried the latest libvpl2 and intel-media-va-driver-non-free pkgs? |
I'm on linux 6.2rc7 and libva (2.17.0) + media driver (23.1.1) from source.
|
@nyanmisaka Linux Kernel 6.2 final + latest 23.04 Ubuntu server@server:~$ uname -a
Linux server 6.2.0-060200-generic #202302191831 SMP PREEMPT_DYNAMIC Sun Feb 19 23:37:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
server@server:~$ sudo dmesg | grep i915
[sudo] password for server:
[ 2.858449] i915 0000:03:00.0: [drm] VT-d active for gfx access
[ 2.858539] i915 0000:03:00.0: vgaarb: deactivate vga console
[ 2.858577] i915 0000:03:00.0: [drm] Local memory IO size: 0x000000017c800000
[ 2.858578] i915 0000:03:00.0: [drm] Local memory available: 0x000000017c800000
[ 2.874756] i915 0000:03:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none
[ 2.877740] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
[ 2.893210] i915 0000:03:00.0: [drm] GuC firmware i915/dg2_guc_70.bin version 70.5.1
[ 2.893212] i915 0000:03:00.0: [drm] HuC firmware i915/dg2_huc_gsc.bin version 7.10.3
[ 2.904147] i915 0000:03:00.0: [drm] GuC submission enabled
[ 2.904148] i915 0000:03:00.0: [drm] GuC SLPC enabled
[ 2.904430] i915 0000:03:00.0: [drm] GuC RC: enabled
[ 2.938833] [drm] Initialized i915 1.6.0 20201103 for 0000:03:00.0 on minor 0
[ 2.939380] snd_hda_intel 0000:04:00.0: bound 0000:03:00.0 (ops i915_audio_component_bind_ops [i915])
[ 2.968405] fbcon: i915drmfb (fb0) is primary device
[ 3.010637] i915 0000:03:00.0: [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[ 3.049606] i915 0000:03:00.0: [drm] fb0: i915drmfb frame buffer device
[ 3.112984] mei_gsc i915.mei-gscfi.768: FW not ready: resetting: dev_state = 2 pxp = 0
[ 3.113004] mei_gsc i915.mei-gscfi.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670000 00000000 00000000 E0020002 00000000
[ 3.113773] mei_gsc i915.mei-gsc.768: FW not ready: resetting: dev_state = 2 pxp = 2
[ 3.113799] mei_gsc i915.mei-gsc.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670000 00000000 00000000 E0020002 00000000
[ 3.517655] i915 0000:03:00.0: [drm] HuC authenticated
[ 3.517659] mei_pxp i915.mei-gsc.768-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:03:00.0 (ops i915_pxp_tee_component_ops [i915]) |
Both dmesgs seem fine. Can you try By design the legacy MSDK loader can still load VPL runtime. If it works then there's something wrong with VPL itself. |
I've been using Arc A380 with our jellyfin-ffmpeg for months. You can try this deb for Ubuntu lunar/nightly. |
@nyanmisaka Using:
server@server:~/Desktop$ ./ffmpeg -loglevel verbose -hwaccel qsv -i ./BigBuckBunny.mp4 -c:v h264_qsv -y output.mp4
ffmpeg version N-109879-g42bf52b4c5-20230219 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-libxcb --enable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-mbedtls --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --disable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags=-pie --extra-libs='-ldl -lgomp' --extra-version=20230219
libavutil 58. 1.100 / 58. 1.100
libavcodec 60. 2.100 / 60. 2.100
libavformat 60. 2.100 / 60. 2.100
libavdevice 60. 0.100 / 60. 0.100
libavfilter 9. 2.100 / 9. 2.100
libswscale 7. 0.100 / 7. 0.100
libswresample 4. 9.100 / 4. 9.100
libpostproc 57. 0.100 / 57. 0.100
[h264 @ 0x5652b03f7bc0] Reinit context to 1280x720, pix_fmt: yuv420p
WARNING: defaulting hwaccel_output_format to qsv for compatibility with old commandlines. This behaviour is DEPRECATED and will be removed in the future. Please explicitly set "-hwaccel_output_format qsv".
Selecting decoder 'h264_qsv' because of requested hwaccel method qsv
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './BigBuckBunny.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-01-10T08:29:06.000000Z
Duration: 00:09:56.47, start: 0.000000, bitrate: 2119 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 1991 kb/s, 24 fps, 24 tbr, 24k tbn (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
[AVHWDeviceContext @ 0x5652b04670c0] Trying to use DRM render node for device 0, with matching kernel driver (i915).
[AVHWDeviceContext @ 0x5652b04670c0] libva: VA-API version 1.17.0
[AVHWDeviceContext @ 0x5652b04670c0] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x5652b04670c0] libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x5652b04670c0] libva: Found init function __vaDriverInit_1_17
[AVHWDeviceContext @ 0x5652b04670c0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5652b04670c0] Initialised VAAPI connection: version 1.17
[AVHWDeviceContext @ 0x5652b04670c0] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ().
[AVHWDeviceContext @ 0x5652b04670c0] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x5652b042c740] Use Intel(R) oneVPL to create MFX session, API version is 2.8, the required implementation version is 1.3
[AVHWDeviceContext @ 0x5652b042c740] Initialize MFX session: implementation version is 1.35
[AVHWDeviceContext @ 0x5652b042c740] Error setting child device handle: -17
Device creation failed: -1313558101.
No device available for decoder: device type qsv needed for codec h264_qsv.
Stream mapping:
Stream #0:1 -> #0:0 (h264 (h264_qsv) -> h264 (h264_qsv))
Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Device setup failed for decoder on input stream #0:1 : Unknown error occurred
[AVIOContext @ 0x5652b042cd00] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x5652b03fd300] Statistics: 206979 bytes read, 0 seeks |
@gnat Can you have a try with the deb package I linked above?
|
@nyanmisaka Yeah. Seems like there may have been a regression: h264_qsv
server@server:~/Desktop$ /usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel verbose -hwaccel qsv -i ./BigBuckBunny.mp4 -c:v h264_qsv -y output.mp4
ffmpeg version 5.1.2-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12 (Ubuntu 12.2.0-14ubuntu1)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --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-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
[h264 @ 0x55707211d1c0] Reinit context to 1280x720, pix_fmt: yuv420p
WARNING: defaulting hwaccel_output_format to qsv for compatibility with old commandlines. This behaviour is DEPRECATED and will be removed in the future. Please explicitly set "-hwaccel_output_format qsv".
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './BigBuckBunny.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-01-10T08:29:06.000000Z
Duration: 00:09:56.47, start: 0.000000, bitrate: 2119 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 1991 kb/s, 24 fps, 24 tbr, 24k tbn (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
[AVHWDeviceContext @ 0x557072153200] Trying to use DRM render node for device 0, with matching kernel driver (i915).
[AVHWDeviceContext @ 0x557072153200] libva: VA-API version 1.17.0
[AVHWDeviceContext @ 0x557072153200] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x557072153200] libva: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x557072153200] libva: Found init function __vaDriverInit_1_17
[AVHWDeviceContext @ 0x557072153200] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x557072153200] Initialised VAAPI connection: version 1.17
[AVHWDeviceContext @ 0x557072153200] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 (28379ea).
[AVHWDeviceContext @ 0x557072153200] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x55707212ef80] Initialize MFX session: API version is 1.35, implementation version is 1.255
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> h264 (h264_qsv))
Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[graph_1_in_0_0 @ 0x5570731ee240] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:stereo
[h264 @ 0x5570724c7a00] Reinit context to 1280x720, pix_fmt: yuv420p
[graph 0 input from stream 0:1 @ 0x5570738135c0] w:1280 h:720 pixfmt:yuv420p tb:1/24000 fr:24/1 sar:1/1
[auto_scale_0 @ 0x557073816000] w:iw h:ih flags:'' interl:0
[format @ 0x557073813f80] auto-inserting filter 'auto_scale_0' between the filter 'Parsed_null_0' and the filter 'format'
[auto_scale_0 @ 0x557073816000] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:1280 h:720 fmt:nv12 sar:1/1 flags:0x0
[h264_qsv @ 0x557072155380] Using device qsv0 (type qsv) with h264_qsv encoder.
[h264_qsv @ 0x557072155380] Encoder: input is system memory surface
[h264_qsv @ 0x557072155380] Using the variable bitrate (VBR) ratecontrol method
[h264_qsv @ 0x557072155380] MFMode:2
[h264_qsv @ 0x557072155380] profile: avc high; level: 31
[h264_qsv @ 0x557072155380] GopPicSize: 250; GopRefDist: 4; GopOptFlag: closed ; IdrInterval: 0
[h264_qsv @ 0x557072155380] TargetUsage: 4; RateControlMethod: VBR
[h264_qsv @ 0x557072155380] BufferSizeInKB: 375; InitialDelayInKB: 187; TargetKbps: 1000; MaxKbps: 1500; BRCParamMultiplier: 1
[h264_qsv @ 0x557072155380] NumSlice: 1; NumRefFrame: 3
[h264_qsv @ 0x557072155380] RateDistortionOpt: OFF
[h264_qsv @ 0x557072155380] RecoveryPointSEI: OFF
[h264_qsv @ 0x557072155380] VDENC: ON
[h264_qsv @ 0x557072155380] Entropy coding: CABAC; MaxDecFrameBuffering: 3
[h264_qsv @ 0x557072155380] NalHrdConformance: ON; SingleSeiNalUnit: ON; VuiVclHrdParameters: OFF VuiNalHrdParameters: ON
[h264_qsv @ 0x557072155380] FrameRateExtD: 1; FrameRateExtN: 24
[h264_qsv @ 0x557072155380] IntRefType: 0; IntRefCycleSize: 0; IntRefQPDelta: 0
[h264_qsv @ 0x557072155380] MaxFrameSize: 345600; MaxSliceSize: 0;
[h264_qsv @ 0x557072155380] BitrateLimit: ON; MBBRC: OFF; ExtBRC: OFF
[h264_qsv @ 0x557072155380] Trellis: auto
[h264_qsv @ 0x557072155380] RepeatPPS: OFF; NumMbPerSlice: 0; LookAheadDS: 2x
[h264_qsv @ 0x557072155380] AdaptiveI: OFF; AdaptiveB: OFF; BRefType: pyramidMinQPI: 0; MaxQPI: 0; MinQPP: 0; MaxQPP: 0; MinQPB: 0; MaxQPB: 0
[h264_qsv @ 0x557072155380] DisableDeblockingIdc: 0
[h264_qsv @ 0x557072155380] PRefType: default
[h264_qsv @ 0x557072155380] TransformSkip: unknown
[h264_qsv @ 0x557072155380] IntRefCycleDist: 0
[h264_qsv @ 0x557072155380] LowDelayBRC: OFF
[h264_qsv @ 0x557072155380] MaxFrameSizeI: 0; MaxFrameSizeP: 0
Output #0, mp4, to 'output.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
encoder : Lavf59.27.100
Stream #0:0(und): Video: h264, 1 reference frame (avc1 / 0x31637661), nv12(tv, progressive, left), 1280x720 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 1000 kb/s, 24 fps, 12288 tbn (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, delay 1024, 128 kb/s (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
encoder : Lavc59.37.100 aac
No more output streams to write to, finishing.e=00:09:52.01 bitrate=1147.7kbits/s speed=31.9x
frame=14315 fps=765 q=29.0 Lsize= 84199kB time=00:09:56.47 bitrate=1156.4kbits/s speed=31.9x
video:74312kB audio:9423kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.554258%
Input file #0 (./BigBuckBunny.mp4):
Input stream #0:0 (audio): 25688 packets read (9363691 bytes); 25688 frames decoded (26304512 samples);
Input stream #0:1 (video): 14315 packets read (148465020 bytes); 14315 frames decoded;
Total: 40003 packets (157828711 bytes) demuxed
Output file #0 (output.mp4):
Output stream #0:0 (video): 14315 frames encoded; 14315 packets muxed (76095869 bytes);
Output stream #0:1 (audio): 25688 frames encoded (26304512 samples); 25689 packets muxed (9648905 bytes);
Total: 40004 packets (85744774 bytes) muxed
[AVIOContext @ 0x557072150980] Statistics: 86220053 bytes written, 16 seeks, 341 writeouts
[aac @ 0x5570721512c0] Qavg: 702.436
[AVIOContext @ 0x557072122b00] Statistics: 158008374 bytes read, 0 seeks av1_qsv
server@server:~/Desktop$ /usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel verbose -hwaccel qsv -i ./BigBuckBunny.mp4 -c:v av1_qsv -y output.mp4
ffmpeg version 5.1.2-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12 (Ubuntu 12.2.0-14ubuntu1)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --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-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
[h264 @ 0x55ef701cc1c0] Reinit context to 1280x720, pix_fmt: yuv420p
WARNING: defaulting hwaccel_output_format to qsv for compatibility with old commandlines. This behaviour is DEPRECATED and will be removed in the future. Please explicitly set "-hwaccel_output_format qsv".
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './BigBuckBunny.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-01-10T08:29:06.000000Z
Duration: 00:09:56.47, start: 0.000000, bitrate: 2119 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 1991 kb/s, 24 fps, 24 tbr, 24k tbn (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
Unknown encoder 'av1_qsv'
[AVIOContext @ 0x55ef701d1b00] Statistics: 206979 bytes read, 0 seeks |
@gnat Since ffmpeg 6.0 has not been released so we are still using 5.1.2, which doesn't have
It seems you didn't install the VPL runtime. Can you install |
You should see this if the VPL runtime is correctly installed: 1.35 => MSDK runtime for TGL, RKL, DG1 and older platforms |
|
Our av1_qsv requires libvpl2 pkg contains:
|
I think I found my issue. I have vpl, but vpl can't create a mfx session because libmfxgen1 isn't installed... which is the vpl runtime for dg2 gpu (I think). av1_qsv and vp9_qsv seem to work now for me. It's confusing because I had libmfx installed. I thought gen1 was for older GPUs. |
https://www.intel.com/content/www/us/en/developer/articles/guide/onevpl-installation-guide.html It is from intel's repo and there's no |
Is it weird that ffmpeg tries to create an mfx session even when |
MFX is a unified name for both libvpl and libmfx. libvpl is a newer libmfx but they changed the name to libvpl so they are mutually exclusive. |
Latest cartwheel-ffmpeg locally compiled + Same result with either
server@server:~/Desktop$ ./ffmpeg -loglevel verbose -hwaccel qsv -i ./BigBuckBunny.mp4 -c:v av1_qsv -y output.mp4
ffmpeg version 5.1.git Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Ubuntu 12.2.0-14ubuntu1)
configuration: --prefix=/home/server/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/server/ffmpeg_build/include --extra-ldflags=-L/home/server/ffmpeg_build/lib --extra-libs='-lpthread -lm' --ld=g++ --bindir=/home/server/bin --enable-gpl --enable-gnutls --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libsvtav1 --enable-libdav1d --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libvpl --disable-libmfx --enable-nonfree
libavutil 58. 3.100 / 58. 3.100
libavcodec 60. 4.100 / 60. 4.100
libavformat 60. 4.100 / 60. 4.100
libavdevice 60. 2.100 / 60. 2.100
libavfilter 9. 4.100 / 9. 4.100
libswscale 7. 2.100 / 7. 2.100
libswresample 4. 11.100 / 4. 11.100
libpostproc 57. 2.100 / 57. 2.100
[h264 @ 0x557486a87340] Reinit context to 1280x720, pix_fmt: yuv420p
WARNING: defaulting hwaccel_output_format to qsv for compatibility with old commandlines. This behaviour is DEPRECATED and will be removed in the future. Please explicitly set "-hwaccel_output_format qsv".
Selecting decoder 'h264_qsv' because of requested hwaccel method qsv
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './BigBuckBunny.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-01-10T08:29:06.000000Z
Duration: 00:09:56.47, start: 0.000000, bitrate: 2119 kb/s
Stream #0:0[0x1](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 1991 kb/s, 24 fps, 24 tbr, 24k tbn (default)
Metadata:
creation_time : 2010-01-10T08:29:06.000000Z
handler_name : (C) 2007 Google Inc. v08.13.2007.
vendor_id : [0][0][0][0]
[AVHWDeviceContext @ 0x557486acf1c0] Trying to use DRM render node for device 0.
[AVHWDeviceContext @ 0x557486acf1c0] libva: VA-API version 1.17.0
[AVHWDeviceContext @ 0x557486acf1c0] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x557486acf1c0] libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x557486acf1c0] libva: Found init function __vaDriverInit_1_17
[AVHWDeviceContext @ 0x557486acf1c0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x557486acf1c0] Initialised VAAPI connection: version 1.17
[AVHWDeviceContext @ 0x557486acf1c0] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ().
[AVHWDeviceContext @ 0x557486acf1c0] Driver not found in known nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x557486a97940] Use Intel(R) oneVPL to create MFX session, API version is 2.8, the required implementation version is 1.3
[AVHWDeviceContext @ 0x557486a97940] Initialize MFX session: implementation version is 1.35
[AVHWDeviceContext @ 0x557486a97940] Error setting child device handle: -17
Device creation failed: -1313558101.
No device available for decoder: device type qsv needed for codec h264_qsv.
Stream mapping:
Stream #0:1 -> #0:0 (h264 (h264_qsv) -> av1 (av1_qsv))
Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Device setup failed for decoder on input stream #0:1 : Unknown error occurred
[AVIOContext @ 0x557486abcb40] Statistics: 0 bytes written, 0 seeks, 0 writeouts
[AVIOContext @ 0x557486a8cdc0] Statistics: 206979 bytes read, 0 seeks |
Do you have an Intel iGPU on your system? Such as UHD 630 or so. https://github.com/Intel-Media-SDK/MediaSDK/#media-sdk-support-matrix
|
Arc A380 + BIOS disabled iGPU on the Ryzen 7900 |
Adding |
|
|
There's a known issue: intel/vpl-gpu-rt#267 For the record: |
Unfortunately, the same core dump even with the reverted, re-compiled libmfx (after
|
Maybe add some parameters to the encoder? It works the last time I tried in Arch Linux. |
No luck, visited the Arch BBS and tried some of their settings as well. Sometimes it'll core dump slightly later like |
Wanted to remind readers up to this point, this Arc's AV1 Encoding works fine on Windows, so I'm fairly certain it's not a problem with the hardware. |
I tried this command on my side:
If you don't have sample_encode in your environment, you can install them |
Fresh install, Linux Kernel 6.2 final + Ubuntu 23.04 latest daily.
|
Retried with a different input file: http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4 Identical result. |
Could you try the latest stable packages from https://github.com/oneapi-src/oneVPL-intel-gpu/releases/tag/intel-onevpl-22.6.5 ? You may build each component from source code or download the tar ball ( https://github.com/oneapi-src/oneVPL-intel-gpu/releases/download/intel-onevpl-22.6.5/MediaStack.tar.gz) , untar the ball then run install_media.sh to install the media stack. |
You may run vpl-inspect to check the library path for VPL runtime. |
Slightly different output after installing with
Attempt to use software decoding first then
|
@gnat I update my kernal to 6.2 and I have some problem as well, but it is not as same as yours. Here is my experiment.
I cannot reproduce the exactly same problem, so I put my configuration steps here. Hope it can help you. |
Yep I can also confirm using git version of all these Intel drivers and libs works for me on Arc A380. @gnat You can also try the |
One of the major features of Linux Kernel 6.2 was the intel driver for the Arc GPU is built-in... This currently works great for 3D acceleration (gaming), out of the box! @nyanmisaka 🔴 The only remaining issue: video encode for AV1 is broken somewhere in the stack. Re-cap for people following along...🟢
|
Closing and moving to new issue since it's a different issue at this point: #235 |
Good day, this error message is caused by missing MediaSDK lib/libmfx* libs and in some systems such as Ubuntu or Debian, it must be under /usr/lib instead of /opt/intel also /usr/local/lib was not possible. FFmpeg with oneVPL does still depend on extra MediaSDK runtimes. if both MediaSDK and oneVPL-intel-gpu libs is installed under /usr/lib , the message will be gone. I hope it is clear now. |
@Feierkuula According to https://spec.oneapi.io/versions/latest/elements/oneVPL/source/programming_guide/VPL_prg_session.html, you should be able to use /opt/intel/lib or /usr/local/lib if you added them into LD_LIBRARY_PATH |
YES! This indeed solved the problem for me. Man this is again one of these weird Intel buggish phenomenons. The average Joe would never be able to solve this. I'm on Manjaro (Arch) and in my case i had to install onevpl-intel-gpu even though libvpl was already installed. Thanks! |
@VeederLicht libvpl and onevpl-intel-gpu are two different libraries. libvpl is the VPL dispatcher, however onevpl-intel-gpu is the implementation for Intel® Iris® Xe graphics and newer, please refer to https://github.com/intel/libvpl?tab=readme-ov-file#intel-video-processing-library-intel-vpl for more info. |
Trying to get the Intel Arc A380 AV1 Encoder working on Linux 6.2
🟢 Issue re-cap / progress update: #233 (comment)
➡️ Moved to new issue: #235
Ubuntu 23.04 daily build: https://cdimage.ubuntu.com/daily-live/
Kernel 6.2-rc8: https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.2-rc8/
Kernel updated using: https://sypalo.com/how-to-update-ubuntu
Test Media: http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
Encoding works fine in windows 10, tested using handbrake. 👍
Encoding does NOT work Linux 😦 ; but gaming and typical 3D acceleration works fine. 👍
Restarting does not help.
./ffmpeg -loglevel verbose -i ./BigBuckBunny.mp4 -c:v av1_qsv -y output.mp4
Tried with the following ffmpeg versions, same result:
This looks to be it:
Emitted from a fail to call
MFXVideoCORE_SetHandle
on this line in/libavcodec/qsv.c
: https://github.com/FFmpeg/FFmpeg/blob/9f7e51e513665a72fb753887666259a883487947/libavcodec/qsv.c#L486Any insight? Thanks.
The text was updated successfully, but these errors were encountered: