Hyprland fails to start after upgrade

I’ve been using the hyprland edition for a long time and today I did a garuda-update and now hyprland doesn’t start. When I enter my password into the greeter it flickers and is back. No hyprland in sight…
In a terminal session I tried hyprstart and get the following error:

Hyprland: error while loading shared libraries: libhyprutils.so.5: cannot open shared object file: No such file or directory

Running ldd /usr/bin/Hyprland | grep "not found" confirms:

        libhyprutils.so.5 => not found                                                                                                                   
        libhyprutils.so.5 => not found                                                                                                                   

Here’s ls -l /usr/lib/libhypr*, note that there’s libhyprutils.so.6 not .so.5 there…:

lrwxrwxrwx 1 root root     18 Apr 29 13:33 /usr/lib/libhyprcursor.so -> libhyprcursor.so.0
lrwxrwxrwx 1 root root     23 Apr 29 13:33 /usr/lib/libhyprcursor.so.0 -> libhyprcursor.so.0.1.12
-rwxr-xr-x 1 root root 343016 Apr 29 13:33 /usr/lib/libhyprcursor.so.0.1.12
lrwxrwxrwx 1 root root     20 Apr 22 15:44 /usr/lib/libhyprgraphics.so -> libhyprgraphics.so.0
lrwxrwxrwx 1 root root     24 Apr 22 15:44 /usr/lib/libhyprgraphics.so.0 -> libhyprgraphics.so.0.1.3
-rwxr-xr-x 1 root root 157632 Apr 22 15:44 /usr/lib/libhyprgraphics.so.0.1.3
-rwxr-xr-x 1 root root 134304 Mar 10 19:46 /usr/lib/libhyprland-quick-style-impl.so
-rwxr-xr-x 1 root root 231568 Mar 10 19:46 /usr/lib/libhyprland-quick-style.so
lrwxrwxrwx 1 root root     16 Apr 22 18:41 /usr/lib/libhyprlang.so -> libhyprlang.so.2
-rwxr-xr-x 1 root root 214984 Apr 22 18:41 /usr/lib/libhyprlang.so.0.6.1
lrwxrwxrwx 1 root root     20 Apr 22 18:41 /usr/lib/libhyprlang.so.2 -> libhyprlang.so.0.6.1
lrwxrwxrwx 1 root root     17 Apr 29 19:47 /usr/lib/libhyprutils.so -> libhyprutils.so.6
-rwxr-xr-x 1 root root 223264 Apr 29 19:47 /usr/lib/libhyprutils.so.0.7.0
lrwxrwxrwx 1 root root     21 Apr 29 19:47 /usr/lib/libhyprutils.so.6 -> libhyprutils.so.0.7.0

I first had chaotic-aur/hyprland-git 0.48.1.r131.g0c73621-1 installed and I noticed that extra also has hyprland, so I pacman installed it (extra/hyprland 0.48.1-5) but that resulted in the same issue.

