News: 1763464508

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Latest Servo release hints at a real Rust alternative to Chromium

(2025/11/18)


Servo is an all-new and all-Rust browser rendering engine. As Mozilla falters, it's the world's best option for avoiding a Google monopoly.

[1]Servo 0.0.2 is the second numbered release from the project. There is an accompanying post in the Servo project blog, " [2]October in Servo ," with the loaded subtitle "Better for the web, better for embedders, better for you."

Quite big claims, but the post behind them is an entirely technical summary of the recent work on the engine.

[3]

Servo is not a standalone app. It's a browser rendering engine, the core around which apps may one day be built. The repo does include the formerly standalone wrapper called Servo Shell, though, which lets you run a standalone browser, enter URLs, and interact with the result.

[4]

[5]

The new version follows last month's [6]version 0.0.1 , when the project began to [7]issue tagged releases on GitHub . The switch to numbered versions is an encouraging sign, showing that the project is making headway after it was [8]reborn as a Linux Foundation Europe project a couple of years ago.

You should take these zero-point-zero version numbers seriously because this is a long way from a complete finished product. However, the switch to numbered versions suggests the developers feel that a finished version 1 is at least foreseeable now. It also makes makes it easier to make snapshots visible on the [9]GitHub repository . So, for instance, this contains standalone downloads for Windows, Linux, macOS, and Android.

[10]

Servo has been in development for a long time. The [11]first [12]commits to the project's repository were way back in 2012. Early on, it was a collaborative effort [13]between Mozilla and Samsung . Then came COVID – and [14]cutbacks .

[15]

Servo Shell 0.0.2 showing our previous article about itself on macOS Sequoia

There are a few reasons why Servo matters. For one, much of the world runs on the web and web apps these days, including almost all SaaS offerings. Twenty years ago, that was a [16]new thing , as El Reg [17]explained in September 2005 using Salesforce as its example – but since then it's become ubiquitous. Back in 2016, [18]a Reg article still had to explain what Electron was. It lets developers build local applications for all the main desktop and mobile OSes from a single codebase: JavaScript, rendered via Google's Chromium engine. If you use some kind of SaaS product with a local client, the chances are that the client app is built using Chromium.

Similarly, today, most browsers are based on that one browser engine. Among programmers it's the stuff of jokes and memes now: " [19]Behind every browser, there's Chromium ." In " [20]Why does everything have to be based on Chromium? ," see if you can spot your browser. Are you using "Pretty Chrome" or "Red Chrome" or "Blue Chrome" or "Lion Chrome"? It's not just browsers – in " [21]Oops! All Chromium ," you can play spot the logo: we identified Slack, Spotify, Teams, Discord, Steam, and VS Code.

In reality, underneath the branding, there are only a handful of browser engines that are not related to Chromium. Apple's homegrown Safari was [22]originally based on KDE's KHTML engine , which Apple later [23]open sourced as WebKit . Safari [24]used to run on Windows , but not since [25]version 5.1.7 in 2010 . Apple [26]maintains there are three versions , but they're all for Apple devices.

If you want to run a WebKit-based browser on anything other than Apple hardware, there aren't many options: the [27]Midori browser is cross-platform, and on Linux and Haiku there's [28]GNOME Web .

[29]

Safari and WebKit are distant cousins of the Chrome family. Back in 2013, [30]Google forked WebKit to create Blink, which is the engine in Chromium.

There are two super-lightweight GUI browsers that don't yet support JavaScript, [31]NetSurf and [32]Dillo , the latter of which [33]has come back to life under a new project lead . The lack of JavaScript is why they're tiny and fast, but it also limits their use. They can't do what Chromium does in Electron.

[34]Ubuntu 25.10's Rusty sudo holes quickly welded shut

[35]Rust Foundation tries to stop maintainers corroding

[36]Debian demands Rust or rust in peace for legacy ports

[37]Rust-style safety model for C++ 'rejected' as profiles take priority

More capable is the [38]Ladybird browser , which as we [39]reported in 2023 has been spun off from the [40]standalone Unix-like Serenity OS project . When it went cross-platform, Ladybird was implemented in C++ like its former parent OS, but project lead Andreas Kling [41]announced in 2024 that it's moving to Apple's Swift language. The project website says: "We are targeting Summer 2026 for a first Alpha version on Linux and macOS. This will be aimed at developers and early adopters."

