Closed Bug 1778096 Opened 4 years ago Closed 3 years ago

[Flatpak] VAAPI doesn't work

Categories

(Core :: Widget: Gtk, defect)

Firefox 102
Unspecified
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: contact, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

Steps to reproduce:

  1. Open the about:support page both in the native Firefox and in the Flatpak version.
  2. Try to force VAAPI by enabling the media.ffmpeg.vaapi.enabled flag in the Flatpak version.

Actual results:

  1. In the VAAPI row I can see
  • available by default in the native version;
  • disabled by default: VAAPI is disabled by default in the Flatpak version.
  1. Forcing VAAPI doesn't make it work either.

Expected results:

It should be available by default in the Flatpak version, since my system supports VAAPI. This can be proved by the native version of Firefox I have alongside.

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

Seems to be fixed in Firefox 104. Either that, or the new amd-gpu-firmware package on the latest Fedora Silverblue fixed it for me.

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME

Never mind, still an issue. Getting blocklisted by env: Blocklisted by gfxInfo in the HARDWARE_VIDEO_DECODING field in about:support.

Status: RESOLVED → UNCONFIRMED
Resolution: WORKSFORME → ---

(In reply to Pavel Sobolev from comment #3)

Never mind, still an issue. Getting blocklisted by env: Blocklisted by gfxInfo in the HARDWARE_VIDEO_DECODING field in about:support.

Is there anything under "Failure log" ? Like VA-API test failed or so?

Flags: needinfo?(paveloom)

(In reply to Martin Stránský [:stransky] (ni? me) from comment #4)

Is there anything under "Failure log" ? Like VA-API test failed or so?

Huh? I don't see any "Failure log" on that page.

Flags: needinfo?(paveloom)
Flags: needinfo?(paveloom)

Try 104.x line then.

(In reply to Martin Stránský [:stransky] (ni? me) from comment #6)

Try 104.x line then.

I'm confused a bit, where should I see this?

(In reply to Pavel Sobolev from comment #7)

(In reply to Martin Stránský [:stransky] (ni? me) from comment #6)

Try 104.x line then.

I'm confused a bit, where should I see this?

Which Firefox version do you run? Is that the latest 104 (or 105 which comes out today)?
If not please try to update to 104 and check the about:support for log message.

(In reply to Martin Stránský [:stransky] (ni? me) from comment #8)

Which Firefox version do you run? Is that the latest 104 (or 105 which comes out today)?
If not please try to update to 104 and check the about:support for log message.

The latest Firefox v104. But I don't see the lines you mention.

(In reply to Pavel Sobolev from comment #0)

It should be available by default in the Flatpak version, since my system supports VAAPI. This can be proved by the native version of Firefox I have alongside.

No, VAAPI is still disabled by default in non-Nightly channels. Just Fedora and Firefox Nightly enable it by default.

I just tested Flatpak Firefox 104.0.2 on Debian Testing with Intel:
Steps:

  • $ sudo flatpak install org.freedesktop.Platform.ffmpeg-full/x86_64/21.08
    You need ffmpeg-full for patented H264 and it needs to be of the same version as org.freedesktop.Platform (21.08, VAAPI won't work with 22.08)
  • set media.ffmpeg.vaapi.enabled=true and restart Firefox.

$ sudo apt install flatpak
$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ sudo flatpak install org.mozilla.firefox
$ MOZ_LOG="Dmabuf:5,PlatformDecoderModule:5" flatpak run org.mozilla.firefox https://bug1619882.bmoattachments.org/attachment.cgi?id=9149605

[RDD 231: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Initialising VA-API FFmpeg decoder
[RDD 231: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: We're missing hardware accelerated decoder
[RDD 231: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: couldn't find ffmpeg VA-API decoder

$ sudo flatpak install org.freedesktop.Platform.ffmpeg-full/x86_64/22.08

$ flatpak list
Name                          Anwendungskennung                             Version           Zweig           Installation
Freedesktop Platform          org.freedesktop.Platform                      21.08.15          21.08           system
Mesa                          org.freedesktop.Platform.GL.default           21.3.9            21.08           system
Intel                         org.freedesktop.Platform.VAAPI.Intel                            21.08           system
ffmpeg-full                   org.freedesktop.Platform.ffmpeg-full                            22.08           system
openh264                      org.freedesktop.Platform.openh264             2.1.0             2.0             system
Firefox                       org.mozilla.firefox                           104.0.2           stable          system

$ MOZ_LOG="Dmabuf:5,PlatformDecoderModule:5" flatpak run org.mozilla.firefox https://bug1619882.bmoattachments.org/attachment.cgi?id=9149605

[RDD 250: MediaSupervisor #1]: D/PlatformDecoderModule FFMPEG: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/avc Codec ID 27
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Initialising VA-API FFmpeg decoder
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: We're missing hardware accelerated decoder
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: couldn't find ffmpeg VA-API decoder
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Initialising FFmpeg decoder
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: codec libopenh264 : OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[RDD 250: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Set get_buffer2 for customized buffer allocation

Same with MOZ_DISABLE_RDD_SANDBOX=1.

$ sudo flatpak remove org.freedesktop.Platform.ffmpeg-full
$ sudo flatpak install org.freedesktop.Platform.ffmpeg-full/x86_64/21.08

$ flatpak list
Name                          Anwendungskennung                             Version           Zweig           Installation
Freedesktop Platform          org.freedesktop.Platform                      21.08.15          21.08           system
Mesa                          org.freedesktop.Platform.GL.default           21.3.9            21.08           system
Intel                         org.freedesktop.Platform.VAAPI.Intel                            21.08           system
ffmpeg-full                   org.freedesktop.Platform.ffmpeg-full                            21.08           system
openh264                      org.freedesktop.Platform.openh264             2.1.0             2.0             system
Firefox                       org.mozilla.firefox                           104.0.2           stable          system

$ MOZ_LOG="Dmabuf:5,PlatformDecoderModule:5" flatpak run org.mozilla.firefox https://bug1619882.bmoattachments.org/attachment.cgi?id=9149605

[RDD 249: MediaSupervisor #1]: D/PlatformDecoderModule FFMPEG: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/avc Codec ID 27
[RDD 249: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Initialising VA-API FFmpeg decoder
[RDD 249: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: codec h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[RDD 249: MediaPDecoder #1]: D/Dmabuf Using DRM device /dev/dri/renderD128
libva info: VA-API version 1.12.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_12
libva info: va_openDriver() returns 0

[RDD 249: MediaPDecoder #2]: D/PlatformDecoderModule FFMPEG: VA-API Got one frame output with pts=80000 dts=120000 duration=40000 opaque=-9223372036854775808

(In reply to Darkspirit from comment #10)

Thank you very much for writing this, debug flags especially. VAAPI works now.

So, I did try media.ffmpeg.vaapi.enabled before (as mentioned in the first comment), but it never worked (since v98). Seems like something changed in v104 (since the field was renamed to HARDWARE_VIDEO_DECODING).

This issue is solved.

Flags: needinfo?(paveloom)
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago3 years ago
OS: Unspecified → Linux
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.