Librsvg Continues Rust Conquest, Pulls In CSS Parsing Code From Mozilla Servo

Written by Michael Larabel in GNOME on 12 November 2019 at 07:49 AM EST. 82 Comments
For about three years now GNOME's SVG rendering library has been transitioning to Rust. This library, librsvg, now makes further use of Rust around its CSS parsing code and Mozilla's Servo is doing some of that heavy lifting.

Librsvg is employing the CSS engine from Mozilla's Servo engine in order to be written in Rust while also having the benefit of being able to handle more complex CSS code than the previous implementation.

Through this latest librsvg work, the dependency on GNOME's libcroco was also dropped. Libcroco is a CSS parsing library that has been largely unmaintained for years and has known issues against it -- including security issues.

Long story short, the CSS code for librsvg is now in Rust, libcroco is no longer a dependency, and this latest Rust transitioning will appear soon with librsvg 2.47.1.

With librsvg dropping libcroco that just leaves GNOME Shell as the last user of that CSS parsing library. Developer Federico Mena Quintero has volunteered to help port GNOME Shell's CSS code to Rust so that could be happening as well as we approach 2020.

More details on this Rust work via Federico's blog.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week