Verso
Mirror of https://gitlab.com/verso-browser/verso
Install / Use
/learn @versotile-org/VersoREADME
Verso
[!NOTE]
Verso is currently no longer maintained. The Verso web browser project was an effort to build a functional web browser on top of the Servo web engine, with the goal of identifying what is needed for Servo to evolve into a mature browser. Several major contributions from this project have been integrated into Servo, as detailed in Behind the Scenes of Verso Browser Development.As the project progressed, multiple significant revisions to Servo were released, and the Verso browser was unable to keep pace with these updates due to limited manpower and funding. Therefore, we will be archiving the repository for now and look forward to a future opportunity to revitalize the project and continue contributing to the Servo ecosystem.
A web browser that plays old world blues to build new world hope.
<img src="https://github.com/user-attachments/assets/ca124b2b-c54c-4796-b2cb-0819228495b6" width="600" alt="The Verso logo with a sitting cat, written in ASCII art, rendered in orange on black as on an old CRT monitor" />Verso is a web browser built on top of the Servo web engine. We aim to explore embedding solutions for Servo while growing it into a mature browser one day. This means we want to experiment with multi-view and multi-window first and then build UI elements entirely from Servo itself. At the moment, Servoshell should provide a better user experience.
Verso is still under development. We don't accept feature requests at the moment, and the whole navigation workflow hasn't been polished yet, either. But if you are interested, feel free to open bug-fix PRs.
Usage
Getting Started
Windows
- Install scoop and then install other tools:
scoop install git python llvm cmake curl
pip install mako
You can also use chocolatey to install if you prefer it.
- Build & run:
cargo run
MacOS
brew install cmake pkg-config harfbuzz python@3 # Install required dependencies CMake, pkg-config, HarfBuzz, and Python 3.
pip3 install mako # Install the Mako templating engine
curl https://sh.rustup.rs -sSf | sh # Install Rust and Cargo
- Build & run:
cargo run
Linux
Flatpak
For unified environment setup and package experience, we choose Flatpak to build the project from the start. Please follow the Flatpak Setup page to install Flatpak based on your distribution.
- Install flatpak runtimes and extensions:
flatpak install flathub org.freedesktop.Platform//24.08
flatpak install flathub org.freedesktop.Sdk//24.08
flatpak install flathub org.freedesktop.Sdk.Extension.rust-stable//24.08
flatpak install flathub org.freedesktop.Sdk.Extension.llvm18//24.08
- Generate manifests and build: // TODO Exporting to a repository instead
python3 ./flatpak-cargo-generator.py ./Cargo.lock -o cargo-sources.json
flatpak-builder --user --install --force-clean target org.versotile.verso.yml
flatpak run org.versotile.verso
Nix
We also support building Verso in nix shell. But we don't bundle it in nix at the moment.
- For NixOS:
nix-shell shell.nix --run 'cargo r'
- For non-NixOS distributions:
nix-shell shell.nix --run 'nixGL cargo r'
If you prefer to build the project without any sandbox, please follow the instructions in Servo book to bootstrap. But please understand we don't triage any build issue without flatpak or nix setup.
Nightly Release
Nightly releases built with CrabNebula Cloud can be found at releases.
Packages are unsigned currently. If you have problem opening the app on macOS, try
xattr -d com.apple.quarantine /Applications/verso.appafter installation.
Future Work
- Multi-window support.
- Enable multiprocess mode.
- Enable sandbox in all platforms.
- Enable
Gstreamerfeature.
Related Skills
himalaya
349.2kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
349.2kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
