Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
Servo is a prototype web browser engine written in the
Rust language. It is currently developed on
64-bit macOS, 64-bit Linux, 64-bit Windows, 64-bit OpenHarmony, and Android.
Servo welcomes contribution from everyone. Check out The Servo Book to get started, or go to servo.org for news and guides.
For more detailed build instructions, see the Servo book under Setting up your environment, Building Servo, Building for Android and Building for OpenHarmony.
brew
.uv
: curl -LsSf https://astral.sh/uv/install.sh | sh
rustup
: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo
is available./mach bootstrap
./mach build
curl
:
sudo pacman -S --needed curl
sudo apt install curl
sudo dnf install curl
sudo emerge net-misc/curl
uv
: curl -LsSf https://astral.sh/uv/install.sh | sh
rustup
: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo
is available./mach bootstrap
./mach build
uv
, choco
, and rustup
Microsoft.VisualStudio.Component.Windows10SDK.19041
)Microsoft.VisualStudio.Component.VC.Tools.x86.x64
)Microsoft.VisualStudio.Component.VC.ATL
)Microsoft.VisualStudio.Component.VC.ATLMFC
)cargo
is available.\mach bootstrap
.\mach build
ANDROID_SDK_ROOT
ANDROID_NDK_ROOT
: $ANDROID_SDK_ROOT/ndk/26.2.11394342/
ANDROID_SDK_ROOT
can be any directory (such as ~/android-sdk
).$ANDROID_SDK_ROOT/cmdline-tools/latest
.sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
"build-tools;34.0.0" \
"emulator" \
"ndk;26.2.11394342" \
"platform-tools" \
"platforms;android-33" \
"system-images;android-33;google_apis;x86_64"
HarmonyOS NEXT
vs pure OpenHarmony
) the build configuration will differ slightly.DEVECO_SDK_HOME
(Required when targeting HarmonyOS NEXT
)OHOS_BASE_SDK_HOME
(Required when targeting OpenHarmony
)OHOS_SDK_NATIVE
(e.g. ${DEVECO_SDK_HOME}/default/openharmony/native
or ${OHOS_BASE_SDK_HOME}/${API_VERSION}/native
)SERVO_OHOS_SIGNING_CONFIG
: Path to json file containing a valid signing configuration for the demo app.--flavor=<default|harmonyos>
to `mach <build|package|install>.