# Budgie ships one desktop, five components and a three-way licence split

> Budgie Desktop is a Vala-based Linux desktop environment maintained under BuddiesOfBudgie, whose interesting engineering detail is not the shell but the licensing: the shared libraries are LGPL-2.1 so applications can link them without inheriting anything, while the binaries are GPL-2.0. The build is Meson, the bindings are hand-written Vala, and translations live in a Transifex project.

**BuddiesOfBudgie/budgie-desktop** — Budgie Desktop is a familiar, modern desktop environment.

- Repository: https://github.com/BuddiesOfBudgie/budgie-desktop
- Website: https://buddiesofbudgie.org
- Stars: 1,346 · Forks: 68
- Language: Vala
- License: GPL-2.0
- Published: 2026-10-17 · Updated: 2026-10-17 · Language: en
- Canonical page: https://hysenlabs.com/projects/buddiesofbudgie-budgie-desktop

## What the desktop actually consists of

The README describes Budgie as a feature-rich, modern desktop designed to keep out of the way of the user, and then enumerates the pieces rather than describing a philosophy.

The Budgie Menu is the main menu, described as suitable for both mouse and keyboard driven users, with search-as-you-type and category based filtering. That combination is the accessibility claim in practice: a menu you can reach entirely from the keyboard and narrow with a few typed characters.

Raven is the component that does the most. It is an all-in-one centre for the calendar, sound output and input including per-app volume control, and media playback. On top of that it handles the usual media integration expectations: media player controls on notifications, cover artwork, and global media key support for keyboards. The specific capability is MPRIS: when a compliant player such as VLC, Rhythmbox or Spotify is running, an MPRIS controller appears in Raven with controls and data on the current media selection. Raven also holds missed notifications, with the ability to swipe away individual notifications, an app's notifications, or all of them.

The Run Dialog is the smallest component and the most conventional. It is a popup to find an application, activated by default with `ALT+F2`, providing a keyboard driven launcher.

The End Session Dialog is the usual shutdown and logout dialog, reachable through the User Indicator applet.

Notifications are a separate subsection rather than a component, and the implementation detail is the freedesktop notifications specification, with support for actions, icons and passive modes. That matters more than it sounds: conformance to the spec is what lets any GTK or non-GTK application raise an alert the user can act on.

`budgie-polkit-dialog` is a PolicyKit agent for the session, providing authentication for privileged actions in a way the README describes as cohesive and integrated.

## The split licence is the design decision to read first

Budgie uses what it calls a split license model, and the stated purpose is developer freedom rather than convenience.

The model is described as enabling developers to link against the libraries of budgie-desktop without affecting their choice of license and distribution. The shared libraries are available under LGPL-2.1, allowing developers to link against the API without issue and to use all exposed APIs without affecting their project license.

The remainder of the project, which the README specifies as the installed binaries, is under GPL 2.0. And it notes this is clarified in the headers of each source file, so the answer is available per file rather than requiring you to work it out from the repository.

The repository reflects that: there are both a `LICENSE` and a `LICENSE.LGPL2.1` at the root. A `DCO.txt` is also present, which indicates contributions are made under a Developer Certificate of Origin, meaning each commit carries a sign-off rather than a copyright assignment.

A third licence applies to assets rather than code. The backgrounds shipped in `data/backgrounds` are shipped as part of a separate project, budgie-backgrounds, and are licensed CC0-1.0. This applies to the wallpaper assets rather than the project's code.

So there are three terms to hold in mind: LGPL-2.1 for libraries, GPL-2.0 for binaries, CC0 for wallpapers. If you are writing a Budgie applet against the libraries, the LGPL half is the one that concerns you, and the reason a distribution can ship it without forcing GPL on anything that links it.

## Meson, Vala bindings and Transifex

The build and layout tell you what kind of project this is.

The primary language is Vala, and that choice is visible in the repository layout. There is a `vapi/` directory, which is where Vala bindings for C libraries live, and `subprojects/` for Meson subprojects. A `meson.build` at the root with a `meson_options.txt` alongside it is the build definition, and `scripts/` holds build helpers.

The `vapi/` directory deserves a note for anyone contributing. Vala projects frequently need handwritten or vendored bindings for libraries that do not ship Vala metadata, and having a `vapi/` directory means some of them live in this repository. That is a maintenance obligation that a pure C or pure Python project does not have.

There is also `.gitmodules` and `.git-blame-ignore-revs` at the root.