Mozilla axed Servo and its developers five years ago, and these days [42]seems more interested in adding AI . There are a few other browsers based on the modern Firefox codebase, such as [43]Waterfox , [44]LibreWolf , [45]Floorp , and the [46]Zen Browser , which we [47]looked at last year .

[48]

Servo Shell can do tabs too, complete with favicons

Chrome and Chromium are so dominant that most websites and web apps expect them, and quite a few things don't render correctly in Firefox. As we [49]mentioned when Thunderbird 142 landed , there are extensions to let you have Slack, WhatsApp, Facebook Messenger, and so on as tabs in Thunderbird, and they do work, but neither look nor work quite right.

In summary, there are a handful of non-Chromium based alternative browsers out there, but not many and they do have some limitations. In the world of web components to embed into apps, there's really no choice except Chromium. That is why Servo matters. It's FOSS, it's independent, and it's more or less the original Rust project.

Rust alone makes it appealing for a lot of developers because internet client software is one of the main channels for vulnerabilities and exploits. Chromium is around [50]47,712,130 lines of code , of which 54.1 per cent is C++. Nearly 26 million lines of C++ is a lot to debug. We suspect that many Reg readers, like this vulture, have zero interest in [51]writing Linux kernel modules . That seems fair to us, but the appearance of visible GUI Rust apps, such as the [52]Zed code editor , and the whole [53]COSMIC desktop environment , are good examples of substantial Rust projects that work well – and their performance is excellent.

Electron makes JavaScript an easy choice. It's popular and the apps look good. Even so, performance, code size, and security remain critical, and Servo has strong potential in all three of these areas. It probably won't power your next web browser just yet, but it could start to quietly displace Electron without most of its users ever noticing. ®

Get our [54]Tech Resources



[1] https://github.com/servo/servo/releases/tag/v0.0.2

[2] https://servo.org/blog/2025/11/14/october-in-servo/

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2aRymJ2zG_Hkqn2YIM9buHAAAAEI&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aRymJ2zG_Hkqn2YIM9buHAAAAEI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aRymJ2zG_Hkqn2YIM9buHAAAAEI&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[6] https://github.com/servo/servo/releases/tag/v0.0.1

[7] https://servo.org/blog/2025/10/20/servo-0.0.1-release/

[8] https://www.theregister.com/2023/09/27/servo_returns/

[9] https://github.com/servo/servo/releases/

[10] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44aRymJ2zG_Hkqn2YIM9buHAAAAEI&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[11] https://github.com/servo/servo/commit/ce30d4520d67f2c6ef960571a9b3e450c5dcbebe

[12] https://github.com/servo/servo/commit/783455f684bc613dba25d5c2e54157c336093f35

[13] https://www.theregister.com/2013/04/03/samsung_helps_mozilla_with_servo/

[14] https://www.theregister.com/2020/08/14/mozilla_google_search/

[15] https://regmedia.co.uk/2025/11/17/servo-on-servo.jpg

[16] https://www.theregister.com/2005/05/27/ibm_saas_pw/

[17] https://www.theregister.com/2005/09/16/salesforce-com_appexchange/

[18] https://www.theregister.com/2016/12/13/hyper/

[19] https://programmerhumor.io/programming-memes/behind-every-browser-theres-chromium/

[20] https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2Fabskn8qldvp91.jpg

[21] https://www.reddit.com/r/ProgrammerHumor/comments/127ktu7/oops_all_chromium/#lightbox

[22] https://www.theregister.com/2003/01/07/apple_reopens_browser_wars/

[23] https://www.theregister.com/2005/06/08/safari_again/

[24] https://www.theregister.com/2007/06/13/safari_cant_see_bold/

[25] https://support.apple.com/en-us/102665

[26] https://www.theregister.com/2023/11/02/apple_safari_browser/

[27] https://astian.org/midori-browser/

[28] https://apps.gnome.org/en-GB/Epiphany/

[29] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33aRymJ2zG_Hkqn2YIM9buHAAAAEI&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[30] https://www.theregister.com/2013/04/04/google_forks_webkit_as_blink/

[31] https://www.netsurf-browser.org/

[32] https://dillo-browser.org/

[33] https://www.theregister.com/2024/05/07/dillo_browser_v3_1/

