Due to their proprietary nature, Nvidia GPUs have limited compatibility with Hyprland. If you want to try Hyprland on Nvidia regardless (many people have reported successes), follow the Nvidia page after installing Hyprland.
Arch, NixOS and openSUSE Tumbleweed are very supported. For any other distro (not based on Arch/Nix) you might have varying amounts of success. However, since Hyprland is extremely bleeding-edge, distros like Pop!_OS, Ubuntu, etc. might have major issues running Hyprland.
Installing Hyprland is very easy. Either you install it from your local package provider (if they provide pkgs for Hyprland) or you install/build it yourself.
This project is under development and is constantly changing. If you want to keep up to date with the latest commits, please consider updating your packages with
yay -Syu --devel, or your other preferred package manager.
WARNING: I do not maintain any packages. If they are broken, try building from source first.
If you’re on Arch Linux, I heavily recommend you use the AUR.
hyprland-git - compiles from latest source hyprland - compiles from latest release source hyprland-bin - compiled latest release, prone to breaking on ARM devices as Hyprland binary is compiled for x86
To install them, follow the instructions at software.opensuse.org/download.html?project=X11:Wayland&package=hyprland or use OPI to install it.
Alternatively, you can also follow the instructions under “Manual (Manual Build)” to build Hyprland yourself.
Note: Hyprland is not available for Leap, as most libraries (and compiler) that Hyprland needs are too old.
The hyprland package is available in the wayland-desktop overlay.
eselect repository enable wayland-desktop emerge --ask --verbose hyprland
Download the most recent release.
copy the binary (Hyprland) to
copy hyprctl to
copy the wlroots .so (
copy the desktop entry (
the example config is in
For updating later on, you can overwrite the binaries (hyprctl, hyprland and libwlroots), you don’t need to update anything else.
yay -S gdb ninja gcc cmake libxcb xcb-proto xcb-util xcb-util-keysyms libxfixes libx11 libxcomposite xorg-xinput libxrender pixman wayland-protocols cairo pango seatd
(If any are missing hmu)
zypper in gcc-c++ git meson cmake "pkgconfig(cairo)" "pkgconfig(egl)" "pkgconfig(gbm)" "pkgconfig(gl)" "pkgconfig(glesv2)" "pkgconfig(libdrm)" "pkgconfig(libinput)" "pkgconfig(libseat)" "pkgconfig(libudev)" "pkgconfig(pango)" "pkgconfig(pangocairo)" "pkgconfig(pixman-1)" "pkgconfig(vulkan)" "pkgconfig(wayland-client)" "pkgconfig(wayland-protocols)" "pkgconfig(wayland-scanner)" "pkgconfig(wayland-server)" "pkgconfig(xcb)" "pkgconfig(xcb-icccm)" "pkgconfig(xcb-renderutil)" "pkgconfig(xkbcommon)" "pkgconfig(xwayland)" glslang-devel Mesa-libGLESv3-devel "pkgconfig(xcb-errors)"
(this should also work on RHEL/Fedora if you remove
Please note Hyprland builds
wlroots. Make sure you have the dependencies of
wlroots installed, you can make sure you have them by installing wlroots
separately (Hyprland doesn’t mind)
Also note that Hyprland uses the C++23 standard, so your compiler has to support
git clone --recursive https://github.com/hyprwm/Hyprland cd Hyprland sudo make install
Do note that
sudo make install will copy the example .desktop file to
promptly overriding the existent .desktop file from previous installations.
It’s probably a good idea to run
sudo make cleaninstall to update Hyprland later on, as it does not overwrite the desktop file.
meson _build ninja -C _build ninja -C _build install --tags runtime,man
Refer to Debugging to see how to build & debug.
See Crashes and Bugs.
cd into the hyprland repo.
for legacy renderer:
sudo make clear && sudo make config && make legacyrenderer && sudo cp ./build/Hyprland /usr/bin && sudo cp ./example/hyprland.desktop /usr/share/wayland-sessions
please note the legacy renderer may not support some graphical features.
Any other config: (replace [PRESET] with your preset,
sudo make clear && sudo make config && make [PRESET] && sudo cp ./build/Hyprland /usr/bin && sudo cp ./example/hyprland.desktop /usr/share/wayland-sessions
To apply custom build flags, you’ll have to ditch make.
Supported custom build flags:
NO_XWAYLAND - Removes XWayland support
Go to the root repo.
Clean before everything and config the root:
make clear && sudo make config
Then, configure CMake:
mkdir -p build && cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -D<YOUR_FLAG>:STRING=true -H./ -B./build -G Ninja
<YOUR_FLAG> to one of the custom build flags. You are allowed to
use multiple at once, then add another
You can of course also change the
cmake --build ./build --config Release --target all -j $(nproc)
If you configured in
Debug, change the
Debug as well.
Now, of course, install manually.
sudo cp ./build/Hyprland /usr/bin && sudo cp ./example/hyprland.desktop /usr/share/wayland-sessions
You can launch Hyprland by either going into a TTY and executing
with a login manager.
!IMPORTANT: Do not launch Hyprland with
root permissions (don’t
Login managers are not officially supported, but here’s a short compatibility list:
- SDDM → Works flawlessly
- GDM → Works with the caveat of crashing Hyprland on the first launch
- ly → Works with minor to major issues and/or caveats