Install Browser Engine Patcher 2.8.1
BEP is a single Rust binary. There is no installer, no daemon and no system service. You build it once from the source archive and put it on your PATH.
Requirements
| Item | Minimum | Recommended |
|---|---|---|
| Operating system | Linux x86_64, macOS 13, Windows 11 with WSL2 | Linux x86_64, current LTS kernel |
| Rust toolchain | 1.79 | 1.92 |
| C and C++ compiler | clang 16 or gcc 12 | clang 18 |
| Build tools | ninja 1.11, python3.9, pkg-config | ninja 1.13, python3.12 |
| Memory | 16 GB | 32 GB |
| Free disk | 90 GB for a Chromium-family build | 150 GB, preferably on a local SSD |
| Cores | 4 | 12 or more |
The Gecko-family preview needs about half the disk and does not use ninja; its build runs through the source tree's own build entry point. ARM64 hosts are supported on Linux and macOS and are about 30 percent slower per core for the same job count.
Build from the source archive
- Unpack
bep-2.8.1.tar.zstfrom the release page and enter the directory. - Check the archive against the SHA-256 line published in the release notes.
- Build with the locked dependency set. Do not pass
--offlineon a first build; the crate cache is empty. - Install the binary into a directory on your
PATH.
tar --zstd -xf bep-2.8.1.tar.zst
cd bep-2.8.1
sha256sum -c bep-2.8.1.sha256
cargo build --release --locked
install -m 0755 target/release/bep ~/.local/bin/bep
bep --version
A clean build of the CLI takes about 90 seconds on 12 cores. The binary is 14 MB stripped and depends only on the system C library; there are no runtime plugins to install.
Check the machine
bep doctor is the first command to run on any new machine. It reads the compiler, ninja, python, the cache location and free disk, then reports what a build would use. It changes nothing.
$ bep doctor
bep 2.8.1 (7f3c2a1, 2026-10-09)
cache /home/ana/.cache/bep 412 GB free
compiler /usr/bin/clang++ 18.1.8 ok
ninja 1.13.1 ok
python 3.12.6 ok
git 2.46.0 ok
rustc 1.92.0 ok (build of bep only)
source none fetched
Every line ends in ok, warn or fail. Warnings do not stop a build; failures do, with exit code 5. Add --json for machine-readable output, which is what the CI template uses.
Upgrade from 2.7
Replace the binary and run bep doctor again. The 2.8.1 cache layout is a new directory (cache/v3), so the first bep fetch downloads sources once more; the 2.7 checkout stays untouched until you remove it with bep cache gc --all. Series files do not change. A lockfile written by 2.7 is read without a migration, but the next bep apply rewrites it with the new content hashes and marks the change in the diff you can inspect before committing.
Remove
bep cache gc --all # delete fetched sources and object caches
rm ~/.local/bin/bep
Nothing is written outside the working directory and the cache directory, so removing the binary and the cache leaves no leftovers. Configuration lives in bep.toml inside each series and is removed with the series.
Do not share one cache between machines. Object files record absolute paths. A cache copied over NFS makes the first build fail with a confusing compiler error; run bep cache gc and fetch again instead.