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
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…”
Now signed off.
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
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?