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.
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 https://github.com/BuddiesOfBudgie/magpie.git
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
- Arch
- Debian / Ubuntu
- Solus
- All Other Distributions
cd magpie
meson setup build --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
cd magpie
meson build --prefix=/usr --libdir=/usr/lib -Dwith-gnome-screensaver=true
Solus has special requirements and mandates the use of stateless XDG paths, as well as using the OS default CFLAGS:
cd magpie
meson --prefix /usr --libdir /usr/lib64 --sysconfdir /etc -Dwith-stateless=true build --buildtype plain
cd magpie
meson build --prefix=/usr --sysconfdir=/etc
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 https://github.com/buddiesofbudgie/budgie-desktop.git
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.