Chrome for Testing ARM64 Support#
The Core Constraint#
Google's Chrome for Testing distribution supports only five platforms: linux64, mac-arm64, mac-x64, win32, and win64 . There is no linux-arm64 build. This means that on Linux, Chrome for Testing and ChromeDriver are exclusively x86_64 binaries — a hard constraint with no official workaround from Google.
RAGFlow uses Chrome for Testing v121.0.6167.85 (pinned) to power its Selenium-based web scraping. Both the browser and ChromeDriver are downloaded from storage.googleapis.com/chrome-for-testing-public (or the registry.npmmirror.com China mirror) as linux64-only artifacts .
How RAGFlow Installs Chrome#
download_deps.py downloads both chrome-linux64.zip and chromedriver-linux64.zip unconditionally — there is no ARM64 path for either artifact. The Dockerfile_base then unpacks and installs them identically on all architectures:
- Chrome is unzipped to
/opt/chromewith a symlink at/usr/local/bin/chrome - ChromeDriver is placed at
/usr/local/bin/chromedriver
Neither install step has an architecture branch — unlike other deps (e.g., uv, libssl1.1, Stagehand server), the Chrome installation path is identical regardless of whether the host is x86_64 or aarch64 .
Impact on ARM64 Deployments#
On a native Linux ARM64 host, installing the linux64 Chrome binary will succeed during the Docker build, but the binary will fail to execute at runtime (x86_64 ELF on an aarch64 kernel without emulation). This affects:
- Any Docker build targeting
linux/arm64 - Stagehand/Browser agent workflows that rely on Selenium + ChromeDriver
- CI or self-hosted environments on ARM64 server hardware (e.g., Huawei Kunpeng, AWS Graviton)
Other arch-aware dependencies in RAGFlow — uv , Stagehand server binary , and libssl1.1 — have native ARM64 variants that are correctly selected via uname -m. Chrome does not, because no upstream ARM64 Linux binary exists.
Contrast: macOS ARM64#
The mac-arm64 platform is officially supported by Chrome for Testing , so macOS Apple Silicon users are unaffected by this constraint.
Official Position and Workarounds#
- No official Linux ARM64 Chrome for Testing builds exist upstream. Tracking issue: Chrome for Testing availability page shows no
linux-arm64channel. - RAGFlow's official Linux ARM64 support is limited; Huawei Kunpeng and similar server ARM architectures are deferred to the Enterprise Edition.
- A community PR (#15848) for multi-architecture Docker image publishing (amd64 + arm64) was in progress as of July 2026, but the Chrome dependency remains a fundamental blocker for native execution on Linux ARM64 without x86 emulation (e.g., QEMU userspace emulation or running inside an
x86_64container on an ARM host).
Key Files#
| File | Purpose |
|---|---|
ragflow_deps/download_deps.py | Downloads chrome-linux64.zip and chromedriver-linux64.zip (x86_64 only) |
Dockerfile_base | Installs Chrome/ChromeDriver from ragflow_deps image |
| Chrome for Testing availability | Upstream platform/version availability dashboard |