f115fa6cbc
Firefox 150.0.1 + media.ffmpeg.vaapi.enabled=true + LIBVA_DRIVER_NAME= v4l2_request, executed under Xvfb on ohm. Result: inconclusive at the boolean-correctness level. RDD process dlopens libva.so.2 + libva-drm.so.2 + libva-x11.so.2 for capability probe then immediately closes them; never reaches vaInitialize, never opens /dev/dri/renderD128, never reaches v4l2_request_drv_video.so. Falls back to software H.264 in RDD via FFmpeg-OS-library PDM (Broadcast support from 'RDD', support=H264 SWDEC). Root cause: Xvfb provides software framebuffer with no DRI/DRM render-node integration. Firefox's gfx-environment platform-fitness check rejects VAAPI before adding it to the RDD PDM order list. Not a libva-side or driver-side fault — mpv --hwdec=vaapi-copy in the same headless rig DID engage end-to-end (per phase0_evidence/2026-05-04/findings.md). Definitive Firefox verdict requires retesting inside a live Plasma session — deferred to live-session run (next commit). Also: Phase 0 deliverable #2 (Step 1 reconciliation into fork master) was completed and pushed to marfrit/libva-v4l2-request-fourier between this and the prior Phase 0 commit; status table updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
2.0 KiB
JavaScript
50 lines
2.0 KiB
JavaScript
// Phase 0 deliverable #3: Firefox VAAPI engagement test
|
|
// All prefs set explicitly to avoid relying on platform defaults that may have shifted.
|
|
|
|
// Core: enable VAAPI through ffmpeg
|
|
user_pref("media.ffmpeg.vaapi.enabled", true);
|
|
user_pref("media.ffvpx.enabled", false);
|
|
user_pref("media.hardware-video-decoding.force-enabled", true);
|
|
user_pref("media.hardware-video-decoding.enabled", true);
|
|
|
|
// Force-disable codecs we have no HW for, so failures aren't misattributed
|
|
user_pref("media.av1.enabled", false);
|
|
user_pref("media.webm.enabled", true);
|
|
|
|
// EGL + DMABUF (X11 path)
|
|
user_pref("gfx.x11-egl.force-enabled", true);
|
|
user_pref("widget.dmabuf.force-enabled", true);
|
|
|
|
// RDD process (where vaapi decode lives in modern Firefox)
|
|
user_pref("media.rdd-process.enabled", true);
|
|
user_pref("media.rdd-ffvpx.enabled", false);
|
|
user_pref("media.rdd-ffmpeg.enabled", true);
|
|
user_pref("media.rdd-vpx.enabled", false);
|
|
|
|
// GPU process decoder
|
|
user_pref("media.gpu-process-decoder", true);
|
|
|
|
// Logging — surface VAAPI init in Browser Console / stderr
|
|
user_pref("logging.config.LOG_FILE", "/tmp/firefox-vaapi-test/firefox.log");
|
|
user_pref("logging.config.sync", true);
|
|
user_pref("logging.PlatformDecoderModule", 5);
|
|
user_pref("logging.MediaPDM", 5);
|
|
|
|
// Suppress everything that wants the network (no telemetry/updates/etc.)
|
|
user_pref("toolkit.telemetry.enabled", false);
|
|
user_pref("toolkit.telemetry.unified", false);
|
|
user_pref("app.update.enabled", false);
|
|
user_pref("app.update.auto", false);
|
|
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
|
user_pref("browser.shell.checkDefaultBrowser", false);
|
|
user_pref("browser.startup.firstrunSkipsHomepage", true);
|
|
user_pref("datareporting.healthreport.uploadEnabled", false);
|
|
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
|
user_pref("network.connectivity-service.enabled", false);
|
|
user_pref("network.captive-portal-service.enabled", false);
|
|
user_pref("dom.ipc.processCount", 1);
|
|
|
|
// Autoplay so the test triggers decode without user input
|
|
user_pref("media.autoplay.default", 0);
|
|
user_pref("media.autoplay.blocking_policy", 0);
|