Building
Dependencies
- cmake >= 3.7
- gcc or clang with C++23 support
- miral >= 7
- miroil
- mirrenderer
- mirwayland
- mirserver
- mirserver-internal
- mir-graphics-drivers-desktop >= 2.14
- mir-graphics-drivers-nvidia >= 2.14 (NVIDIA Only)
- glib-2.0
- yaml-cpp
- libevdev
- nlohmann json >= 3.2.0
- libnotify
- libxkbcommon
- libgles2-mesa-dev
- json-c >= 0.17
From source
git clone https://github.com/miracle-window-manager/miracle-wm.git
cd miracle-wm
cmake -Bbuild
cmake --build build
WAYLAND_DISPLAY=wayland-98 ./build/bin/miracle-wm
CMake Options
The following options are available at build time:
-DSNAP_BUILD
: Informs cmake that this is being built for a snap since some parameters need to be tweaked for that use case.-DSYSTEMD_INTEGRATION
: If enabled, miracle will build with full systemd integration, including establishing a user session and importing the proper environment variables in to systemd.
Snap
cd miracle-wm
snapcraft
sudo snap install --dangerous --classic miracle-wm_*.snap