# Install libart with Homebrew, dnf

Library for high-performance 2D graphics. Version 2.3.21 via Homebrew; verified from local package data. Also installable with dnf: sudo dnf install libart.

## Install

```sh
sudo av install brew:libart
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libart
```

  Evidence: local Homebrew formula metadata

### Linux

- dnf (92%):

```sh
sudo dnf install libart
```

  Evidence: Fedora Rawhide package metadata: libart from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

## Package facts

- **Package key:** brew:libart
- **Package manager:** Homebrew
- **Version:** 2.3.21
- **Source summary:** Library for high-performance 2D graphics
- **Homepage:** <https://gitlab.gnome.org/Archive/libart_lgpl>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- libart2-config (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.3.21
## Project history and usage

Libart is Raph Levien's small, optimized C library for antialiased 2D vector graphics. Its upstream page describes it as the rendering engine for GNOME Canvas and Gill, with an imaging model close to SVG, Java 2D, and PostScript plus antialiasing and alpha compositing.

### Project history

Libart grew out of the late-1990s GNOME graphics stack, where GNOME needed a structured canvas and antialiased vector rendering before Cairo existed. Levien's project page says the source lived in GNOME CVS and that he owned the copyright to the code base, while GNOME distributed the LGPL-oriented libart_lgpl tarballs for use by desktop components.

The 2000 Freenix paper on GNOME Canvas documented a section called the Libart Imaging Model, showing how paths, sorted vector paths, antialiasing, stroking, raster images, and microtile arrays fit into the canvas update and rendering pipeline.

### Adoption history

Libart was adopted by GNOME Canvas, Gill, and other GNOME-era applications that needed vector drawing before newer 2D APIs became common. GNOME's source archive shows the libart_lgpl 2.3 release line continuing through 2.3.21 on 2010-04-01, which is why package managers still carry it mostly for older software compatibility.

### How it is used

The library is used by C and C++ programs that need low-level vector path rendering, Bezier and vector path data structures, alpha compositing, affine transforms, and region/microtile calculations. On Unix packages, the small `libart2-config` helper exposed compiler and linker flags to dependent builds.

### Why package nerds care

Libart is a classic compatibility package: small, old, and mostly invisible until some older GNOME, graphics, or document-rendering dependency asks for it. It marks the pre-Cairo period of Linux desktop graphics and still shows up in package graphs as `libart_lgpl` or `libart`.

### Timeline

- 2000: GNOME Canvas Freenix paper documents the Libart Imaging Model.
- 2001: GNOME source archive lists libart_lgpl 2.3.5 tarballs.
- 2010: GNOME source archive publishes libart_lgpl 2.3.21.

### Related projects

- GNOME Canvas, Gill, SVG, Java 2D, PostScript, Cairo, and older GNOME graphics applications are the main historical neighbors.

### Sources

- <https://download.gnome.org/sources/libart_lgpl/2.3/>
- <https://levien.com/libart/>
- <https://levien.com/libart/vpath.html>
- <https://static.usenix.org/event/usenix2000/freenix/full_papers/quintero/quintero_html/fmq-usenix-2000.html>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Other Package-Manager Records

- dnf - libart - 0-14.20210723git3010468.fc45: normalized package name match | Fedora Rawhide package metadata: libart from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Adaptive Radix Trees implemented in C | https://github.com/armon/libart
- dnf - libart-devel - 0-14.20210723git3010468.fc45: normalized package name match | Fedora Rawhide package metadata: libart-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Development files for libart | https://github.com/armon/libart


## Combined YAML source

View the package source record on GitHub. [combined/libart.yml](https://github.com/mxcl/pkgdb/blob/main/combined/libart.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
