Dillo, a multi-platform graphical web browser

Architecture & Platform Support

  • Dillo uses the FLTK GUI toolkit (moved from an early GTK+ codebase around Dillo 2).
  • FLTK has been ported to DOS; there were DOS/Windows ports of Dillo 3.0, but they never landed upstream. Maintainer is open to merging them if someone helps update the code.
  • FLTK 1.4.x currently breaks many things in Dillo; experimental support is planned behind a configure flag in an upcoming 3.3.0 release.

Project Status & Infrastructure

  • Active development continues, with recent 3.x releases and adherence to semantic versioning.
  • The project is moving off GitHub to its own site, cgit repos, and a custom “buggy” bug tracker where issues are Markdown files stored in git.
  • Motivation: speed, offline use, JS-free workflows, interoperability outside a corporate walled garden, and minimal bandwidth.

Design Philosophy, JS, and the Modern Web

  • Dillo intentionally has no JavaScript support; many commenters see this as therapeutic and a feature, not a bug.
  • This exposes how much of the modern web is JS-gated: Google Search and Maps now block non-JS browsers; alternatives like DuckDuckGo Lite and Startpage still work.
  • Some argue any site requiring JS for basic functionality is “a bad website” and should be avoided; others note this makes Dillo unusable for many everyday sites.

Performance, Use Cases & Comparisons

  • Widely praised as extremely fast and lightweight (tiny binary, runs well on 40–64 MB RAM, old laptops, netbooks, BSD on i386, OLPC, PDAs).
  • Often contrasted with NetSurf: NetSurf is more standards-compliant and familiar; Dillo is lighter, more brutalist, and more idiosyncratic.
  • Users report success on modern low-power devices (e.g., ARM tablets), using curated “lightweight” sites.

Standards & Compatibility

  • CSS support exists but is incomplete; an old CSS compatibility page is acknowledged as outdated.
  • Maintainer views Web Platform Tests as the best indicator of support and has experimented with integrating them, but many tests require JS.

Security & Sandboxing

  • Some concern that “ultralight” might also mean light on security features.
  • Maintainer has experimented with pledge and Landlock; proper multi-process isolation would require internal redesign and is a longer-term goal. Short-term: CSS/images and specific image decoders can be disabled.

Related Projects & Ecosystem

  • Discussion touches on various forks (Dillo+, Mobilized Dillo) and alternative lightweight engines (e.g., a Rust-based engine reusing Servo components).
  • Dillo is cited in “suckless” circles and remembered from Damn Small Linux and other minimalist distros.