Hyprland-0.53.3

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 15. Hyprland

- Prev

  Hyprland Libraries

- Next

  i3

- Up
- Home

# Hyprland-0.53.3

## 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.

- Download: https://github.com/hyprwm/Hyprland/archive/v0.53.3/Hyprland-0.53.3.tar.gz

### Additional Downloads

- Required submodule: https://github.com/canihavesomecoffee/udis86/archive/5336633af70f3917760a6d441ff02d93477b0c86/udis86-5336633af70f3917760a6d441ff02d93477b0c86.tar.gz

### 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[7]

#### Recommended

Glaze-7.0.2 (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

## Configuring Hyprland

### Config Files

`~/.config/hypr/hyprland.conf`. 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.conf ~/.config/hypr

Now inspect the file and make any changes to suit your workflow.

## Contents

Installed Programs: hyprctl, hyprland (link to Hyprland, or start-hyprland), Hyprland, hyprpm, and start-hyprland
Installed Libraries: None
Installed Directories: /usr/include/hyprland, /usr/share/hypr, and /usr/share/wayland-sessions

### Short Descriptions

hyprctl | retrieves and configures information about the current instance of Hyprland
hyprland | is a symlink pointing to Hyprland, or start-hyprland if you followed the post-installation symlink relinking command
Hyprland | is the Hyprland compositor; running directly will output a warning, so run start-hyprland instead
hyprpm | is the plugin manager for Hyprland
start-hyprland | is the recommended way to start Hyprland, which starts a watchdog process

[7] Xorg Libraries are required because Hyprland requires Xcursor support, provided by libXcursor in Xorg Libraries. Even if you disable Xwayland support, you will still need Xorg Libraries.

- Prev

  Hyprland Libraries

- Next

  i3

- Up
- Home