I then rebooted into a working snapshot, this is the first time I use this feature and I’m glad it’s there! In the wiki it says that “Once the boot process is completed you will be automatically prompted to restore the currently booted snapshot” but I saw no such thing (although I did see some errors briefly flash towards the tail end of the boot process. Is there something I need to do?

System:                                                                                                                                                  
  Kernel: 6.14.3-1-clear arch: x86_64 bits: 64 compiler: gcc v: 14.2.1 clocksource: tsc                                                                  
    avail: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-clear                                                                                    
    root=UUID=941fde7f-dd53-42fc-87e1-085c47990c6b rw rootflags=subvol=@ quiet                                                                           
    rd.luks.uuid=f4353337-f608-4153-8516-712c2bdd741a                                                                                                    
    rd.luks.uuid=bb53fa49-4911-4abe-a164-e31688cc2ebd                                                                                                    
    resume=/dev/mapper/luks-bb53fa49-4911-4abe-a164-e31688cc2ebd loglevel=3 nvme.noacpi=1 ibt=off                                                        
  Console: tty 4 DM: SDDM Distro: Garuda base: Arch Linux                                                                                                
Machine:                                                                                                                                                 
  Type: Laptop System: Framework product: Laptop (13th Gen Intel Core) v: A6                                                                             
    serial: <superuser required>                                                                                                                         
  Mobo: Framework model: FRANMCCP06 v: A6 serial: <superuser required> part-nu: FRANDECP06                                                               
    uuid: <superuser required> UEFI: INSYDE v: 03.04 date: 05/24/2023                                                                                    
Battery:                                                                                                                                                 
  ID-1: BAT1 charge: 54.5 Wh (96.0%) condition: 56.8/60.7 Wh (93.5%) volts: 17.4 min: 15.5                                                               
    model: NVT FRANGWA type: Li-ion serial: <filter> status: discharging cycles: 38                                                                      
CPU:                                                                                                                                                     
  Info: model: 13th Gen Intel Core i7-1360P bits: 64 type: MST AMCP arch: Raptor Lake level: v3                                                          
    note: check built: 2022+ process: Intel 7 (10nm) family: 6 model-id: 0xBA (186) stepping: 2
    microcode: 0x4124
  Topology: cpus: 1x dies: 1 clusters: 6 cores: 12 threads: 16 mt: 4 tpc: 2 st: 8 smt: enabled
    cache: L1: 1.1 MiB desc: d-8x32 KiB, 4x48 KiB; i-4x32 KiB, 8x64 KiB L2: 9 MiB
    desc: 4x1.2 MiB, 2x2 MiB L3: 18 MiB desc: 1x18 MiB
  Speed (MHz): avg: 400 min/max: 400/5000:3700 scaling: driver: intel_pstate 
    governor: performance cores: 1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400
    10: 400 11: 400 12: 400 13: 400 14: 400 15: 400 16: 400 bogomips: 83558
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Raptor Lake-P [UHD Graphics] vendor: Framework driver: i915 v: kernel
    alternate: xe arch: Xe process: Intel 10nm built: 2020-21 ports: active: DP-2,DP-4,eDP-1
    empty: DP-1,DP-3 bus-ID: 00:02.0 chip-ID: 8086:a720 class-ID: 0300
  Device-2: Realtek Laptop Camera driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s lanes: 1
    mode: 2.0 bus-ID: 3-7:4 chip-ID: 0bda:5634 class-ID: 0e02 serial: <filter>
  Display: unspecified server: X.org v: 1.21.1.16 with: Xwayland v: 24.1.6 driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: iris gpu: i915 tty: 225x75
  Monitor-1: DP-2 model: LG (GoldStar) Ultra HD serial: <filter> built: 2017 res: 3840x2160
    dpi: 163 gamma: 1.2 size: 600x340mm (23.62x13.39") diag: 690mm (27.2") ratio: 16:9 modes:
    max: 3840x2160 min: 640x480
  Monitor-2: DP-4 model: BenQ PD2500Q serial: <filter> built: 2020 res: 2560x1440 dpi: 118
    gamma: 1.2 size: 553x311mm (21.77x12.24") diag: 634mm (25") ratio: 16:9 modes: max: 2560x1440
    min: 720x400
  Monitor-3: eDP-1 model: BOE Display 0x0bca built: 2022 res: 2256x1504 dpi: 201 gamma: 1.2
    size: 285x190mm (11.22x7.48") diag: 343mm (13.5") ratio: 3:2 modes: 2256x1504
  API: Vulkan v: 1.4.309 layers: 6 device: 0 type: integrated-gpu name: Intel Graphics (RPL-P)
    driver: mesa intel v: 25.0.4-arch1.1 device-ID: 8086:a720 surfaces: N/A device: 1 type: cpu
    name: llvmpipe (LLVM 19.1.7 256 bits) driver: mesa llvmpipe v: 25.0.4-arch1.1 (LLVM 19.1.7)
    device-ID: 10005:0000 surfaces: N/A
  API: OpenGL Message: GL data unavailable in console, glxinfo missing.
  Info: Tools: api: vulkaninfo wl: kanshi, nwg-displays, wdisplays, wlr-randr x11: xprop,xrandr
Audio:
  Device-1: Intel Raptor Lake-P/U/H cAVS vendor: Framework driver: snd_hda_intel v: kernel
    alternate: snd_soc_avs,snd_sof_pci_intel_tgl bus-ID: 00:1f.3 chip-ID: 8086:51ca class-ID: 0403
  API: ALSA v: k6.14.3-1-clear status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.4.2 status: off with: 1: pipewire-pulse status: off 2: wireplumber
    status: off 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon Peak] driver: iwlwifi v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: aa:00.0 chip-ID: 8086:2725 class-ID: 0280 
  IF: wlp170s0 state: up mac: <filter> 
  Device-2: ASIX AX88179 Gigabit Ethernet driver: cdc_ncm type: USB rev: 3.2 speed: 5 Gb/s
    lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-4.3:4 chip-ID: 0b95:1790 class-ID: 0a00 serial: <filter>
  IF: usb10 state: down mac: <filter>
  Info: services: NetworkManager, sshd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    mode: 1.1 bus-ID: 3-10:7 chip-ID: 8087:0032 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 5.3 lmp-v: 12 status:
    discoverable: no pairing: no class-ID: 10c
