DEV Community

Cover image for Hyprland 0.52.2+ for Fedora — Clean COPR Build
Asher Buk
Asher Buk

Posted on • Edited on

Hyprland 0.52.2+ for Fedora — Clean COPR Build

I’ve published my own Hyprland COPR repository for Fedora

This is a clean, spec-compliant build, following Fedora RPM best practices:

  • correct RPM packaging
  • no duplicated system libraries
  • Hyprland-specific libraries vendored and isolated under /usr/libexec/hyprland/vendor
  • proper RUNPATH set at build time (no LD_LIBRARY_PATH hacks)
  • runtime verified with ldd, readelf, and duplicate checks

Motivation

The motivation was purely practical.

Hyprland 0.45 was available in Fedora 42, but it is not currently shipped in Fedora 43 official repositories; upstream is already at 0.52+.

I needed a newer compositor with fresh Hyprland features to unblock my own experiments — especially around Wayland and Rust-based tooling.

I solved this problem for myself first, and then decided to share the result with the community.

If you care about clean builds, reproducibility, and no ABI conflicts, this repository is for you. (stable recent releases, updated as needed — not automatically tracking every upstream commit)

Proofs / Technical Guarantees

  • Vendor libraries are isolated and do not shadow system libraries
  • No parallel-install conflicts (dnf repoquery --duplicates is clean)
  • Dynamic linking is deterministic and auditable
  • Build avoids patchelf (which is known to corrupt ELF headers in this case)

All of this can be verified directly from the installed package.

Install from copr.fedorainfracloud.org/coprs/ashbuk/Hyprland-Fedora

sudo dnf copr enable ashbuk/Hyprland-Fedora
sudo dnf install hyprland
Enter fullscreen mode Exit fullscreen mode

re-login and verify:

Hyprland --version
# Hyprland 0.52.2
Enter fullscreen mode Exit fullscreen mode

What's Included

Package Description
Hyprland Dynamic tiling Wayland compositor
hyprctl CLI control tool
hyprpm Plugin manager

Bundled libraries (in /usr/libexec/hyprland/vendor/):

  • libaquamarine 0.10.0
  • libhyprlang 0.6.7
  • libhyprutils 0.11.0
  • libhyprcursor 0.1.13
  • libhyprgraphics 0.4.0

Links

Top comments (8)

Collapse
 
sloan profile image
Sloan the DEV Moderator

We loved your post so we shared it on social.

Keep up the great work!

Collapse
 
ashbuk profile image
Asher Buk • Edited

Much appreciated!

Collapse
 
greg0ire profile image
Grégoire Paris

Extra question: I've tried your copr, and on startup there is a popup asking me to install hyprland-guiutils, but I cannot find that package.

Collapse
 
ashbuk profile image
Asher Buk • Edited

hyprland-guiutils is not a core Hyprland dependency and is not provided by this COPR.
Its an optional upstream Hyprland dependency for GUI dialogs (permission prompts, etc.). This popup is standard Hyprland behavior, not a bug in this COPR build. To disable the warning, add to your Hyprland config:

misc {
disable_hyprland_guiutils_check = true
}

Collapse
 
greg0ire profile image
Grégoire Paris

Thanks! I left Hyprland this morning because of broken dependencies, and I'm back on it now thanks to you!

Thread Thread
 
ashbuk profile image
Asher Buk

Glad it helped - thanks for giving the COPR a try and for the feedback!

Collapse
 
greg0ire profile image
Grégoire Paris

Hi! 2 questions:

You say Fedora 43 ships hyprland, but when I tried upgrading last week I could not find it. I see it is not listed here. Are you sure Fedora 43 ships hyprland?

How does this copr compare to copr.fedorainfracloud.org/coprs/so... ?

Collapse
 
ashbuk profile image
Asher Buk

Thanks for pointing this out you’re right (that was an inaccuracy):
Fedora 43 does NOT ship Hyprland in the official repositories.
The package was available in Fedora 42 (the 0.45 version I mentioned), but it is currently not present in Fedora 43 official repos. I’ll fix this wording in the post.

Regarding the COPR difference: my COPR provides a newer Hyprland version with a clean, minimal, Fedora-compliant RPM build, focused only on the core compositor.
The solopasha COPR targets a broader setup and may include additional helper packages and integrations. My goal here is a more minimal and reproducible build without extra components.