- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to use the graphics processor for some video encoding and decoding, below is my Hardware configuration:
- CPU model name : Intel(R) Core(TM) Ultra 7 155H
- GPU: Intel Meteorlake (Gen12) @ /dev/dri/card0
Drivers and host OS configuration:
- OS: Debian GNU/Linux 12 (bookworm)
- Kernel: 6.7.12+bpo-amd64
- vainfo:
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
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_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
I'm using Gstreamer to process my video and below is a sample Gstreamer pipeline I tried.
gst-launch-1.0 filesrc location=big_buck_bunny.mov ! parsebin ! vah264dec ! autovideosink
I got following error:
root@DEB-83D2-YX09T60P:~# GST_DEBUG=va*:3 gst-launch-1.0 filesrc location=./big_buck_bunny_720p_h264.mov ! parsebin ! vah264dec ! autovideosink
0:00:00.023626124 1270055 0x555d1df52ad0 ERROR vafilter gstvafilter.c:380:gst_va_filter_open:<vafilter0> vaCreateContext: resource allocation failed
0:00:00.023642460 1270055 0x555d1df52ad0 WARN va plugin.c:234:plugin_register_vpp: Failed open VA filter
Setting pipeline to PAUSED ...
MESA: warning: Driver does not support the 0x7d55 PCI ID.
MESA: warning: Driver does not support the 0x7d55 PCI ID.
Pipeline is PREROLLING ...
Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Got context from element 'vah264dec0': gst.va.display.handle=context, gst-display=(GstObject)"\(GstVaDisplayDrm\)\ vadisplaydrm1", description=(string)"Intel\ iHD\ driver\ for\ Intel\(R\)\ Gen\ Graphics\ -\ 23.1.1\ \(\)", path=(string)/dev/dri/renderD128;
Redistribute latency...
Redistribute latency...
0:00:00.104860846 1270055 0x7f645c0024c0 ERROR vadecoder gstvadecoder.c:331:gst_va_decoder_set_frame_size_with_surfaces:<vadecoder0> vaDestroyConfig: resource allocation failed
0:00:00.104875507 1270055 0x7f645c0024c0 ERROR vah264dec gstvabasedec.c:1112:gst_va_base_dec_prepare_output_frame:<vah264dec0> Failed to negotiate with downstream
0:00:00.104880793 1270055 0x7f645c0024c0 WARN vah264dec gstvah264dec.c:496:gst_va_h264_dec_new_picture:<vah264dec0> Failed to allocated output buffer, return not-negotiated
ERROR: from element /GstPipeline:pipeline0/GstParseBin:parsebin0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
../gst/isomp4/qtdemux.c(6937): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstParseBin:parsebin0/GstQTDemux:qtdemux0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Is there any problem with my drivers? Any suggestions would be appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the suggestion. I resolved the issue by getting pre-built firmware binaries for Debian from http://http.us.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/ . Specifically the below ones.
- firmware-intel-graphics_20230625-3~exp3_all.deb
- firmware-misc-nonfree_20230625-3~exp3_all.deb
- firmware-ti-connectivity_20230625-3~exp3_all.deb
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MESA 23.1.1 is out-of-date
Stable version 24.1.3 has been released this week.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the reply! I tried upgrading Mesa but however could not build it from source as there were lot of dependencies not supporting it. Even on the latest Ubuntu 24.04 (Noble).
Furthermore one interesting log I found in system bus when I ran `dmesg` was failure message to load the GuC firmware. Could this be the reason of the issue?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Based on the last message, I found that mtl_guc_70.bin, mtl_huc_gsc.bin and some other files were missing. I downloaded latest firmware from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 and placed it in as /lib/firmware/i915 and rebooted the device. However, now the firmware files were detected but another error was shown as below in the screenshot.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Get pre-built binaries from
https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa
Besides native drivers this repo even supports DZN on WSL
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the suggestion. I resolved the issue by getting pre-built firmware binaries for Debian from http://http.us.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/ . Specifically the below ones.
- firmware-intel-graphics_20230625-3~exp3_all.deb
- firmware-misc-nonfree_20230625-3~exp3_all.deb
- firmware-ti-connectivity_20230625-3~exp3_all.deb
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page