Replies: 69 comments 162 replies
-
thank you for the guide! |
Beta Was this translation helpful? Give feedback.
-
Maybe you could setup a Fedora Copr to build and publish the releases |
Beta Was this translation helpful? Give feedback.
-
Can't get it to compile. I followed the above instructions - this is Fedora 36. libwayland-server is installed.
|
Beta Was this translation helpful? Give feedback.
-
That's strange - I just pulled the latest version of Hyprland and was able to build it successfully. Maybe delete your Hyprland repo and re-clone - perhaps you cloned at a bad time or something (pretty unlikely). Otherwise I'm afraid I don't have any insight into your issue. You could check out the wiki and see if you can get it to compile using cmake instead of ninja. Edit to add: I ran xorg-x11-server-Xwayland-21.1.4-1.fc35.x86_64 Edit once more: I looked at the meson.build file for wlroots - it specifies a wayland-server version >= 1.20. You said you're running F36 so you're probably up to date, but you may want to check your package version. |
Beta Was this translation helpful? Give feedback.
-
I am no Fedora expert, but you should use |
Beta Was this translation helpful? Give feedback.
-
I'm no longer able to build Hyprland due to compiler errors. The reason is the recent switch to the C++23 standard and the use of I guess I've put off upgrading long enough, it may finally be time to do so. |
Beta Was this translation helpful? Give feedback.
-
cant install it when i try to sudo make install i get this error [riot@localhost-live Hyprland]$ sudo make install |
Beta Was this translation helpful? Give feedback.
-
Filling in: the following works in Fedora 36 for me. Using the command above from @bceric7 :
and installing dev dependencies:
Builds for me.
|
Beta Was this translation helpful? Give feedback.
-
Hey folks, I took a look at packaging hyprland to try it out on Fedora. It's available in this COPR repo. https://copr.fedorainfracloud.org/coprs/carlwgeorge/hyprland/ I'm not sure that I'll stick with it, but I'd like to avoid this packaging work going to waste. Would any of the hyprland developers be interested in becoming Fedora packagers to maintain an official Fedora hyprland package? I can see that @vaxerski co-maintains the AUR package, this would be a similar set up to that. The spec file I wrote already complies with the Fedora packaging guidelines. I can add it to Fedora and sponsor someone to co-maintain it to ensure it stays up to date. |
Beta Was this translation helpful? Give feedback.
-
I get this error on Fedora 36; |
Beta Was this translation helpful? Give feedback.
-
Anyone know how to update wayland-server i get |
Beta Was this translation helpful? Give feedback.
-
Could annyone be a dear and make/maintain a copr package ? |
Beta Was this translation helpful? Give feedback.
-
Hey, I got a compiler error when using a fully up-to-date Fedora 37 install. How would I fix this? I do have libwayland-server installed.
|
Beta Was this translation helpful? Give feedback.
-
FWIW until pixman Get the source at https://github.com/hyprwm/Hyprland/releases/tag/v0.17.0beta |
Beta Was this translation helpful? Give feedback.
-
I tried building the 0.19.1 beta and I am struggling with meson _build
I can't find it on the internet to build it myself. |
Beta Was this translation helpful? Give feedback.
-
As I mentioned before, I am trying to install Hyprland on Fedora38, but I am having many problems. The Meson build system
Version: 1.0.1
Source dir: /home/notcarl/cose/Hyprland
Build dir: /home/notcarl/cose/Hyprland/_build
Build type: native build
Project name: Hyprland
Project version: 0.27.2
C compiler for the host machine: ccache cc (gcc 13.2.1 "cc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)")
C linker for the host machine: cc ld.bfd 2.39-9
C++ compiler for the host machine: ccache c++ (gcc 13.2.1 "c++ (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)")
C++ linker for the host machine: c++ ld.bfd 2.39-9
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:16: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Executing subproject wlroots
wlroots| Project name: wlroots
wlroots| Project version: 0.17.0-dev
wlroots| C compiler for the host machine: ccache cc (gcc 13.2.1 "cc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)")
wlroots| C linker for the host machine: cc ld.bfd 2.39-9
wlroots| Compiler for C supports arguments -Wundef: YES
wlroots| Compiler for C supports arguments -Wlogical-op: YES
wlroots| Compiler for C supports arguments -Wmissing-include-dirs: YES
wlroots| Compiler for C supports arguments -Wold-style-definition: YES
wlroots| Compiler for C supports arguments -Wpointer-arith: YES
wlroots| Compiler for C supports arguments -Winit-self: YES
wlroots| Compiler for C supports arguments -Wstrict-prototypes: YES
wlroots| Compiler for C supports arguments -Wimplicit-fallthrough=2: YES
wlroots| Compiler for C supports arguments -Wendif-labels: YES
wlroots| Compiler for C supports arguments -Wstrict-aliasing=2: YES
wlroots| Compiler for C supports arguments -Woverflow: YES
wlroots| Compiler for C supports arguments -Wmissing-prototypes: YES
wlroots| Compiler for C supports arguments -Walloca: YES
wlroots| Compiler for C supports arguments -Wno-missing-braces: YES
wlroots| Compiler for C supports arguments -Wno-missing-field-initializers: YES
wlroots| Compiler for C supports arguments -Wno-unused-parameter: YES
wlroots| Compiler for C supports arguments -fmacro-prefix-map=/prefix/to/hide=: YES
wlroots| Found pkg-config: /usr/bin/pkg-config (1.8.0)
wlroots| Run-time dependency wayland-server found: YES 1.22.0
wlroots| Run-time dependency libdrm found: YES 2.4.114
wlroots| Run-time dependency xkbcommon found: YES 1.5.0
wlroots| Run-time dependency pixman-1 found: YES 0.42.2
wlroots| Library m found: YES
wlroots| Library rt found: YES
wlroots| Run-time dependency wayland-protocols found: YES 1.32
wlroots| Found pkg-config: /usr/bin/pkg-config (1.8.0)
wlroots| Build-time dependency wayland-scanner found: YES 1.22.0
wlroots| Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
wlroots| Has header "linux/dma-buf.h" : YES
wlroots| Run-time dependency egl found: YES 1.5
wlroots| Found CMake: /usr/bin/cmake (3.27.1)
wlroots| Run-time dependency gbm found: NO (tried pkgconfig and cmake)
wlroots| Run-time dependency glesv2 found: YES 3.2
wlroots| Run-time dependency vulkan found: NO (tried pkgconfig and system)
wlroots| Message: Required for vulkan renderer support.
wlroots| Dependency pixman-1 found: YES 0.42.2 (cached)
wlroots| Run-time dependency gbm found: NO (tried pkgconfig and cmake)
wlroots| Run-time dependency libudev found: YES 253
wlroots| Run-time dependency libseat found: YES 0.7.0
wlroots| Found CMake: /usr/bin/cmake (3.27.1)
wlroots| Build-time dependency hwdata found: NO (tried pkgconfig and cmake)
wlroots| Message: Required for the DRM backend.
wlroots| Run-time dependency libdisplay-info found: NO (tried pkgconfig and cmake)
wlroots| Looking for a fallback subproject for the dependency libdisplay-info
wlroots| Neither a subproject directory nor a libdisplay-info.wrap file was found.
wlroots| Subproject libdisplay-info is buildable: NO (disabling)
wlroots| Dependency libdisplay-info from subproject libdisplay-info found: NO (subproject failed to configure)
wlroots| Message: Required for the DRM backend.
wlroots| Run-time dependency libliftoff found: NO (tried pkgconfig and cmake)
wlroots| Looking for a fallback subproject for the dependency libliftoff
wlroots| Neither a subproject directory nor a libliftoff.wrap file was found.
wlroots| Subproject libliftoff is buildable: NO (disabling)
wlroots| Dependency libliftoff from subproject libliftoff found: NO (subproject failed to configure)
wlroots| Run-time dependency libinput found: YES 1.23.0
wlroots| Run-time dependency xcb found: YES 1.13.1
wlroots| Run-time dependency xcb-dri3 found: YES 1.13.1
wlroots| Run-time dependency xcb-present found: YES 1.13.1
wlroots| Run-time dependency xcb-render found: YES 1.13.1
wlroots| Run-time dependency xcb-renderutil found: NO (tried pkgconfig and cmake)
wlroots| Message: Required for X11 backend support.
wlroots| Run-time dependency wayland-client found: YES 1.22.0
wlroots| Run-time dependency xwayland found: NO (tried pkgconfig and cmake)
wlroots| Looking for a fallback subproject for the dependency xwayland
wlroots| Neither a subproject directory nor a xserver.wrap file was found.
wlroots| Subproject xserver is buildable: NO (disabling)
wlroots| Dependency xwayland from subproject xserver found: NO (subproject failed to configure)
wlroots| Configuring config.h using configuration
wlroots| Configuring version.h using configuration
wlroots| Configuring config.h using configuration
wlroots| Build targets in project: 124
wlroots| Subproject wlroots finished.
Dependency xcb found: YES 1.13.1 (cached)
Executing subproject udis86 method cmake
| Configuring the build directory with CMake version 3.27.1
| Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local
| - build directory: /home/notcarl/cose/Hyprland/_build/subprojects/udis86/__CMake_build
| - source directory: /home/notcarl/cose/Hyprland/subprojects/udis86
| - toolchain file: /home/notcarl/cose/Hyprland/_build/subprojects/udis86/__CMake_build/CMakeMesonToolchainFile.cmake
| - preload file: /usr/lib/python3.11/site-packages/mesonbuild/cmake/data/preload.cmake
| - trace args: --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
| - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]
| Put cmake in trace mode, but with variables expanded.
| Put cmake in trace mode and sets the trace output format.
| Not searching for unused variables given on the command line.
| Put cmake in trace mode and redirect trace output to a file instead of stderr.
| Trace will be written to cmake_trace.txt
| -- The C compiler identification is GNU 13.2.1
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Check for working C compiler: /usr/bin/cc - skipped
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Configuring done (0.1s)
| -- Generating done (0.0s)
| -- Build files have been written to: /home/notcarl/cose/Hyprland/_build/subprojects/udis86/__CMake_build
udis86| CMake configuration: SUCCEEDED
udis86| CMake project udis86 has 3 build targets.
cmake-ast| Processing generated meson AST
cmake-ast| Build file: /home/notcarl/cose/Hyprland/_build/subprojects/udis86/meson.build
udis86| Project name: udis86
udis86| Project version: undefined
udis86| C compiler for the host machine: ccache cc (gcc 13.2.1 "cc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)")
udis86| C linker for the host machine: cc ld.bfd 2.39-9
udis86| Build targets in project: 126
udis86| Subproject udis86 finished.
Library execinfo found: NO
Run-time dependency libsystemd found: YES 253
Dependency wayland-protocols found: YES 1.32 (cached)
Run-time dependency hyprland-protocols found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency hyprland-protocols
Executing subproject hyprland-protocols
hyprland-protocols| Project name: hyprland-protocols
hyprland-protocols| Project version: 0.2
hyprland-protocols| Configuring hyprland-protocols.pc using configuration
hyprland-protocols| Build targets in project: 126
hyprland-protocols| Subproject hyprland-protocols finished.
Dependency hyprland-protocols found: YES 0.2 (overridden)
Dependency wayland-scanner found: YES 1.22.0 (cached)
Program /usr/bin/wayland-scanner found: YES (/usr/bin/wayland-scanner)
Dependency wayland-server found: YES 1.22.0 (cached)
Dependency wayland-server found: YES 1.22.0 (cached)
Dependency wayland-client found: YES 1.22.0 (cached)
Run-time dependency cairo found: YES 1.17.8
Dependency libdrm found: YES 2.4.114 (cached)
Dependency egl found: YES 1.5 (cached)
Dependency xkbcommon found: YES 1.5.0 (cached)
Dependency libinput found: YES 1.23.0 (cached)
Dependency pixman-1 found: YES 0.42.2 (cached)
Run-time dependency gl found: YES 1.2
Run-time dependency threads found: YES
Run-time dependency pango found: YES 1.50.14
Run-time dependency pangocairo found: YES 1.50.14
Build targets in project: 161
wlroots 0.17.0-dev
drm-backend : NO
x11-backend : NO
libinput-backend: YES
xwayland : NO
gles2-renderer : NO
vulkan-renderer : NO
gbm-allocator : NO
session : YES
xcb-errors : NO
egl : NO
Hyprland 0.27.2
Subprojects
hyprland-protocols: YES
libdisplay-info : NO
Neither a subproject directory nor a libdisplay-info.wrap file was found.
libliftoff : NO
Neither a subproject directory nor a libliftoff.wrap file was found.
udis86 : YES
wlroots : YES
xserver : NO
Neither a subproject directory nor a xserver.wrap file was found.
Found ninja-1.11.1 at /usr/bin/ninja |
Beta Was this translation helpful? Give feedback.
-
For Fedora 38, I have listed the steps to build and install Hyprland here |
Beta Was this translation helpful? Give feedback.
-
i would recommend to enable this copr and download hyprland-git works perfectly |
Beta Was this translation helpful? Give feedback.
-
Hyprland now requires wayland-protocols 1.32 which is not available in Fedora 38 yet. |
Beta Was this translation helpful? Give feedback.
-
@gergelypolonkai There is a tutorial to compile the wayland-protocols from source https://www.linuxfromscratch.org/blfs/view/svn/general/wayland-protocols.html |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Anyone who sees this I recommend using this: https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/ All these packages are available:
|
Beta Was this translation helpful? Give feedback.
-
im using fedora 38 kernel version 6.4.15-200.fc38.x86_64 and tring to upgrade to the newest release which is supposedly better compatible with screen capture and routing when used with the new xdg-desktop-portal-hyprland 1.0 release.
|
Beta Was this translation helpful? Give feedback.
-
in case you have problems with the wayland-protocols version. check this: compile it and then check for new errors ! GL |
Beta Was this translation helpful? Give feedback.
-
Hello, Does anyone have a thought on upgrading to Fedora 39 with hyprland installed? I'm running fedora 38 Mate Compiz-spin, but have more or less given up MATE for hyprland.. I don't want to upgrade and kill hyprland and all it's components. Thanks |
Beta Was this translation helpful? Give feedback.
-
Not exactly Fedora but I got v0.17.0beta working on the latest version of RHEL (Rocky Linux 19.2) Manual build of: |
Beta Was this translation helpful? Give feedback.
-
Fedora 39sudo dnf install hyprland To build from sourceDownload hyprland source code from releasesInstall libs
hwdataDownload hwdata source code from https://github.com/vcrhonek/hwdata/releases/
libdisplay-info
libliftoff
Build hyprland
Copy hyprland.conf to ~/.config/hypr
Log out and open hyprland |
Beta Was this translation helpful? Give feedback.
-
Just to update, it is likely that you need to install |
Beta Was this translation helpful? Give feedback.
-
Actually if you are on Fedora 39, you can now just do
|
Beta Was this translation helpful? Give feedback.
-
As of 05/18/24, for anyone still wanting to build from source on Fedora, a current build issue seems to be able to be resolved by first building current release of wayland-protocols from source (Fedora package apparently not yet updated to the version needed to build Hyprland - referencing this issue.) |
Beta Was this translation helpful? Give feedback.
-
The steps to build Hyprland on Fedora are relatively simple and very similar to the steps described in the wiki. The main difference is in the package names between Arch and Fedora. These steps were tested on Fedora 35 and Fedora 36 Workstation. This was done on a laptop using only an integrated Intel video driver - I don't have an AMD or Nvidia GPU to test with.
To begin, install the necessary packages:
sudo dnf install ninja-build cmake meson gcc-c++ libxcb-devel libX11-devel pixman-devel wayland-protocols-devel cairo-devel pango-devel
This base set of packages will pull in all the required dependencies. You may also want to install
gdb
if you intend to debug crashes.Then, download the Hyprland source:
git clone --recursive https://github.com/hyprwm/Hyprland
The
--recursive
argument is important - it will clone the required branch of wlroots into the subprojects directory. Note that compiling with the master branch of wlroots will cause compiler errors - you need the branch of wlroots with the modified structures.Now you're ready to build Hyprland. I used ninja for my build:
cd Hyprland
meson _build
ninja -C _build
sudo ninja -C _build install
I may have some missing drivers on my system - the wlroots config couldn't enable the vulkan renderer. However, Hyprland seems to be working fine without it. Also, as far as I can tell, Fedora doesn't have an
xcb-errors
package, so the wlroots config won't be able to find this, either.There were some compiler warnings during the build, but no errors.
You can try building with cmake instead as described in the wiki, but I like ninja myself, so I went for that first.
At this point, Hyprland will be installed. However, on my system at least, I needed to install the Hyprland.desktop session file somewhere that gdm could find it, because it appears gdm doesn't look in /usr/local/share/wayland-sessions:
sudo cp /usr/local/share/wayland-sessions/hyprland.desktop /usr/share/wayland-sessions
Finally, copy the sample config file into place:
mkdir -p ~/.config/hypr
cp example/hyprland.conf ~/.config/hypr
Edit the config file to match your system, and then log out. Hyprland should show up as a selectable option in gdm - note that it may not if gdm is running in an X session instead of Wayland, so check
/etc/gdm/custom.conf
and make sure Wayland is enabled. There's a note in the wiki about Hyprland crashing the first time it's launched from gdm, but I didn't see this - Hyprland worked the first time.Thanks to @vaxerski for making such a cool window manager!
Beta Was this translation helpful? Give feedback.
All reactions