[34] https://www.theregister.com/2025/11/13/ubuntu_rust_sudo_hole/

[35] https://www.theregister.com/2025/11/05/rust_foundation_announces_maintainers_fund/

[36] https://www.theregister.com/2025/11/03/debian_apt_to_require_rust/

[37] https://www.theregister.com/2025/09/16/safe_c_proposal_ditched/

[38] https://ladybird.org/

[39] https://www.theregister.com/2023/10/17/serenity_os_turns_five/

[40] https://www.theregister.com/2022/03/31/serenityos/

[41] https://x.com/awesomekling/status/1822236888188498031

[42] https://www.theregister.com/2025/11/13/firefox_adds_ai_window/

[43] https://www.waterfox.net/

[44] https://librewolf.net/

[45] https://floorp.app/en-US

[46] https://zen-browser.app/

[47] https://www.theregister.com/2024/09/02/zen_firefox_fork_alpha/

[48] https://regmedia.co.uk/2025/11/17/servo-org-on-servo.jpg

[49] https://www.theregister.com/2025/08/22/thunderbird_142/

[50] https://openhub.net/p/chrome/analyses/latest/languages_summary

[51] https://www.theregister.com/2025/03/10/rust_drivers_expected_to_become/

[52] https://www.theregister.com/2025/09/30/zed_windows_beta_sneaks_out/

[53] https://www.theregister.com/2025/11/03/cosmic_1_before_xmas/

[54] https://whitepapers.theregister.com/



Layout engines

Anonymous Coward

Ahem. I'm duty-bound to point out that if you want to send CSS and HTML to print, not display it on screen, you've got at least eight independently developed layout engines to choose from, a point I made [1]recently (specifically, on slide four). But yes, on the web it's close to a monoculture, so more power to these guys.

[1] https://bfo.com/misc/2025-pdf-days-berlin-presentation/

Re: Layout engines

Liam Proven

> at least eight independently developed layout engines

That's a remarkable and fascinating observation.

It says:

«

For print? Engines by BFO, Prince, PDF Reactor, Antenna House, Vivliostyle,

Weasyprint, Typed.sh (that I know of).

»

Why is that? Is print easier? By the look of it most of these aren't FOSS so presumably they don't use FOSS code to do the rendering...

Re: Layout engines

Anonymous Coward

Well, as the author of one of them I can take a good a stab at this as any. First, a lot of these have been around for some time - I (Mike from BFO) met Håkon Lie (Prince and Opera) and the team beyond PDF Reactor at a CSS conference in 2006, shortly after a presentation by someone from Antenna House. Blink wasn't even a twinkle in Google's eye back then.

Second, print has some pretty specific needs - page numbering, leaders, running headers and so on. These have all been in CSS GCPM and some go as far back as CSS 2, but after 20 years they're not supported in browsers. I can tell you there's a lot of work required to get a page numbers for an item on page 890 appearing in the table of contents in page 2. Fragmentation (ie splitting blocks) has come along a long way, particularly now we have a proper CSS multicolumn spec, but for a long time it was unloved by browsers.

Finally, for our engine we stream content through without holding the entire DOM in memory - that's pretty specialised but necessary if you want to generate a 6.1GB, 6,534 page document (which, as it happens, is the one I'm presently waiting on to render in another window so I can debug it - giving me a few minutes to type this). Can't do that in a browser.

Vivliostyle and Weasyprint are both FOSS, but it's a small market. hard work and unlike Apple and Google we don't sell phones or adverts to pay the bills. Hence no FOSS from us.

takno

Slack, Whatsapp and Facebook Messenger all render just fine in Firefox, and certainly in the case of Slack seems to use a lot less memory and CPU than the Electron app.

Sometimes websites haven't been coded for Firefox and genuinely don't work, but that's more often a failure to code for Firefox's pesky privacy-respecting security layer than it anything to do with the rendering engine.

beast666

Burn it with fire.

There's more to Rust than...

jonha

its use in the Linux kernel and Servo. I'm an old fart and stick mostly to the command line and there's an amazing number of well-designed and performant utilities/tools in this space. There's sharkdp's fd, there casey's just, and ms-jpq's sad or chmln's sd... to name just a few of those I use every day.

Pete: Waiter, this meat is bad.
Waiter: Who told you?
Pete: A little swallow.