diff --git a/phase0_evidence/2026-05-04-firefox/findings.md b/phase0_evidence/2026-05-04-firefox/findings.md new file mode 100644 index 0000000..aac2a3b --- /dev/null +++ b/phase0_evidence/2026-05-04-firefox/findings.md @@ -0,0 +1,124 @@ +# Phase 0 deliverable #3 — Firefox VAAPI engagement test (2026-05-04) + +In-session test of stock Firefox 150.0.1 with `media.ffmpeg.vaapi.enabled=true` + `LIBVA_DRIVER_NAME=v4l2_request` env. Headless rig (Xvfb under SSH). + +## Verdict + +**Inconclusive at the boolean-correctness level under this rig.** Firefox loads our libva backend for a capability probe but does not engage it for the actual H.264 decode — falls back to software via FFmpeg in the RDD process. The decision to skip VAAPI happens **at Firefox's gfx-environment gating layer**, before VAAPI device init is attempted. **Likely cause: Xvfb provides software framebuffer with no DRI/DRM render-node integration, which Firefox requires for VAAPI surface allocation.** Not a libva-side or driver-side fault. + +A definitive Firefox verdict requires retesting inside a real Plasma/X session with live DRM access. That's a Phase 7 verification task once a session is live. + +## What was actually run + +Firefox 150.0.1, profile at `/tmp/firefox-vaapi-test/profile/` (preserved as `profile_user.js` here), with these prefs on top of stock: + +- `media.ffmpeg.vaapi.enabled = true` +- `media.ffvpx.enabled = false` +- `media.hardware-video-decoding.force-enabled = true` +- `media.hardware-video-decoding.enabled = true` +- `media.av1.enabled = false` +- `gfx.x11-egl.force-enabled = true` +- `widget.dmabuf.force-enabled = true` +- `media.rdd-process.enabled = true` +- `media.rdd-ffvpx.enabled = false` +- `media.rdd-ffmpeg.enabled = true` +- `media.gpu-process-decoder = true` +- `logging.PlatformDecoderModule = 5`, `logging.MediaPDM = 5` + +Env on top of stock: + +- `MOZ_DISABLE_RDD_SANDBOX=1`, `MOZ_DISABLE_CONTENT_SANDBOX=1`, `MOZ_DISABLE_GMP_SANDBOX=1`, `MOZ_DISABLE_SOCKET_PROCESS_SANDBOX=1` (rule out sandbox interference) +- `LIBVA_DRIVER_NAME=v4l2_request` + `LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video1` + `LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media0` +- `LIBVA_MESSAGING_LEVEL=2` + +Run command: + +``` +xvfb-run -a -s "-screen 0 1280x720x24" -- \ + strace -ff -ttt -s 256 -o /tmp/firefox-vaapi-test/strace/ff \ + -e trace=ioctl,openat,close,clone,clone3,execve \ + firefox -profile /tmp/firefox-vaapi-test/profile -no-remote -new-instance \ + file:///tmp/firefox-vaapi-test/test.html +``` + +Test page autoplays `bbb_1080p30_h264.mp4` via `