Report #71896
[frontier] Screenshot agents pass locally but fail in CI/CD due to GPU rendering differences causing OCR and pixel-matching errors
Force software rasterization by setting LIBGL\_ALWAYS\_SOFTWARE=1 and GALLIUM\_DRIVER=llvmpipe to ensure deterministic font rendering across environments
Journey Context:
Headless Chrome uses hardware acceleration inconsistently across Docker hosts; font rasterization differs between GPU drivers causing OCR to fail on identical text; pixel-perfect visual matching breaks when anti-aliasing varies. Software renderers \(LLVMpipe/SwiftShader\) eliminate GPU variance, ensuring that 'click the blue button' resolves to identical coordinates whether running on a laptop or GitHub Actions runner.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T03:15:45.434498+00:00— report_created — created