Skip to main content

Magpie Validation

This document provides guidance on compiling and validating Magpie, our soft-fork of Mutter, alongside steps for getting the testing support branch for Budgie Desktop.

If you are unfamilar with Magpie, please check its GitHub repository.

Please keep in mind that this document is intended to be limited in scope to pre-1.0 Magpie validation and will not be necessary once magpie is shipped in various distributions and a new Budgie Desktop 10 series (such as 10.8) is out.

Need help?

You can reach out to us on our Matrix Space for guidance if you run into issues.

Ubuntu Budgie

For Ubuntu Budgie, you can test out Magpie support using their PPA. Follow the steps below.

sudo add-apt-repository ppa:ubuntubudgie-dev/magpie-wm
sudo apt full-upgrade

To safely purge the PPA and return to the repo version, run the command below:

sudo ppa-purge ppa:ubuntubudgie-dev/magpie-wm

Other Distributions

For other distributions, you will need to build and install Magpie from source, followed by Budgie Desktop.

Magpie Build & Installation

Before compiling Magpie, you should first to first follow the "Installing Build Dependencies" section from the Building Budgie Desktop documentation. This should get you most of the required build dependencies for Magpie compilation as well.

In addition to the ones listed in that document, you may need the following (these are the Fedora listed ones, so please check your respective operating system):

  • libdrm-devel
  • libgudev-devel
  • libinput-devel
  • mesa-libEGL-devel
  • mesa-libGLES-devel
  • mesa-libGL-devel
  • mesa-libgbm-devel
  • libwacom-devel
  • libxkbcommon-x11-devel
  • libxkbfile-devel
  • mesalib-devel
  • pipewire-devel
  • sysprof-devel

After installation of the above mentioned dependencies, clone the magpie source repository using git:

git clone

At this point, we will attempt to configure our build system for compilation. If any development dependencies are missing at this point, you will need to install them using your respective package manager

cd magpie
meson setup build --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib

Assuming configuration was successful, we will now attempt to build and install Magpie.

ninja -j$(($(getconf _NPROCESSORS_ONLN)+1)) -C build
sudo ninja install -C build

Budgie Desktop

Now that you have a build of Magpie installed on your system, it is time to check out the dedicated testing code branch for Budgie Desktop and build Budgie Desktop.


If at this point in time you have not installed the dependencies required to compile Budgie Desktop itself, see the "Installing Build Dependencies" section of Building Budgie Desktop.

As you already have the dependencies for Budgie Desktop installed, run the following command to clone the source and check out the dedicated branch.

git clone
cd budgie-desktop
git submodule update --init
git checkout magpie

Following all steps including and after the "Configuring" section of the Building Budgie Desktop document.

At this stage, you should have a Budgie Desktop compiled and installed that uses Magpie. At this point, you will need to perform a reboot.