Firefox 98 released

The bug report was 3 months ago and resolved two months ago and 98 is just coming out. So it was bug report on version 97. I don’t see it as a new feature 98. I see it as being fixed already but maybe the fix isn’t implemented until 98 is out. I don’t know how they do this.

It seems that something happened, and they had to work in another bug, so it should be available now in 98…

set this in firefox: media.ffmpeg.vaapi.enabled to true

This was set on my Firefox already?

Edit: @anon49550872 is there something i can test for you?

My point still stands, because they didn’t mention it in previous changelogs (and bugfix in the changelog) either :wink:

No, its not set by default

You can open Firefox through console by typing: MOZ_LOG=“PlatformDecoderModule:5” firefox
Then, go to youtube and find a AV1 video and play it, the logs in console should show you if vaapi is working or not.
Also, you can type journalctl -r and check if you find the following:

mar 08 13:12:52 eos firefox.desktop[2660]: libva info: va_openDriver() returns 0
mar 08 13:12:52 eos firefox.desktop[2660]: libva info: Found init function __vaDriverInit_1_13
mar 08 13:12:52 eos firefox.desktop[2660]: libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
mar 08 13:12:52 eos firefox.desktop[2660]: libva info: VA-API version 1.13.0

They all play for me on X11 using RX590 amdgpu

Edit:

[ricklinux@eos-kde ~]$ MOZ_LOG=“PlatformDecoderModule:5” firefox
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
[GFX1]: Failed to create snapshot GLContext.
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
[GFX1]: Failed to create snapshot GLContext.
[GFX1]: Failed to create snapshot GLContext.
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
[GFX1]: Failed to create snapshot GLContext.
[GFX1]: Failed to create snapshot GLContext.
libva info: va_openDriver() returns 0
[GFX1]: Failed to create snapshot GLContext.
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0
libva info: VA-API version 1.13.0
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_13
ATTENTION: default value of option mesa_glthread overridden by environment.
libva info: va_openDriver() returns 0

With HW acceleration? I can play 4k videos using less than 10% CPU with HW acceleration, while without it, it reaches more than 100% CPU usage distributed between cores…

First thought, “it’s already in the repos?” Second thought, “oh it’s in testing…” :sweat_smile:

Now signed off.

1 Like

I suppose its working rick, check a 4k video, then open a terminal and check CPU usage during playback… it should be around 10% for any video you try (if they are VP9), if they AV1, we will have to wait for Firefox 98 to test

I can play any of the AV1 on the test site in firefox.

It works without HW acceleration, indeed, thats expected, however, using HW acceleration is great… You keep your CPU usage pretty low, coolers in silence…
For laptop users, I suppose this will increase the battery life for a lot…

Edit: BRB, lunch time

How do i know it’s using HW acceleration for sure?

Firefox decodes AV1 fine, this is about hardware accelerated AV1 decoding, which is still hidden behind flags.

Well, of course, we are talking about VA-API.

Hardware decoding won’t work with that GPU.
(Of course software decoding will be ok if you CPU is fast enough)

You’ll need a pretty recent GPU in order to decode AV1 in hardware…

AMD → RDNA2 (Radeon RX 6000 series, except 6500XT) and later
nVidia → Geforce 30 series and later
Intel → Intel 11th Gen and later

1 Like

Okay that explains what i wanted to know. My GPU isn’t high enough. My cpu has no issues. (Ryzen 3800X) Even though VA-API is enabled it can’t do hardware acceleration or just for these type of files?

Just AV1. vainfo will tell you which codecs the GPU can decode.

edit sorry. Typo. vainfo

Okay it shows everything. I’ll have to look at it closer.

vainfo
$ vainfo 
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Mesa Gallium driver 21.3.7 for AMD Radeon RX 6600 XT (DIMGREY_CAVEFISH, DRM 3.44.0, 5.16.12-zen1-1-zen, LLVM 13.0.1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

I get the message vaainfo: Command not found. What else do I have to install for this?