mgbrowser
Burning magnesium periodic-table tile: 12, Mg, 24.305

v0.9.1 Experimental Preview

mgbrowser

A browser written from the ground up in Rust.

Measured standards progress. This update fixes intrinsic widths and supported column baseline alignment. The pinned WPT pilot and remaining unsupported tests are reported below, freshly measured on every commit.

Right-click Inspect element or press F12 for diagnostics. Ctrl+T opens a tab; drag tabs into windows or left/right groups. Smooth scrolling, themes, sizing, bookmarks and update progress with Restart now remain.

Linux x86_64 · X11 / XWayland · glibc 2.35+ · No Rust toolchain needed

curl -fsSL https://mgbrowser.org/install.sh | bash

Run the command once to get automatic updates. Installed builds check on startup and daily; restart to use a new version. Menu → About shows version, compile time and commit. Use --no-auto-update to disable background checks. HTTP pages keep a red title/address strip in both themes; Ctrl+L selects the location. Boa page JavaScript remains opt-in with --enable-scripts.

Modern-web compatibility is poor. This is a technology preview, not a daily browser. Do not use it for banking, sensitive authenticated browsing, or arbitrary hostile websites.

Measured compatibility

Web Platform Tests

7 / 24 selected tests passing

Fail: 0 · Unsupported: 17 · Errors: 0 · Timeouts: 0 · Crashes: 0.

A pinned static-reftest pilot using the real Rust browser navigation, resource and rendering path. This is a selected subset, not the full Web Platform Tests suite or JavaScript testharness coverage. These are current-source measurements, not a score for the installed release.

Pages reruns this selection and checks the recorded score before publishing a commit. Unsupported cases stay in the denominator.

Method and limitations ↗ · Full results and tested commit ↗

Reproducibility fingerprints

Upstream WPT: 84daed4ae966d9624bed22f43587c79283ad1fea

Corpus SHA-256: a7c74dc8f01eebd8f14ad8851e4d8c3bad3d2ac97764abd2e370602e40b1bbdd

Browser source SHA-256: 34b49a42e1df1e36a2fc8c8ecd52f482d4d1dbf3bce826cc7f49db8277595bf8

Try the browser we have

Small. Original. Experimental.

Own HTML parsing, measurement and rendering, with Rust Stylo for CSS and Taffy for bounded flex/grid sizing. PNG/JPEG/GIF and restricted static SVG images use Rust codecs. Verified HTTPS with experimental RustCrypto TLS. Opt-in Boa JavaScript runs in a restricted child process; partial CDP controls real browser input.

The installer checks SHA-256, installs to ~/.local/bin without sudo, and adds an Mg desktop launcher. Try mgbrowser https://news.google.com/ or Hacker News.

A few practical details

Open a page.

Run inside an X11 or XWayland desktop. A DejaVu or Liberation font is required; otherwise set MGBROWSER_FONT to a TrueType/OpenType font file. Follow the installer’s PATH instruction if shown.

Ctrl+L edits the address, Enter navigates, Tab moves between fields, Alt+Left goes back. Use --help for options. Developer guide ↗

Reusable Rust components

Butane. Sparkle. Chassis.

Butane embeds Boa with bounded execution policy and preserves our original interpreter as a test baseline. Sparkle handles HTML, DOM, layout and painting. Chassis brings browser services and optional controls; mg-browser supplies the desktop and platform integration.

The libraries have standalone examples and support rendering without a window. V8/WebKit drop-in compatibility, Tauri integration and a ThermiteOS port remain future work. Architecture and embedding guide ↗

The Butane JavaScript plan ↗ remains a longer roadmap. Boa now executes inline page scripts under an explicit process-contained profile ↗. Comprehensive cooperative resource control, external loading and React/Vue browser applications remain open. The initial experiment results ↗ remain separate evidence.

Read before browsing

Known limitations

Research after the release

Leave a trail others can follow.

Feature contracts, daily logs and reusable agent skills keep experiments reviewable. The proposed autoresearch evaluator, broader CSS/images and full CDP remain future work. This preview does not complete the formal Linux MVP gates.

MVP plan · Contribute

Built in the open

Evidence over promises.

Modern page, Promise, retained-event and GC/lifecycle tests accompany the Boa integration. The original engine's assertions and 26 native/26 CDP fixture journeys remain a separate research baseline. Exact release and public-install receipts live in the dated work log; local fixtures are not broad web compatibility.

Feature specification · Daily logs · Skills

Our collaboration workflow draws from Recurse.

Project status

Latest work log: . Status comes from the repository’s feature specification.