Introduction
What Roves is, and where to go next.
Roves is a modern web engine built from scratch, not a repurposed browser, used as a native runtime for shipping web-built games as real desktop apps — and it's a customized, vendored fork of Servo.
You build your entire game however you already do (React, Vue, Vite.js, plain HTML/CSS/JS — anything that runs in a browser). Roves takes that built output and produces either a double-click-runnable portable executable or a real installer for Windows, macOS, and Linux — with your content either sitting next to it or packed straight into the bundle.
Packmaster
A desktop GUI for packaging your game — no Rust/Python needed.
GitHub Action
roves-action — wire this into your own game's CI.
Shell
The raw engine: mach build/mach bundle, every flag. Least important for most users.
roves-api
The JS/TS bridge your game's own code talks to Roves through.
Integrations
Content packing, Steam integration, and diagnostics, in depth.
Why Roves?
Tauri vs. a bundled Chromium (Electron) vs. Roves — and why this exists at all.
What Roves is built from
Roves is not a from-scratch engine — it's upstream Servo, a web
engine written in Rust from the ground up (not a fork of Chromium/WebKit). Under the hood,
a handful of Rust libraries handle the technical heavy lifting: one opens and manages the
game window, another draws everything using your graphics card so it stays smooth, and
another keeps your web content running safely walled off from the rest of the app — the
same trick real web browsers use to stop one broken tab from taking down the whole browser.
None of this needs any attention from you; it's just what makes Roves fast and reliable
without extra work on your end. Rust's own portability is also why the console ports on
the roadmap (Switch, PlayStation, Xbox) are realistic at all —
several already have community Rust toolchains (nx, ctru-rs, rust-psp, vitasdk-rs).