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,
Little CMS,
libdisplay-info,
libdrm,
libei,
libinput,
libliftoff,
libxkbcommon,
Lua,
muparser,
OpenGL + EGL + GLESv2 (libglvnd
or Mesa; Mesa's GL is not supported),
Pango (with Cairo),
Pixman,
re2-2025-11-05,
seatd,
Systemd,
toml++-3.4.0,
Vulkan-Loader,
Wayland,
Wayland-Protocols, and
Xorg Libraries
Recommended
Glaze-8.0.0 (will be downloaded if not installed),
XCB Utilities,
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:
find . -name CMakeLists.txt |
xargs sed -i 's/glaze [0-9][0-9.]*\.\.\.<[0-9][0-9.]*/glaze/'Important
If Glaze is installed and you haven't run the above commands, Hyprland,
if the installed version doesn't meet the specific version requirements
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-author -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 /usr/bin/hyprland
Configuring Hyprland
Config Files
~/.config/hypr/hyprland.lua. The default version
is in /usr/share/hypr and will
not be used and must be copied to
~/.config/hypr
Configuration Information
Create the config file:
mkdir -pv ~/.config/hypr &&
cp /usr/share/hypr/hyprland.lua ~/.config/hypr
Now inspect the file and make any changes to suit your workflow.
The file can be split up into multiple LUA files, as long as the
main LUA file is there. For information on how to configure Hyprland,
read the
Hyprland
Wiki.