** Description changed:

  [ Impact ]
  
   * Users cannot use iGPU for video codec (encode/decode) on Intel Arrowlake 
CPUs
     on Ubuntu Noble 24.04
  
   * To enable this support, we need to backport this commit
     
https://github.com/intel/media-driver/commit/95cbfce81cafa3c24d9d4601d41a855093bc51fb
  
   * This commit has been added in the intel-media-driver 24.2.0, as a
     consequence, it is already available starting from Plucky. This SRU only
     affects Ubuntu Noble 24.04 that has an older version (24.1.0).
  
  [ Test Plan ]
  
   $ sudo apt install -y intel-media-va-driver ffmpeg vainfo
  
   VAINFO
   ----
  
   $ vainfo
  
  error: XDG_RUNTIME_DIR is invalid or not set in the environment.
  error: can't connect to X server!
  libva info: VA-API version 1.22.0
  libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
  libva info: Found init function __vaDriverInit_1_22
  libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
  libva info: va_openDriver() returns 1
  libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
  libva info: Found init function __vaDriverInit_1_20
  libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
  libva info: va_openDriver() returns -1
  vaInitialize failed with error code -1 (unknown libva error),exit
  
  We can see that vainfo is unable to list all the supported profiles and 
endpoints.
  A successful action has the output similar to below:
  
  $ vainfo
  error: XDG_RUNTIME_DIR is invalid or not set in the environment.
  X11 connection rejected because of wrong authentication.
  error: can't connect to X server!
  libva info: VA-API version 1.22.0
  libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
  libva info: Found init function __vaDriverInit_1_20
  libva info: va_openDriver() returns 0
  vainfo: VA-API version: 1.22 (libva 2.12.0)
  vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
  vainfo: Supported profile and entrypoints
        VAProfileNone                   :       VAEntrypointVideoProc
        VAProfileMPEG2Simple            :       VAEntrypointVLD
        VAProfileMPEG2Main              :       VAEntrypointVLD
        VAProfileH264Main               :       VAEntrypointVLD
        VAProfileH264Main               :       VAEntrypointEncSlice
        VAProfileH264High               :       VAEntrypointVLD
        VAProfileH264High               :       VAEntrypointEncSlice
        VAProfileJPEGBaseline           :       VAEntrypointVLD
  ...
  
  FFMPEG
  ----
  
  We can use FFMPEG to test the hardware decoding/encode
  On the platform without the fix, FFMPEG fails with the error message:
  
  [vost#0:0/h264_vaapi @ 0x5eb75993e880] Error initializing a simple
  filtergraph
  
  Steps:
  
   * wget -O input.mp4 
https://www.sample-videos.com/video321/mp4/720/big_buck_bunny_720p_1mb.mp4
-  * sudo ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i input.mp4 -c:v 
h264_vaapi output.mp4
+  * ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i input.mp4 -c:v 
h264_vaapi output.mp4
  
  ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
    built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  ...
  [AVHWDeviceContext @ 0x5eb7598e5e40] libva: 
/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
  [AVHWDeviceContext @ 0x5eb7598e5e40] libva: 
/usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
  [AVHWDeviceContext @ 0x5eb7598e5e40] Failed to initialise VAAPI connection: 
-1 (unknown libva error).
  Device creation failed: -5.
  No device available for decoder: device type vaapi needed for codec h264.
  [vist#0:0/h264 @ 0x5eb759938540] Hardware device setup failed for decoder: 
Input/output error
  [vost#0:0/h264_vaapi @ 0x5eb75993e880] Error initializing a simple filtergraph
  Error opening output file output.mp4.
  Error opening output files: Input/output error
  
  [ Where problems could occur ]
  
    * Since we backport only a commit that adds some device IDs, the risk to 
have
      regressions is small.
      However, since we enable the platform with media features by adding
      the needed device IDs, it might enable some code paths and exhibit bugs 
that
      are masked without the fix.
      One way to make sure we do not have big regression is to make sure we can
      playback a mp4 video (https://test-videos.co.uk/bigbuckbunny/mp4-h265)
  
  [ Other Info ]

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2116923

Title:
  [SRU] video hardware acceleration codec fails for Intel Arrow lake

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/intel-media-driver/+bug/2116923/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to