AV1 hardware decoding not working on AMD Renoir iGPU

My setup is:

  • Acer Nitro 5 laptop, AMD Renoir iGPU, NVIDIA GTX 1650 dGPU
  • Fedora 40, GNOME 46.1, Wayland

Despite reports that AV1 hardware decoding should be available out of the box for AMD GPUs, Firefox reports as unsupported in about:support:
image

It doesn’t seem to be Firefox’s fault, actually: vainfo doesn’t report AV1 as available:

❯ vainfo
Trying display: wayland
vainfo: VA-API version: 1.21 (libva 2.21.0)
vainfo: Driver version: Mesa Gallium driver 24.1.5 for AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.6, DRM 3.57, 6.9.12-200.fc40.x86_64)
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
      VAProfileNone                   :	VAEntrypointVideoProc

I am using ffmpeg from RPMFusion, and I followed the instructions on their Multimedia howto:

❯ rpm -qa ffmpeg\* mesa-va\*
ffmpeg-libs-6.1.1-15.fc40.x86_64
ffmpeg-6.1.1-15.fc40.x86_64
mesa-va-drivers-freeworld-24.1.5-1.fc40.x86_64

Still, no joy :disappointed:

So, before trying to tweak Firefox, it is my understanding that first I should be able to see AV1 on the above list. Can anyone share any tips on how to get this fixed?

There is a chance your AMD processor was released just slightly before AV1 support André.

If it is a Ryzen 4000 series, this could mean that it doesn’t natively has the support…

1 Like

Yes, that seems to be the most likely. If vainfodoesn’t report it, then the vaapi driver wasn’t built with support for it (not possible in this case, since @ocosta is using the rpmfusion version), or the hardware simply doesn’t have that functionality.

1 Like

Thanks guys, I guess you nailed it. It sounds stupid, but that hadn’t even crossed my mind. It makes total sense. My processor is a Ryzen 7 4800H, I couldn’t find detailed specs on AMD’s official product page, but I did find one for the Ryzen 7 Pro 6850U, which doesn’t support AV1, so I can’t see why an older and inferior (non-Pro) processor would do.

At least that was an easy one :sweat_smile: Case closed.

It’s difficult to say from the outside sometimes, mine is a Ryzen 5 6600U for instance and that does support AV1. It’s all pretty opaque. :wink:

1 Like

Digging a little further, I found this. Only VP9, MPEG-2 and HEVC are supported :sob: So, software decoding it is…

Just for the record: Firefox allows you to completely disable AV1 via the media.av1.enable flag. Chrome doesn’t have a similar configuration AFAICS :face_with_diagonal_mouth: Only some extensions for Youtube.

Actually, I have a laptop with Ryzen 4800H and on Windows I can see even AV1 as supported in about:config

Does it also say Supported under the Hardware Decoding column of the list, or only the Software Decoding column?

Screenshot 2024-09-26 at 12-49-57 Technické informace
Lenovo Legion 5 with Ryzen 7 4800H

I will probably install windows just to see what can be HW accelerated on current R7 8840HS vs. what I have on linux now (same as Renoir on Win minus VP8 HW)

That’s interesting yes, i wonder what the difference is that @ocosta didn’t see that with his 4800H.

1 Like

Indeed… :thinking: @samik4184 could you please compare some data from the about:support output so that we can compare yours with mine? If you click on the “Copy raw data to the clipboard” button on the top of the page you can paste the original JSON data.

Mine puts only “SW” next to AV1 on the codecSupportInfo field, while H264 and VP9 both have “SW HW”. And the features field has

          "name": "AV1_HW_DECODE",
          "description": "AV1 hardware decoding",
          "status": "blocklisted",
          "log": [
            {
              "type": "default",
              "status": "available"
            },
            {
              "type": "env",
              "status": "blocklisted",
              "failureId": "FEATURE_FAILURE_VIDEO_DECODING_MISSING",
              "message": "#BLOCKLIST_FEATURE_FAILURE_VIDEO_DECODING_MISSING"
            }
          ]