Translations have a dedicated presence. The `po/` directory is where gettext catalogues live, and the README carries a Transifex badge pointing at a project named for the desktop version, `budgie-10`. The repository therefore includes both `po/` and a Transifex project link.

Elsewhere there are `.clang-format`, `pyrightconfig.json` and `.vscode/` files at the root.

Two files stand out as unusual for a desktop environment: `AGENTS.md` and a `CLAUDE.md` at the root, alongside a `.claude/` directory. These files are worth knowing about when navigating the repository.

## Resetting configuration, and what the release history says

There is one command in the README and it is a testing aid rather than a feature.

The reasoning given is that as new features are implemented it can be helpful to reset the configuration to the defaults to ensure everything is still working, and to reset the entire configuration tree:

```bash
budgie-panel --reset --replace &!
```

The trailing `&!` is a bash construct that backgrounds the command and disowns it, so the reset runs detached from your shell. That matters for the stated use case: you are testing, you want the panel to reset and come back on its own rather than holding your terminal.

Two things follow from this being the only command in the README. There is no installation documentation here, because a desktop environment is packaged by distributions rather than pip-installed. And there is no configuration file format documented here, because the panel owns its own tree and the supported way to change it is through the panel's own interface.

Release history is the other place to look for a signal. The recent releases are Budgie 10.10.3 on 2026-09-27, 10.10.2 on 2026-03-07 and 10.10.1 on 2026-01-31. The gap between 10.10.2 in March and 10.10.3 in September is six months, which for a desktop environment maintained by a community organisation is a normal point-release cadence rather than a sign of stagnation.

The repository itself is not archived and the last push was on 2026-10-14, three days before today, so development is current even though releases are spread out.

The default branch is `main`, and there is a website at buddiesofbudgie.org, a Matrix channel at `#buddies-of-budgie:matrix.org`, and an Open Collective with a backer tier. Copyright is held by the Budgie Desktop Developers.

## Conclusion

Budgie fits a user or packager who wants a complete, familiar desktop rather than a window manager to assemble, and whose distribution already carries the GTK stack it expects. Do not adopt it as a base for a panel plugin expecting a permissive licence on the installed binaries, because the split puts the shared libraries under LGPL and the installed binaries under GPL-2.0. Verify first which components your distribution ships and at what version, since the release history shows point releases months apart and a desktop environment is only as consistent as the mix of package versions on the machine.

## FAQ

### What is Budgie Desktop?

A Linux desktop environment written primarily in Vala and described as feature-rich and modern, designed to keep out of the user's way. It provides a Budgie Menu, the Raven widget, a Run Dialog, an End Session Dialog, freedesktop notifications and a PolicyKit agent.

### What license is Budgie Desktop released under?

A split model. The shared libraries are LGPL-2.1 so applications can link them without affecting their own licence, the installed binaries are GPL-2.0, and the backgrounds in data/backgrounds are CC0-1.0 as part of a separate budgie-backgrounds project. The repository has both a LICENSE and a LICENSE.LGPL2.1.

### What does Raven do in Budgie Desktop?

It is an all-in-one centre for the calendar, sound output and input including per-app volume control, and media playback. It supports MPRIS, so a controller appears for players such as VLC, Rhythmbox or Spotify, and it holds missed notifications that can be dismissed individually, per app or all at once.

### How do I reset the Budgie panel configuration to defaults?

Run `budgie-panel --reset --replace &!`, which resets the entire configuration tree. The README frames this as a testing step: reset after new features are implemented to check everything still works.

### How is Budgie Desktop built and translated?

With Meson, using meson.build and meson_options.txt at the root, Vala bindings in a vapi/ directory and Meson subprojects in subprojects/. Translations live in po/ as gettext catalogues and are managed through a Transifex project named budgie-10.

### What is the latest Budgie Desktop release?

Version 10.10.3, released on 2026-09-27, after 10.10.2 on 2026-03-07 and 10.10.1 on 2026-01-31. The repository is not archived and the last push was on 2026-10-14.

## Sources

- [BuddiesOfBudgie/budgie-desktop on GitHub](https://github.com/BuddiesOfBudgie/budgie-desktop)
- [License: GPL-2.0](https://github.com/BuddiesOfBudgie/budgie-desktop/blob/main/LICENSE)
- [Project website](https://buddiesofbudgie.org)
- [README](https://github.com/BuddiesOfBudgie/budgie-desktop/blob/main/README.md)
- [Releases](https://github.com/BuddiesOfBudgie/budgie-desktop/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/buddiesofbudgie-budgie-desktop
