2024-02-20 22:16:07 +02:00
---
2024-07-30 17:37:26 +03:00
weight: 1
2024-02-20 22:16:07 +02:00
title: Installation
---
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Hyprland is not meant to be a full and user-friendly Desktop Environment. In a nutshell, it's a set of
> tools to allow you to create your own Desktop Environment.
>
> Apps, integrations, shells, etc, are **your** responsibility to pick, install and configure.
>
> This wiki is _very_ verbose. It's highly recommended to scour and read the wiki first before
> assuming something is not working or not available.
> [!NOTE]
> NVIDIA GPUs are often not usable out-of-the-box, follow the [Nvidia page](../../Nvidia) after installing
> Hyprland if you plan to use one. Blame NVIDIA for this.
2024-07-30 17:37:26 +03:00
2022-10-23 17:35:39 +03:00
## Distros
2022-08-12 20:46:36 +02:00
2025-05-29 15:05:06 +02:00
We officially run and test Hyprland on Arch and NixOS, and we guarantee Hyprland will work there. For any other distro
(not based on Arch/Nix) you might have varying amounts of success. However,
2022-08-22 14:06:25 +02:00
since Hyprland is extremely bleeding-edge, distros like Pop!\_OS, Ubuntu, etc.
2025-09-09 10:59:14 +03:00
will have **major** issues running Hyprland. Rolling release distros like Fedora, openSUSE, etc. will likely be fine.
2022-08-12 20:46:36 +02:00
2022-10-23 17:35:39 +03:00
## Installation
2022-08-12 20:46:36 +02:00
2025-01-28 18:48:14 +00:00
Installing Hyprland is very easy. Simply install it with your package manager.
2022-08-12 20:46:36 +02:00
2025-10-29 20:52:11 +01:00
> [!WARNING]
> It is **heavily** recommended you use **what the distro packages for you**, and **not** compiling manually
> or using `-git` packages.
> Hyprland's ecosystem and dependencies are vast and intertwined, and compiling manually will only potentially expose you to outdated,
> or incompatible versions of these dependencies.
>
> If you get `.so` file mismatch / missing errors, it's _entirely your fault_ for doing this!
>
> However, if you are an experienced user and want to beta-test new features, you're more than welcome to run the latest
> git head. Please don't come asking about ".so file missing" errors though!
2022-08-12 20:46:36 +02:00
2022-10-23 17:35:39 +03:00
### Packages
2022-08-12 20:46:36 +02:00
**WARNING:** I do not maintain any packages. If they are broken, try building
from source first.
2024-02-20 22:16:07 +02:00
{{% details title="Arch" closed="true" %}}
2022-08-12 20:46:36 +02:00
2025-01-28 18:48:14 +00:00
Install a tagged release from the arch packages:
2024-10-13 13:43:32 +03:00
2024-08-05 14:46:32 +02:00
```shell
2025-01-28 18:48:14 +00:00
sudo pacman -S hyprland
2024-08-05 14:46:32 +02:00
```
2025-01-28 18:48:14 +00:00
or install from the AUR, which compiles the latest source:
2024-10-13 13:43:32 +03:00
2024-08-05 14:46:32 +02:00
```shell
2025-01-28 18:48:14 +00:00
yay -S hyprland-git
2022-08-12 20:46:36 +02:00
```
2024-11-30 22:46:41 +05:00
Alternatively, install the `hyprland-meta` package to automatically fetch and compile the latest git versions of all components within the hypr* ecosystem.
```shell
yay -S hyprland-meta-git
```
2025-10-29 20:52:11 +01:00
> [!WARNING]
> With `-git` everytime a direct dependency like `hyprutils` has an ABI breaking update you need to recompile Hyprland and all other dependent tools.
> Otherwise you get a ".so not found" error.
2025-10-29 11:17:10 +01:00
2024-08-06 15:01:55 +03:00
If you decide to use the `git` version from the AUR, you can use the [Chaotic Aur ](https://aur.chaotic.cx/ ) to get pre-built binaries.
2025-10-29 11:17:10 +01:00
Be aware that updating dependencies like `hyprutils` might still require you to recompile everything yourself as the Chaotic Aur does not do that automatically.
2024-08-06 15:01:55 +03:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> You can downgrade easily with [downgrade](https://github.com/archlinux-downgrade/downgrade) to get to a previous -git version.
2024-08-06 15:01:55 +03:00
2024-02-20 22:16:07 +02:00
{{% /details %}}
{{% details title="Nix" closed="true" %}}
2023-07-17 18:14:43 +02:00
Enable Hyprland in your NixOS configuration:
```nix
2025-06-19 19:26:45 +01:00
{
programs.hyprland.enable = true;
}
2023-07-17 18:14:43 +02:00
```
2024-03-17 14:44:39 +02:00
For more details, read the [Nix page ](../../Nix ).
2023-07-17 18:14:43 +02:00
2024-02-20 22:16:07 +02:00
{{% /details %}}
{{% details title="openSUSE*" closed="true" %}}
Hyprland is part of factory, starting with snapshot 20230411. To install it
simply use zypper
2022-08-22 14:06:25 +02:00
```sh
2023-04-13 14:09:46 +00:00
sudo zypper in hyprland
2022-08-22 14:06:25 +02:00
```
2023-04-13 14:09:46 +00:00
or install the "hyprland" package via YaST2 Software.
2024-08-14 05:33:24 +10:00
For `hyprpm` to recognize it's dependencies, you'll also need to install `hyprland-devel` :
2024-10-13 13:43:32 +03:00
2024-08-14 05:33:24 +10:00
```sh
sudo zypper in hyprland-devel
```
2024-02-20 22:16:07 +02:00
Alternatively, you can also follow the instructions under
["Manual (Manual Build)" ](#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._
{{% /details %}}
{{% details title="Fedora*" closed="true" %}}
2022-08-22 14:06:25 +02:00
2025-02-09 02:54:02 +05:30
On Fedora 40+, run:
2023-12-03 17:46:26 +00:00
```sh
sudo dnf install hyprland
2024-07-09 09:32:43 +01:00
sudo dnf install hyprland-devel # If you want to build plugins (use hyprpm)
2023-12-03 17:46:26 +00:00
```
2024-07-09 09:32:43 +01:00
Faster updates and additional packages are available in the
2024-02-20 22:16:07 +02:00
[solopasha/hyprland ](https://copr.fedorainfracloud.org/coprs/solopasha/hyprland )
Copr repository.
If you are on an older version of Fedora, you can also compile it yourself by
following the instructions
[here ](https://github.com/hyprwm/Hyprland/discussions/284 )
2024-08-04 10:55:15 +01:00
{{% /details %}}
{{% details title="Debian*" closed="true" %}}
2025-10-25 18:55:46 +01:00
Hyprland recently made it into the SID repository and can be installed with
2024-08-04 10:55:15 +01:00
```sh
sudo apt install hyprland
```
2024-10-13 13:43:32 +03:00
2024-08-04 10:55:15 +01:00
Alternatively, you can also follow the instructions under
["Manual (Manual Build)" ](#manual-manual-build ) to build Hyprland yourself.
2025-10-29 20:52:11 +01:00
> [!NOTE]
> Hyprland is not available for Bookworm as its packages are too old.
2024-08-04 10:55:15 +01:00
2024-02-20 22:16:07 +02:00
{{% /details %}}
{{% details title="Gentoo*" closed="true" %}}
2023-12-07 20:58:45 +03:00
2024-01-05 19:45:06 +08:00
The hyprland package is available in the main tree:
2023-07-21 05:24:15 -03:00
```sh
emerge --ask gui-wm/hyprland
```
2024-02-20 22:16:07 +02:00
Additional packages like hyprlock, hypridle, xdg-desktop-portal-hyprland,
hyprland-plugins, hyprpaper and hyprpicker are available in the
[GURU ](https://wiki.gentoo.org/wiki/Project:GURU ) overlay. Community-contributed
scripts are also available in GURU as part of the hyprland-contrib package.
2022-08-23 21:41:31 -07:00
2022-08-20 20:52:51 +00:00
```sh
2023-02-19 20:59:58 +00:00
eselect repository enable guru
emaint sync -r guru
2024-01-05 19:45:06 +08:00
2024-02-24 21:18:28 -03:00
emerge --ask gui-apps/hyprlock
emerge --ask gui-apps/hypridle
2024-01-05 19:45:06 +08:00
emerge --ask gui-libs/xdg-desktop-portal-hyprland
2023-07-21 05:24:15 -03:00
emerge --ask gui-apps/hyprland-plugins
emerge --ask gui-apps/hyprpaper
emerge --ask gui-apps/hyprpicker
emerge --ask gui-wm/hyprland-contrib
2022-08-20 20:52:51 +00:00
```
2022-08-23 21:41:31 -07:00
2024-02-20 22:16:07 +02:00
For USE flags and more details, read the
[Gentoo wiki page ](https://wiki.gentoo.org/wiki/Hyprland ) about Hyprland.
{{% /details %}}
{{% details title="FreeBSD*" closed="true" %}}
2023-07-21 05:24:15 -03:00
2022-12-20 16:09:42 +00:00
Hyprland and related are in the default repository:
2024-02-20 22:16:07 +02:00
2022-12-20 16:09:42 +00:00
- [hyprland ](https://www.freshports.org/x11-wm/hyprland )
- [hyprpaper ](https://www.freshports.org/x11/hyprpaper )
- [hyprpicker ](https://www.freshports.org/x11/hyprpicker )
- [xdg-desktop-portal-hyprland ](https://www.freshports.org/x11/xdg-desktop-portal-hyprland )
- [Other Wayland stuff ](https://www.freshports.org/wayland/ )
2024-02-20 22:16:07 +02:00
{{% /details %}}
2024-08-07 17:05:54 +03:00
{{% details title="Ubuntu*" closed="true" %}}
2024-02-20 22:16:07 +02:00
2025-10-29 20:52:11 +01:00
> [!WARNING]
2025-11-14 07:47:56 +01:00
> Ubuntu's Hyprland is **extremely** outdated. I do not recommend using the packaged versions at all. Build the entire stack manually instead.
2025-04-30 15:13:20 +01:00
2024-10-13 13:43:32 +03:00
Hyprland made it into the Ubuntu 24.10 Oracular Oriole universe repo and can be installed with
2024-08-07 17:05:54 +03:00
```bash
sudo add-apt-repository universe & & sudo apt-get update & & sudo apt-get install -y hyprland
```
2024-09-24 03:21:27 +08:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> NOTE: Above is for Ubuntu 24.10 (Unreleased) version
2024-09-24 03:21:27 +08:00
For installing Hyprland from Source, install first the dependencies below:
2024-02-20 22:16:07 +02:00
2023-05-01 08:47:32 -06:00
```bash
2025-03-10 19:05:53 +00:00
sudo apt install -y meson wget build-essential ninja-build cmake-extras cmake gettext gettext-base fontconfig libfontconfig-dev libffi-dev libxml2-dev libdrm-dev libxkbcommon-x11-dev libxkbregistry-dev libxkbcommon-dev libpixman-1-dev libudev-dev libseat-dev seatd libxcb-dri3-dev libegl-dev libgles2 libegl1-mesa-dev glslang-tools libinput-bin libinput-dev libxcb-composite0-dev libavutil-dev libavcodec-dev libavformat-dev libxcb-ewmh2 libxcb-ewmh-dev libxcb-present-dev libxcb-icccm4-dev libxcb-render-util0-dev libxcb-res0-dev libxcb-xinput-dev libtomlplusplus3 libre2-dev
2023-05-01 08:47:32 -06:00
```
2024-10-13 13:43:32 +03:00
You will also need to build the latest wayland, wayland-protocols, and
libdisplay-info tagged releases from source.
2024-02-20 22:16:07 +02:00
2024-10-25 07:39:06 +09:00
For screensharing, you can also install `xdg-desktop-portal-wlr` or `xdg-desktop-portal-hyprland`
2024-09-24 03:21:27 +08:00
```bash
2025-03-10 19:05:53 +00:00
sudo apt install -y xdg-desktop-portal-wlr
2024-09-24 03:21:27 +08:00
```
_Unfortunately, `xdg-desktop-portal-hyprland` still not in Ubuntu Repo so you have to build it from source_
See
2024-10-13 13:43:32 +03:00
[The xdph GitHub repo's readme ](https://github.com/hyprwm/xdg-desktop-portal-hyprland ). Refer to
[XDPH ](../../Hypr-Ecosystem/xdg-desktop-portal-hyprland ) and
2024-02-20 22:16:07 +02:00
[Ubuntu Guide For Installing And Building Hyprland Gist ](https://gist.github.com/Vertecedoc4545/3b077301299c20c5b9b4db00f4ca6000 )
2024-10-13 13:43:32 +03:00
for more information.
2023-05-01 08:47:32 -06:00
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Please note that since Ubuntu is generally behind with dependencies, it's not
> guaranteed that the build process will work at all. Even if it is, it's likely
> that it will break at some point in the future.
> [!WARNING]
> Always use the latest version of Ubuntu for the most up to date dependencies.
>
> Note: Your mileage may vary, as GDM has some bugs with Hyprland. Check the [Master Tutorial](../Master-Tutorial) for more info.
>
> Refer to the gist if anything fails.
>
> <!-- For some reason uncommenting the line below creates an unwanted <pre><div></pre> in the page. -->
> <!-- -->
2024-10-13 13:43:32 +03:00
2024-02-20 22:16:07 +02:00
{{% /details %}}
{{% details title="Void Linux*" closed="true" %}}
2024-07-30 17:37:26 +03:00
Hyprland is not available from Void Linux's official repositories
2025-02-06 01:06:26 +00:00
due to the void developers being salty and personally disliking our main developer.
2024-07-30 17:37:26 +03:00
However, a [third party repository ](https://github.com/Makrennel/hyprland-void )
is available with
[binary packages ](https://github.com/Makrennel/hyprland-void/tree/repository-x86_64-glibc )
built in CI by GitHub Actions.
2024-02-20 22:16:07 +02:00
2024-07-30 17:37:26 +03:00
You can add this repository by creating a file such as
`/etc/xbps.d/hyprland-void.conf` with the following contents:
2023-05-01 08:47:32 -06:00
2024-11-06 22:55:14 +02:00
```plain {filename="/etc/xbps.d/hyprland-void.conf"}
2024-06-13 22:18:21 +01:00
repository=https://raw.githubusercontent.com/Makrennel/hyprland-void/repository-x86_64-glibc
```
2024-08-06 15:01:55 +03:00
2024-06-13 22:18:21 +01:00
Then you can install the packages as you would any other:
2024-02-20 22:16:07 +02:00
2024-06-13 22:18:21 +01:00
```sh
sudo xbps-install -S hyprland
sudo xbps-install -S hyprland-devel # If you want to use plugins
sudo xbps-install -S xdg-desktop-portal-hyprland
2024-02-20 22:16:07 +02:00
2024-06-13 22:18:21 +01:00
xbps-query -Rs hypr # This will require you to have already accepted the repository's fingerprint using xbps-install -S
```
2024-08-06 15:01:55 +03:00
2024-07-30 17:37:26 +03:00
More information is available in the
[hyprland-void README ](https://github.com/Makrennel/hyprland-void/blob/master/README.md ),
including information about how you can
[manually build ](https://github.com/Makrennel/hyprland-void?tab=readme-ov-file#manually-building )
Hyprland for Void Linux using the templates provided.
2024-02-20 22:16:07 +02:00
{{% /details %}}
{{% details title="Slackware*" closed="true" %}}
```plain
hyprland-bin (SlackBuilds) - Prebuilt release for Slackware ready for install
```
2023-06-27 12:34:27 +01:00
2024-02-20 22:16:07 +02:00
Hyprland is not installed by default on the current release of Slackware.
2023-06-27 12:34:27 +01:00
2024-02-20 22:16:07 +02:00
For detailed instructions on installing this build see
[here ](https://slackbuilds.org/repository/15.0/desktop/hyprland-bin/ )
2022-08-12 20:46:36 +02:00
2024-02-20 22:16:07 +02:00
{{% /details %}}
2022-08-12 20:46:36 +02:00
2024-08-13 19:12:09 +02:00
{{% details title="Alpine*" closed="true" %}}
2025-01-31 21:06:11 +00:00
Hyprland is currently available in Alpine's [community repository ](https://wiki.alpinelinux.org/wiki/Repositories#Community )
2025-09-14 17:55:02 +01:00
and it is maintained by the community.
2024-08-13 19:12:09 +02:00
2025-01-31 21:06:11 +00:00
The following command will install hyprland and its dependencies.
2024-08-13 19:12:09 +02:00
```plain
apk add hyprland
```
{{% /details %}}
2024-09-27 00:59:25 +04:00
{{% details title="Ximper*" closed="true" %}}
Install from the Sisyphus:
```bash
epmi hyprland
epmi hyprland-devel # If you want to use plugins
```
Ecosystem:
```bash
epmi xdg-desktop-portal-hyprland
epmi hypridle
epmi hyprpaper
epmi hyprpicker
```
2024-11-06 20:34:37 +02:00
2024-10-22 18:37:02 +02:00
{{% /details %}}
{{% details title="Solus*" closed="true" %}}
For Solus, run:
```bash
sudo eopkg install hyprland
```
2024-09-27 00:59:25 +04:00
{{% /details %}}
2024-02-20 22:16:07 +02:00
_**\* Unofficial, no official support is provided. These instructions are
community-driven, and no guarantee is provided for their validity.**_
2023-07-16 00:32:40 +02:00
2025-01-28 22:05:57 +00:00
### Manual
2022-08-12 20:46:36 +02:00
2024-05-13 15:25:51 +01:00
Dependencies:
2025-10-29 20:52:11 +01:00
> [!NOTE]
> Please note that Hyprland uses the C++26 standard, so both your compiler and your
> C++ standard library has to support that (`gcc>=15` or `clang>=19`).
2024-08-08 11:56:51 +02:00
2024-05-13 15:25:51 +01:00
{{% details title="Arch" closed="true" %}}
2022-08-12 20:46:36 +02:00
2022-08-13 02:45:14 +03:00
```plain
2025-10-13 23:11:07 +03:00
yay -S ninja gcc cmake meson libxcb xcb-proto xcb-util xcb-util-keysyms libxfixes libx11 libxcomposite libxrender libxcursor pixman wayland-protocols cairo pango libxkbcommon xcb-util-wm xorg-xwayland libinput libliftoff libdisplay-info cpio tomlplusplus hyprlang-git hyprcursor-git hyprwayland-scanner-git xcb-util-errors hyprutils-git glaze hyprgraphics-git aquamarine-git re2 hyprland-qtutils-git
2022-08-13 02:45:14 +03:00
```
2022-08-12 20:46:36 +02:00
2024-02-20 22:16:07 +02:00
_(Please make a pull request or open an issue if any packages are missing from
the list)_
2022-08-12 20:46:36 +02:00
2024-05-13 15:25:51 +01:00
{{% /details %}}
2025-09-09 10:59:14 +03:00
{{% details title="openSUSE" closed="true" %}}
2022-08-22 14:06:25 +02:00
```sh
2024-02-20 22:16:07 +02:00
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)" "pkgconfig(xcb-errors)" glslang-devel Mesa-libGLESv3-devel tomlplusplus-devel
2022-08-22 14:06:25 +02:00
```
2024-02-20 22:16:07 +02:00
(this should also work on RHEL/Fedora if you remove `Mesa-libGLESv3-devel` and
`pkgconfig(xcb-errors)` )
2022-08-22 14:06:25 +02:00
2024-05-13 15:25:51 +01:00
{{% /details %}}
{{% details title="FreeBSD" closed="true" %}}
2022-12-20 16:09:42 +00:00
2024-11-06 22:55:14 +02:00
```sh
2023-04-15 19:43:28 +00:00
pkg install git pkgconf gmake gcc evdev-proto cmake wayland-protocols wayland libglvnd libxkbcommon libinput cairo pango pixman libxcb
2024-07-21 13:11:03 +02:00
pkg install meson jq hwdata libdisplay-info libliftoff
2022-12-20 16:09:42 +00:00
export CC=gcc CXX=g++ LDFLAGS="-static-libstdc++ -static-libgcc"
```
2024-05-13 15:25:51 +01:00
{{% /details %}}
{{% details title="Ubuntu" closed="true" %}}
refer to the Ubuntu tab above
2023-05-01 08:47:32 -06:00
2024-05-13 15:25:51 +01:00
{{% /details %}}
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Additionally to those, you will also need a few hypr\* dependencies which may or may not be
> packaged for your distro of choice:
>
> - aquamarine
> - hyprlang
> - hyprcursor
> - hyprutils
> - hyprgraphics
> - hyprwayland-scanner (build-only)
2024-05-13 15:25:51 +01:00
2022-08-12 20:46:36 +02:00
### CMake (recommended)
2024-11-06 22:55:14 +02:00
```sh
2022-08-12 20:46:36 +02:00
git clone --recursive https://github.com/hyprwm/Hyprland
cd Hyprland
2023-10-14 18:52:53 +01:00
make all & & sudo make install
2022-08-12 20:46:36 +02:00
```
2024-02-20 22:16:07 +02:00
_CMake is always recommended as it's the intended way Hyprland should be
installed._
2023-05-03 21:31:29 +01:00
2022-08-12 20:46:36 +02:00
### Meson
2024-11-06 22:55:14 +02:00
```sh
2023-05-17 00:18:25 +03:00
meson subprojects update --reset
meson setup build
ninja -C build
ninja -C build install --tags runtime,man
2022-08-12 20:46:36 +02:00
```
2025-01-18 11:37:59 +02:00
Custom build flags can be found in [`meson_options.txt` ](https://github.com/hyprwm/Hyprland/blob/main/meson_options.txt ).
2024-03-17 14:44:39 +02:00
Refer to [Debugging ](../../Contributing-and-Debugging ) to see how to build &
2022-08-13 02:47:48 +03:00
debug.
2022-08-12 20:46:36 +02:00
2022-08-13 02:45:14 +03:00
## Crash on launch
2022-08-12 20:46:36 +02:00
2024-03-17 14:44:39 +02:00
See [Crashes and Bugs ](../../Crashes-and-Bugs ).
2022-08-12 20:46:36 +02:00
2025-05-15 11:14:21 +02:00
## Custom installation (debug build, etc)
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
1. cd into the hyprland repo.
2025-05-15 11:14:21 +02:00
2. for debug build:
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
```bash
2025-05-15 11:14:21 +02:00
make debug
2024-07-30 17:37:26 +03:00
sudo make install
2022-08-12 20:46:36 +02:00
```
2025-05-15 11:14:21 +02:00
3. Any other config: (replace `<PRESET>` with your preset: `release` , `debug` )
2024-07-30 17:37:26 +03:00
```bash
make < PRESET > & & sudo cp ./build/Hyprland /usr/bin & & sudo cp ./example/hyprland.desktop /usr/share/wayland-sessions
2022-08-12 20:46:36 +02:00
```
## Custom Build flags
To apply custom build flags, you'll have to ditch make.
2025-01-18 11:37:59 +02:00
Supported custom build flags on CMake:
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
```bash
2022-08-12 20:46:36 +02:00
NO_XWAYLAND - Removes XWayland support
2023-01-11 16:29:34 +01:00
NO_SYSTEMD - Removes systemd dependencies
2025-01-15 20:55:55 +02:00
NO_UWSM - Does not install the hyprland-uwsm.desktop file
2025-01-18 11:37:59 +02:00
NO_HYPRPM - Does not build and install hyprpm
2022-08-12 20:46:36 +02:00
```
2024-07-30 17:37:26 +03:00
Flags can be passed to CMake like this:
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
```bash
2025-01-15 20:55:55 +02:00
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -D< FLAG > :STRING=true -B build
2022-08-12 20:46:36 +02:00
```
2024-07-30 17:37:26 +03:00
Change `<FLAG>` to one of the custom build flags. Multiple flags can be used at
once, by adding more `-D<FLAG_2>:STRING=true` .
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
The `BUILD_TYPE` can also be changed to `Debug` .
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
To build, run:
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
```bash
2025-01-15 20:55:55 +02:00
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
2022-08-12 20:46:36 +02:00
```
If you configured in `Debug` , change the `--config` to `Debug` as well.
2024-07-30 17:37:26 +03:00
To install, run:
2022-08-12 20:46:36 +02:00
2024-07-30 17:37:26 +03:00
```bash
sudo cmake --install ./build
2023-01-22 00:26:42 -07:00
```
2024-01-17 19:10:57 +05:30
2024-05-29 12:55:49 +00:00
## Running In a VM
2024-08-06 15:01:55 +03:00
_YMMV, this is not officially supported._
2024-05-29 12:55:49 +00:00
2024-07-30 17:37:26 +03:00
Read through the
[libvirt Arch wiki page ](https://wiki.archlinux.org/title/Libvirt ) and get
`libvirt` , `virsh` , and `virt-viewer` setup and installed.
2024-08-06 15:01:55 +03:00
2024-07-30 17:37:26 +03:00
```bash
2024-05-29 12:55:49 +00:00
# Install libvirt and qemu things.
sudo pacman -S libvirt virt-viewer qemu-common
# Add yourself to the libvirt group.
sudo usermod -a -G libvirt USER # Replace 'USER' with your username.
2024-07-14 12:20:20 +02:00
# Enable and start libvirtd.
systemctl enable --now libvirtd
2024-05-29 12:55:49 +00:00
```
2024-07-30 17:37:26 +03:00
Go to the
[arch-boxes gitlab ](https://gitlab.archlinux.org/archlinux/arch-boxes/-/packages )
2024-05-29 12:55:49 +00:00
and download the latest arch qemu basic image. You can also download via any of
arch's mirrors.
2024-08-06 15:01:55 +03:00
2024-07-30 17:37:26 +03:00
```bash
2024-05-29 12:55:49 +00:00
curl https://geo.mirror.pkgbuild.com/images/latest/Arch-Linux-x86_64-basic.qcow2 \
-o ~/Downloads/arch-qemu.qcow2 # Or download wherever you want.
```
Create the VM with virsh.
2024-08-06 15:01:55 +03:00
2024-07-30 17:37:26 +03:00
```bash
2024-08-06 15:01:55 +03:00
# Use virt-install (included with libvirt) to install the vm from the image.
2024-05-29 12:55:49 +00:00
virt-install \
--graphics spice,listen=none,gl.enable=yes,rendernode=/dev/dri/renderD128 \
--name hypr-vm \
--os-variant archlinux \
--memory 2048 \
--disk ~/Downloads/arch-qemu.qcow2 \
--import
```
Connect with `virt-viewer` , this will open a `virt-viewer` graphical session on
the tty. The default login is 'arch' for user and 'arch' for password.
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Make sure the --attach flag is used, enabling virgl makes it so that
> we had to disable listen. This means that we can't make a direct TCP/UNIX
> socket connection to the remote display. --attach asks libvirt to provide a
> pre-connected socket to the display.\*
2024-05-29 12:55:49 +00:00
```sh
virt-viewer --attach hypr-vm
```
2024-08-06 15:01:55 +03:00
2024-07-30 17:37:26 +03:00
Finally on the guest follow the instructions above for either
[installing hyprland-git from the aur ](#installation ) or
[building manually ](#manual-manual-build ).
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Make sure you install `mesa` as the OpenGL driver. The virgl drivers are
> included in `mesa`.