mirror of
https://github.com/hyprwm/hyprlock.git
synced 2026-05-23 05:08:08 +02:00
A read-only mirror of https://github.com/hyprwm/hyprlock
With the default swap interval of 1, eglSwapBuffers blocks until the compositor sends wl_buffer.release. When a monitor is DPMS-off, the compositor never releases the buffer, stalling the main thread indefinitely. This prevents authentication from completing and leaves the lock screen frozen. Set the swap interval to 0 on each new EGL surface so swaps are non-blocking. Frame pacing is already controlled by wl_surface.frame callbacks, so this does not cause unbounded rendering. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| assets | ||
| nix | ||
| pam | ||
| protocols | ||
| src | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| CMakeLists.txt | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
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
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
