Hyprlax supports creating optimized, minimal builds with only the features you need. By default, all platforms, renderers, and compositor backends are included. You can customize your build to reduce binary size and dependencies.
By default, all features are enabled:
make # Builds with all features
make all # Same as aboveBuild with only Wayland platform and Hyprland compositor support:
make clean
make ENABLE_SWAY=0 ENABLE_WAYFIRE=0 ENABLE_NIRI=0 ENABLE_RIVER=0 ENABLE_GENERIC_WAYLAND=0make clean
make ENABLE_HYPRLAND=0 ENABLE_NIRI=0 ENABLE_RIVER=0ENABLE_WAYLAND(default: 1) - Wayland platform support
ENABLE_GLES2(default: 1) - OpenGL ES 2.0 renderer
ENABLE_HYPRLAND(default: 1) - Hyprland compositorENABLE_SWAY(default: 1) - Sway/i3 compositorENABLE_WAYFIRE(default: 1) - Wayfire compositor (2D workspace grid)ENABLE_NIRI(default: 1) - Niri compositor (scrollable workspaces)ENABLE_RIVER(default: 1) - River compositor (tag-based)ENABLE_GENERIC_WAYLAND(default: 1) - Generic Wayland fallback
Typical binary sizes with different configurations:
- Full build (all features): ~200KB
- Hyprland-only: ~120KB
- Single compositor: ~80-100KB
Custom builds will automatically adjust package dependencies:
- Wayland builds require:
wayland-client,wayland-protocols,wayland-egl - GLES2 renderer requires:
egl,glesv2
After building, you can verify which features are included:
# Check binary size
ls -lh hyprlax
# Check linked libraries
ldd hyprlax
# Test detection (will show available backends)
./hyprlax --debugInstall your custom build:
sudo make installFor resource-constrained systems, build with only essential features:
make ENABLE_SWAY=0 ENABLE_WAYFIRE=0 ENABLE_NIRI=0 ENABLE_RIVER=0 ENABLE_GENERIC_WAYLAND=0For distribution packages, keep all features enabled (default):
makeTest a specific compositor implementation:
# Test only Sway implementation
make ENABLE_HYPRLAND=0 ENABLE_WAYFIRE=0 ENABLE_NIRI=0 ENABLE_RIVER=0 ENABLE_GENERIC_WAYLAND=0If you get "not available in this build" errors at runtime, ensure the required features were enabled during compilation.
The build will fail if required packages are missing. Install only the dependencies needed for your configuration:
# For Wayland-only
pkg-config --libs wayland-client wayland-egl egl glesv2
If auto-detection fails, the binary will fall back to the first available backend compiled in. You can override detection:
# Force specific platform (if compiled in)
WAYLAND_DISPLAY=wayland-0 ./hyprlax