Development setup¶
Linux is the primary development environment because it exercises the full Servo, OpenGL, GStreamer, and packaging path.
Clone and prepare the repository¶
git clone https://github.com/KaykCaputo/hermes-browser.git
cd hermes-browser
make install-linux-deps
make setup
make setup uses the current stable Rust toolchain, installs formatting and lint components, and fetches dependencies with --locked.
Check your tools¶
The command reports the active Rust toolchain and verifies that Cargo, Rust, and rustup are available.
Servo also builds native code. On Linux, Hermes expects Clang, CMake, a C/C++ toolchain, Fontconfig, X11 development libraries, and the GStreamer development stack installed by make install-linux-deps.
Build and run¶
Pass application arguments through ARGS and adjust logging through RUST_LOG:
Use an optimized runtime when investigating timing or media behavior:
The development profile already optimizes major Servo, WebRender, Vello, and ad-blocking crates while retaining useful debug information for Hermes code.
Build the documentation¶
Create a Python virtual environment so the documentation toolchain does not affect system packages:
Preview the site with live reload:
Build it with strict link and navigation checks:
Windows prerequisites¶
Use 64-bit Windows 10 or 11 with:
- The
x86_64-pc-windows-msvcRust toolchain - Visual Studio 2022 Build Tools with MSVC v143
- Windows SDK 10.0.19041.0 or newer
- C++ ATL for the v143 x64 toolchain
Current Windows builds do not bundle native GStreamer, so they do not exercise the complete Linux media path.