You have 2 options, use the script descrived bellow or follow the instrutions
script in this gist if you want the source code
wget https://gist.githubusercontent.com/Vertecedoc4545/6e54487f07a1888b656b656c0cdd9764/raw/2c5e8ccb428fc331307e2f653cab88174c051310/build-ubuntu-23.sh
chmod +x build-ubuntu-23.sh
./build-ubuntu-23.sh
Warning you will need to add the bellow config to your hyprland.conf file after installing hyprland either way. If you detect a bug respect to xdg-portals reffer to the issue in github
misc {
suppress_portal_warnings = true
}
Nvidia building : Here
Most of our dependencies are disponible in the official repos, for speed is recomendable to use nala package manager intead of apt
installing nala will keep apt
sudo apt-get install -y nala
sudo nala 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 libvulkan-dev libvulkan-volk-dev vulkan-validationlayers-dev libvkfft-dev libgulkan-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 libpango1.0-dev xdg-desktop-portal-wlr hwdata-dev
or if you don't want to use nala apt replacement do:
sudo apt-get 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 libvulkan-dev libvulkan-volk-dev vulkan-validationlayers-dev libvkfft-dev libgulkan-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 xdg-desktop-portal-wlr hwdata-dev
but some dependencies that we requiere are a little older in the repos so we need to build them
first get all of our sources for building then extarct them
Hyprland and containing folder
mkdir HyprSource
cd HyprSource
## We get Source
wget https://github.com/hyprwm/Hyprland/releases/download/v0.24.1/source-v0.24.1.tar.gz
tar -xvf source-v0.24.1.tar.gz
wget https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.31/downloads/wayland-protocols-1.31.tar.xz
tar -xvJf wayland-protocols-1.31.tar.xz
wget https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.22.0/downloads/wayland-1.22.0.tar.xz
tar -xzvJf wayland-1.22.0.tar.xz
wget https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/0.1.1/downloads/libdisplay-info-0.1.1.tar.xz
tar -xvJf libdisplay-info-0.1.1.tar.xz
now only get inside each one, we build and install directly
cd wayland-1.22.0
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Ddocumentation=false &&
ninja
sudo ninja install
cd ../..
cd wayland-protocols-1.31
mkdir build &&
cd build &&
meson setup --prefix=/usr --buildtype=release &&
ninja
sudo ninja install
cd ../..
cd libdisplay-info-0.1.1/
mkdir build &&
cd build &&
meson setup --prefix=/usr --buildtype=release &&
ninja
sudo ninja install
cd ../..
you will need to change the folder permisions due to the use of sudo, so in the future you can acces and modify the folder
chmod a+rw hyprland-source
cd hyprland-source/
modify config.mk and change PREFIX=/usr/local to PREFIX=/usr or use this command
sed -i 's/\/usr\/local/\/usr/g' config.mk
also in that file you could use your custom cflags as for example adding -O3 or -Ofast optimization even -Og etc..
sudo make install
*enjoy Hyprland !!
@MartinFillon , After doing that started with the manual installation..
dpkg gives the following error..
sudo dpkg -i --force-overwrite ./hyprland_0.29.1-99pika1_amd64.deb
Selecting previously unselected package hyprland.
(Reading database ... 245353 files and directories currently installed.)
Preparing to unpack .../hyprland_0.29.1-99pika1_amd64.deb ...
Unpacking hyprland (0.29.1-99pika1) ...
dpkg: dependency problems prevent configuration of hyprland:
hyprland depends on libdisplay-info0 (>= 0.1.1); however:
Package libdisplay-info0 is not installed.
hyprland depends on libdrm2 (>= 2.4.114); however:
Version of libdrm2:amd64 on system is 2.4.113-2~ubuntu0.22.04.1.
hyprland depends on libinput10 (>= 1.23.0); however:
Version of libinput10:amd64 on system is 1.20.0-1ubuntu0.3.
hyprland depends on libliftoff0 (>= 0.4.1); however:
Package libliftoff0 is not installed.
hyprland depends on libxcb-xfixes0 (>= 1.15); however:
Version of libxcb-xfixes0:amd64 on system is 1.14-3ubuntu3.
hyprland depends on libxcb-xinput0 (>= 1.15); however:
Version of libxcb-xinput0:amd64 on system is 1.14-3ubuntu3.
dpkg: error processing package hyprland (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.10.2-1) ...
Errors were encountered while processing:
hyprland