Skip to content

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

Open
@Jamstah

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 :)

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