Skip to content

[Bug]: Firefox/Netflix/Fedora 37 doesn't use video acceleration #1574

Description

@Jamstah

Which component impacted?

Decode

Is it regression? Good in old configuration?

This is a new configuration so I couldn't say

What happened?

  1. Installed intel-media-driver (rpmfusion)
  2. Disabled av1 in Firefox
  3. Play video in youtube
  4. Check intel_gpu_top and see video acceleration in use
  5. Play video in netflix
  6. Check intel_gpu_top and see no video acceleration in use

Raising here because it looks right in the firefox logs - both sites seem to successfully initialise the va-api decoder.

youtube:

[RDD 268046: MediaSupervisor #2]: D/PlatformDecoderModule FFVPX: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/vp9 Codec ID 167
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Initialising VA-API FFmpeg decoder
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   Format vp9 is accelerated
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   codec vp9 : Google VP9
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0
...
[AVHWDeviceContext @ 0x7f90abb36d80] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 ().
[AVHWDeviceContext @ 0x7f90abb36d80] Driver not found in known nonstandard list, using standard behaviour.
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   VA-API FFmpeg init successful

netflix:

[RDD 268046: MediaSupervisor #4]: D/PlatformDecoderModule FFVPX: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/vp9 Codec ID 167
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Initialising VA-API FFmpeg decoder
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   Format vp9 is accelerated
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   codec vp9 : Google VP9
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0

[AVHWDeviceContext @ 0x7f90abb36e00] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 ().
[AVHWDeviceContext @ 0x7f90abb36e00] Driver not found in known nonstandard list, using standard behaviour.
[RDD 268046: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   VA-API FFmpeg init successful

What's the usage scenario when you are seeing the problem?

Playback, Web browser

What impacted?

Video acceleration

Debug Information

jammy:~$ rpm -qa | grep libva
libva-2.16.0-1.fc37.x86_64
libva-utils-2.16.0-1.fc37.x86_64
libva-intel-driver-2.4.1-9.fc37.x86_64
jammy:~$ rpm -qa | grep intel-media-driver
intel-media-driver-22.5.4-1.fc37.x86_64
jammy:~$ ls /dev/dri
by-path  card0  card1  renderD128  renderD129
jammy:~$ vainfo
Trying display: wayland
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.16 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      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
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain               :	VAEntrypointEncSliceLP
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointEncSliceLP
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile1            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileVP9Profile3            :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointEncSlice
      VAProfileHEVCMain422_10         :	VAEntrypointVLD
      VAProfileHEVCMain422_10         :	VAEntrypointEncSlice
      VAProfileHEVCMain422_12         :	VAEntrypointVLD
      VAProfileHEVCMain422_12         :	VAEntrypointEncSlice
      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
      VAProfileHEVCSccMain444_10      :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointEncSliceLP

With trace - output for trying youtube or netflix is exactly the same:

jammy:tmp$ cat libva_trace.log.131346.thd-0x00043510 
[10506.639665][ctx       none]==========va_TraceInitialize
[10506.639668][ctx       none]=========vaInitialize ret = VA_STATUS_SUCCESS, success (no error) 
[10506.639672][ctx       none]=========vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error) 
[10506.639674][ctx       none]=========vaQueryConfigEntrypoints ret = VA_STATUS_SUCCESS, success (no error) 
[10506.639676][ctx       none]==========va_TraceCreateConfig
[10506.639676][ctx       none]	profile = 6, VAProfileH264Main
[10506.639676][ctx       none]	entrypoint = 1, VAEntrypointVLD
[10506.639677][ctx       none]	num_attribs = 0
[10506.639682][ctx       none]=========vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error) 
[10506.639682][ctx       none]==========va_TraceDestroyConfig
[10506.639682][ctx       none]	config = 0x00000000
[10506.639684][ctx       none]=========vaDestroyConfig ret = VA_STATUS_SUCCESS, success (no error) 
[10506.640028][ctx       none]==========va_TraceTerminate
[10506.640030][ctx       none]=========vaTerminate ret = VA_STATUS_SUCCESS, success (no error) 

Do you want to contribute a patch to fix the issue?

If I knew what I was doing I'd be happy to but I expect its beyond my knowledge :)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Need InfoNeed more information from submitter

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions