Watch
1
0
Fork
You've already forked hyprlock
0
mirror of https://github.com/hyprwm/hyprlock.git synced 2026-11-04 03:16:06 +00:00
Hyprland's GPU-accelerated screen locking utility
  • C++ 97.4%
  • CMake 1.5%
  • Nix 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Pradyumn jha 73969a083e
core: defer auth initialization until session lock is acquired (#1091)
Starting CAuth and spawning the PAM/fingerprint auth threads before
acquiring the session lock causes secondary hyprlock instances (or
instances launched while another lockscreen is active) to hang on exit
joining PAM threads or holding resources.

By deferring g_pAuth->start() until acquireSessionLock() succeeds, a
rejected instance exits immediately without stranding background threads
or pinning GPU/system memory. Also send destroy on lock object when
finished is received before locked per ext-session-lock-v1 spec.

Fixes #1075

Co-authored-by: Pradyumn jha <devpryan7792@users.noreply.github.com>
2026-11-03 16:10:43 +01:00
.github CI: use org-wide actions 2026-04-17 15:18:55 +03:00
assets core: move dbus connection from fprint to it's own thing (#1029) 2026-05-30 10:22:35 +00:00
nix nix: gcc 15 -> 16 2026-08-11 19:22:32 +03:00
pam Adding a pam configuration file (#115) 2024-03-02 01:49:44 +02:00
protocols background: add screenshot 2024-02-21 21:39:14 +00:00
src core: defer auth initialization until session lock is acquired (#1091) 2026-11-03 16:10:43 +01:00
.clang-format core: initial commit 2024-02-18 23:08:03 +00:00
.clang-tidy clang-tidy: fix some errors (#751) 2025-04-21 20:17:15 +02:00
.gitignore core: fix background screenshot on nvidia (#656) 2025-01-24 14:25:37 +01:00
CMakeLists.txt cmakelists: fix libpam finding for base ubuntu (#1027) 2026-05-29 13:47:32 +01:00
flake.lock nix: gcc 15 -> 16 2026-08-11 19:22:32 +03:00
flake.nix nix: separate overlay with deps 2026-03-02 18:30:57 +02:00
LICENSE Initial commit 2024-02-18 16:10:12 +00:00
README.md misc: remove hyprland-protocols from README (#887) 2025-10-04 10:07:28 +00:00
VERSION VERSION: bump to 0.9.7 2026-11-01 19:12:21 +01:00

hyprlock

Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.

Features

  • Uses the ext-session-lock protocol
  • Support for fractional-scale
  • Fully GPU accelerated
  • Multi-threaded resource acquisition
  • Blurred screenshot as the background
  • Native fingerprint support (using libfprint's dbus interface)
  • Some of Hyprland's eyecandy: gradient borders, blur, animations, shadows, etc.
  • and more...

How it looks

Docs / Configuration

See the wiki

Arch install

pacman -S hyprlock # binary x86 tagged release
# or
yay -S hyprlock-git # compiles from latest source

Building

Deps

You need the following dependencies

  • cairo
  • hyprgraphics
  • hyprlang
  • hyprutils
  • hyprwayland-scanner
  • mesa (required is libgbm, libdrm and the opengl runtime)
  • pam
  • pango
  • sdbus-cpp (>= 2.0.0)
  • wayland-client
  • wayland-protocols
  • xkbcommon

Sometimes distro packages are missing required development files. Such distros usually offer development versions of library package - commonly suffixed with -devel or -dev.

Building

Building:

cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
cmake --build ./build --config Release --target hyprlock -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`

Installation:

sudo cmake --install build