Drives:
  Local Storage: total: 931.51 GiB used: 274.49 GiB (29.5%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital model: WD BLACK SN850X 1000GB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD
    serial: <filter> fw-rev: 620311WD temp: 40.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 897.05 GiB size: 897.05 GiB (100.00%) used: 274.49 GiB (30.6%) fs: btrfs
    dev: /dev/dm-1 maj-min: 252:1 mapped: luks-f4353337-f608-4153-8516-712c2bdd741a
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 768 KiB (0.3%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 897.05 GiB size: 897.05 GiB (100.00%) used: 274.49 GiB (30.6%) fs: btrfs
    dev: /dev/dm-1 maj-min: 252:1 mapped: luks-f4353337-f608-4153-8516-712c2bdd741a
  ID-4: /var/log raw-size: 897.05 GiB size: 897.05 GiB (100.00%) used: 274.49 GiB (30.6%)
    fs: btrfs dev: /dev/dm-1 maj-min: 252:1 mapped: luks-f4353337-f608-4153-8516-712c2bdd741a
  ID-5: /var/tmp raw-size: 897.05 GiB size: 897.05 GiB (100.00%) used: 274.49 GiB (30.6%)
    fs: btrfs dev: /dev/dm-1 maj-min: 252:1 mapped: luks-f4353337-f608-4153-8516-712c2bdd741a
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: partition size: 34.17 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/dm-0
    maj-min: 252:0 mapped: luks-bb53fa49-4911-4abe-a164-e31688cc2ebd
  ID-2: swap-2 type: zram size: 31.05 GiB used: 0 KiB (0.0%) priority: 100 comp: zstd
    avail: lz4,deflate max-streams: 16 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 68.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 6814
Info:
  Memory: total: 32 GiB note: est. available: 31.05 GiB used: 3.59 GiB (11.6%)
  Processes: 369 Power: uptime: 32m states: freeze,mem,disk suspend: s2idle avail: deep
    wakeups: 0 hibernate: platform avail: shutdown, reboot, suspend, test_resume image: 12.4 GiB
    services: thermald,upowerd Init: systemd v: 257 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1695 libs: 477 tools: octopi,pacseek,paru Compilers: clang: 19.1.7
    gcc: 15.1.1 Shell: garuda-inxi default: fish v: 4.0.2 running-in: tty 4 inxi: 3.3.38
Garuda (2.7.2-1):
  System install date:     2023-09-30
  Last full system update: 2025-05-02 ↻
  Is partially upgraded:   No
  Relevant software:       snapper tlp NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            

Try installing hyprland-git, in the meantime

In tty as root, in log in page

sudo ln -s  /usr/lib/libhyprutils.so.6  /usr/lib/libhyprutils.so.5

or via chroot from live ISO.

6 Likes

Please remember that symlinking an installed library to the requested library should only be a temporary workaround. As soon as the package in question is offered for update with the next system update, you should undo this beforehand, otherwise it can cause new issues.

3 Likes

I never do this on hyprland :wink: if the correct file is available, the link is obsolete, but also without effect, at least for me so far.
IIRC it was now the third time the lib fails :smiley:

3 Likes

This is more of a hint for inexperienced Linux users. It happened to me once a long time ago on Arch, it took me a while to figure out what the cause was and that it was my own fault when the system stopped booting after an update due to the symlink. :sweat_smile:

3 Likes

Thanks for the suggestions! Is this an upstream problem, an arch packaging probelm, or a garuda packaging problem?

Also any comment on what I need to do about having booted into a snapshot to restore it?

Yes. No snapshot needed.

Read the wiki, please, → snapshot.

3 Likes

Somehow I went through a world of pain… I’m sure it was my fault…

I did sudo ln -s /usr/lib/libhyprutils.so.6 /usr/lib/libhyprutils.so.5 which works (thanks!) except that I’m using a hyprland plugin (hy3) and it’s not possible to compile that against hyprland-git because there is no git revision pin that corresponds.

To add a layer of confusion, the latest hyprland-git package on chaoticAUR is 0.48.1.r136.g46ac115-1, however, when I look at the PKGBUILD hyprland-git/PKGBUILD · main · Chaotic-AUR / PKGBUILDs · GitLab it fetches pkgver=0.48.0.r62.gd775686 (notice 0.48.0 vs 0.48.1).

In the end I switched to hyprland from extra (and all related packages) instead of trying to use hyprland-git from chaotic-aur. That truly gave me 0.48.1 with the official git revision for 0.48.1 against which the hy3 plugin compiled without issue (using hyprpm).

Easy to deal with in retrospect…

Please, open new help request, if needed. :slight_smile:

Always use what works :wink:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.