Introduction to Hyprland
Hyprland is an independent Wayland compositor aiming to have more
features than other Wayland compositors and be highly customizable,
written in C++.
Important
Be sure to update all the libraries in Hyprland Libraries
prior to updating this package to prevent configuration failures,
and note that doing so will break ABI against the present version
of Hyprland until you rebuild it. In most cases, Hyprland will
still be running if the libraries have been updated while in the
session, however. In any case, rebuild/update this package
immediately after upgrading Hyprland Libraries.
Note
This may take a while to build. Feel free to do something else
while this is building.
Additional Downloads
Hyprland Dependencies
Required
Cairo,
CMake, GBM (libgbm
or Mesa),
GLib (with GObjectIntrospection), Glslang,
Hyprland Libraries,
libdisplay-info, libdrm,
libinput, libliftoff-0.5.0,
libxkbcommon,
muparser, OpenGL + EGL + GLESv2 (libglvnd
or Mesa;
Mesa's GL is not supported), Pango
(with Cairo),
Pixman, re2-2025-11-05, seatd-0.9.2,
Systemd, toml++-3.4.0,
Vulkan-Loader,
Wayland,
Wayland-Protocols, and Xorg
Libraries
Recommended
Glaze-7.1.0 (will be downloaded if not
installed),
XCB Utilities, xcb-util-errors-1.0.1, and Xwayland
Optional
cpio
(to build and install plugins)
Installation of Hyprland
Extract the udis86 submodule in place:
tar -xf ../udis86-5336633af70f3917760a6d441ff02d93477b0c86.tar.gz &&
mv -T udis86-5336633af70f3917760a6d441ff02d93477b0c86 subprojects/udis86
Ensure that the installed version of glaze can be used:
cat > glz-version.cpp << "EOF"
#include <glaze/glaze.hpp>
#include <glaze/version.hpp>
#include <stdio.h>
int main() {
printf("%i.%i.%i\n", glz::version.major,
glz::version.minor,
glz::version.patch);
return 0;
}
EOF
g++ -std=c++23 -o glz-version glz-version.cpp &&
sed -i "s/glaze\ [0-9][0-9.]*/glaze\ $(./glz-version)/" \
hyprpm/CMakeLists.txt &&
rm -vf glz-version{,.cpp}
Important
If glaze is installed and you haven't run the above commands,
Hyprland, if the installed version doesn't meet the specific
version in hyprpm/CMakeLists.txt,
will completely overwrite the glaze installation with often older
files. Run the above commands to prevent that situation.
Install Hyprland by running the following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D BUILD_TESTING=OFF \
-W no-dev -G Ninja .. &&
ninja
Now, as the root user:
ninja install
Hyprland has made it so it will pop up a 5-10s warning if you did
not launch Hyprland with start-hyprland. This package
installs a symlink, hyprland, which points to
Hyprland, which is
the main program itself. Starting with start-hyprland may be a hassle,
so if you wish, relink hyprland to point to start-hyprland as the
root user:
ln -sfv start-hyprland $LFS/usr/bin/hyprland