Bug 244793 - www/firefox: update to 75.0 (phase: Beta, ETA: 2020-04-07)
Summary: www/firefox: update to 75.0 (phase: Beta, ETA: 2020-04-07)
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gecko mailing list
URL: https://wiki.mozilla.org/Releases/Fir...
Keywords: needs-qa, patch
Depends on: 244310
Blocks:
  Show dependency treegraph
 
Reported: 2020-03-13 13:24 UTC by Jan Beich
Modified: 2020-03-13 23:19 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (gecko)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2020-03-13 13:24:43 UTC
See review D24062 for the patch.

Hardware video decoding how-to:

0. (optional, hybrid VP9 on Skylake) Build libva-intel-driver with HYBRID=on then export LIBVA_DRIVER_NAME=i965
1. Start a Wayland compositor e.g., Sway
2. Enable native Wayland support: export MOZ_ENABLE_WAYLAND=1
3. Enable WebRender: export MOZ_WEBRENDER=1 or gfx.webrender.all=true in about:config
4. Enable VAAPI: widget.wayland-dmabuf-vaapi.enabled=true in about:config
5. Disable bundled FFmpeg: media.ffvpx.enabled=false in about:config
6. Play a H.264 or VP9 video e.g., https://www.youtube.com/embed/hVvEISFw9w0
?. Diagnose via export MOZ_LOG=PlatformDecoderModule:5 (look for "VA-API" string)

On X11 just run Firefox within a Wayland compositor nested on top of xorg-server e.g.,

  $ cat /tmp/sway.conf
  exec firefox https://www.youtube.com/embed/hVvEISFw9w0

  $ MOZ_LOG=PlatformDecoderModule:5 sway -c /tmp/sway.conf |& fgrep VA-API
  [Child 6778: MediaPDecoder #2]: D/PlatformDecoderModule Initialising VA-API FFmpeg decoder
  [AVHWDeviceContext @ 0x83063cac0] libva: VA-API version 1.6.0
  [Child 6778: MediaPDecoder #2]: D/PlatformDecoderModule VA-API FFmpeg init successful
  [Child 6778: MediaPDecoder #2]: D/PlatformDecoderModule Choosing FFmpeg pixel format for VA-API video decoding.
Comment 1 Jan Beich freebsd_committer 2020-03-13 13:36:23 UTC
(In reply to Jan Beich from comment #0)
> $ cat /tmp/sway.conf
> exec firefox https://www.youtube.com/embed/hVvEISFw9w0
>
> $ MOZ_LOG=PlatformDecoderModule:5 sway -c /tmp/sway.conf |& fgrep VA-API

For nesting Cage maybe more convenient than Sway e.g.,

  $ MOZ_LOG=PlatformDecoderModule:5 cage -d firefox https://www.youtube.com/embed/hVvEISFw9w0 |& fgrep VA-API
Comment 2 Jan Beich freebsd_committer 2020-03-13 15:10:17 UTC
(In reply to Jan Beich from comment #0)
> 3. Enable WebRender: export MOZ_WEBRENDER=1 or gfx.webrender.all=true in about:config

WebRender doesn't provide optimal performance yet. VAAPI will work with legacy OpenGL as well e.g.,

  $ export MOZ_ACCELERATED=1
  $ unset MOZ_WEBRENDER

or in about:config

  layers.acceleration.force-enabled=true
  gfx.webrender.all=false
Comment 3 Greg V 2020-03-13 23:07:18 UTC
> Disable bundled FFmpeg: media.ffvpx.enabled=false in about:config

Huh, never had to do this step (with my own builds of Firefox at least), why was that necessary for you?

Actually I just noticed that my sandboxing work has been preventing mozavcodec/util from loading :D but without sandboxing and without this pref tweak VAAPI still works.
Comment 4 Jan Beich freebsd_committer 2020-03-13 23:19:02 UTC
(In reply to Greg V from comment #3)
> why was that necessary for you?

ffvpx doesn't have VAAPI-based VP9 decoder. See https://bugzilla.mozilla.org/show_bug.cgi?id=1619258#c2