Comment 129 for bug 1816497

Revision history for this message
li (minye) wrote :

Thank you for going on the snap.

My T460p really has 2 video card: one is Nvidia another is intel. This is the reason I set iHD in the environment. My native chromium is able to work, I am not sure which kind of driver or configuration takes action.

Today I switch an old N3450 pure intel machine.

The native machine vainfo output. It seems everything is OK, my chrome/chromium both support video hardware decode.
###
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.14.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      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
      VAProfileHEVCMain10 : VAEntrypointVLD
      VAProfileVP9Profile0 : VAEntrypointVLD
###

Here I used the latest snap : Successfully built on lcy02-amd64-062

LIBVA_MESSAGING_LEVEL=2 LIBVA_DRIVERS_PATH=/snap/chromium/current/usr/lib/x86_64-linux-gnu/dri/ chromium --use-gl=egl --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDire

Result:
Gtk-Message: 09:52:13.084: Failed to load module "canberra-gtk-module"
Gtk-Message: 09:52:13.088: Failed to load module "canberra-gtk-module"
libva info: VA-API version 1.14.0
libva info: Trying to open /snap/chromium/x1/usr/lib/x86_64-linux-gnu/dri//iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
[20720:20720:0706/095213.442312:ERROR:gpu_init.cc(486)] Passthrough is not supported, GL is egl, ANGLE is
WARNING: Kernel has no file descriptor comparison support: Operation not permitted
[20591:20689:0706/095217.052042:ERROR:udev_watcher.cc(98)] Failed to begin udev enumeration.

In this log no problem. (Good to see)

But in about:gpu

Video Acceleration Information
Decoding
Encoding
Encode h264 baseline 321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 main 321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 high 321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode vp8 321x241 to 4096x4096 pixels, and/or 30.000 fps

Only have encoding ability, without decoding. (I more care of decoding)

LIBVA_MESSAGING_LEVEL=2 LIBVA_DRIVERS_PATH=/snap/chromium/current/usr/lib/x86_64-linux-gnu/dri/ chromium --enable-features=VaapiVideoDecoder

The result:

chomium/current/usr/lib/x86_64-linux-gnu/dri/ chromium --enable-features=VaapiVideoDecoder
Gtk-Message: 09:53:53.666: Failed to load module "canberra-gtk-module"
Gtk-Message: 09:53:53.670: Failed to load module "canberra-gtk-module"
libva info: VA-API version 1.14.0
libva info: Trying to open /snap/chromium/x1/usr/lib/x86_64-linux-gnu/dri//iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
WARNING: Kernel has no file descriptor comparison support: Operation not permitted
[21323:21420:0706/095357.511707:ERROR:udev_watcher.cc(98)] Failed to begin udev enumeration.

Video Acceleration Information
Decoding
Encoding

It keeps the same as previous. No video decoder.

I use the shell to get more libva inform

snap run --shell chromium
LIBVA_DRIVERS_PATH=/snap/chromium/current/usr/lib/x86_64-linux-gnu/dri/ vainfo

###
libva info: VA-API version 1.14.0
libva info: Trying to open /snap/chromium/current/usr/lib/x86_64-linux-gnu/dri//iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.4.3 (dc9d9f7)
vainfo: Supported profile and entrypoints
      VAProfileNone : VAEntrypointVideoProc
      VAProfileNone : VAEntrypointStats
      VAProfileMPEG2Simple : VAEntrypointVLD
      VAProfileMPEG2Main : VAEntrypointVLD
      VAProfileH264Main : VAEntrypointVLD
      VAProfileH264Main : VAEntrypointEncSlice
      VAProfileH264Main : VAEntrypointFEI
      VAProfileH264Main : VAEntrypointEncSliceLP
      VAProfileH264High : VAEntrypointVLD
      VAProfileH264High : VAEntrypointEncSlice
      VAProfileH264High : VAEntrypointFEI
      VAProfileH264High : VAEntrypointEncSliceLP
      VAProfileVC1Simple : VAEntrypointVLD
      VAProfileVC1Main : VAEntrypointVLD
      VAProfileVC1Advanced : VAEntrypointVLD
      VAProfileJPEGBaseline : VAEntrypointVLD
      VAProfileJPEGBaseline : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3 : VAEntrypointVLD
      VAProfileVP8Version0_3 : VAEntrypointEncSlice
      VAProfileHEVCMain : VAEntrypointVLD
      VAProfileHEVCMain : VAEntrypointEncSlice
      VAProfileHEVCMain : VAEntrypointFEI
      VAProfileHEVCMain10 : VAEntrypointVLD
      VAProfileVP9Profile0 : VAEntrypointVLD
###
It seems ok, but

vainfo: VA-API version: 1.14 (libva 2.6.0) <<== this is the problem.

I know the chromium/chrome required the latest 2.14 libva, but it does not understand why libva 2.6.0 happened here.

Would you take a look?

In fact, I also took hours/days to make my notebook, old N3450 to get video decodeing. And then I got final success. With your snap version support, I pretty sure lots of users like me will save these hours/days just snap install, it will be a great contribution.