hyprlock/README.md

76 lines
2.2 KiB
Markdown
Raw Normal View History

2024-02-18 17:10:12 +01:00
# hyprlock
2024-02-19 00:08:03 +01:00
Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.
## Features
- uses the secure ext-session-lock protocol
- full support for fractional-scale
- fully GPU accelerated
- multi-threaded resource acquisition for no hitches
2024-02-19 00:10:34 +01:00
## How it looks
2024-02-20 02:00:51 +01:00
![](https://i.ibb.co/8Bd98BP/20240220-00h12m46s.png)
2024-02-19 00:10:34 +01:00
2024-02-19 18:22:26 +01:00
## Docs / Configuration
[See the wiki](https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/)
2024-02-19 00:08:03 +01:00
### Password hash configuration
If PAM authentication is unavailable to you, you can use password hash authentication via `libgcrypt`.
Activated it by setting `general:password_hash` to the desired value as a string of hexadecimal numbers.
You can select the hash function with `general:password_hash` with the default being `SHA256`.
Other known hash functions are `SHA3-256`, `SHA512_256` or `SHAKE128`.
You can also salt the by setting `hash_salt`.
Set an individual salt (and matching hash) on different systems or across different users to possibly mask that you/users are using the same password.
You can set up a new password hash by first selecting the hash function (e.g. `SHA3-256`) and then using OpenSSL to create the salt and hash:
``` sh
# Produces 10 bytes salt
SALT=$(openssl rand -hex 10)
printf "hash_salt = %s\n" "$SALT"
# Enter your password (no echo) and press ENTER.
{ read -s v; echo "$v${SALT}" } | openssl sha3-256 -hex
```
2024-05-27 23:28:41 +02:00
## Arch install
```sh
pacman -S hyprlock # binary x86 tagged release
# or
yay -S hyprlock-git # compiles from latest source
2024-05-27 23:28:41 +02:00
```
2024-02-19 00:08:03 +01:00
## Building
### Deps
You also need the following dependencies
- wayland-client
- wayland-protocols
- mesa
And the development libraries for the following
- cairo
- libdrm
- pango
- xkbcommon
- pam
2024-10-13 14:05:11 +02:00
- hyprlang
- hyprutils
2024-05-04 01:11:56 +02:00
- libmagic (file-devel on Fedora)
2024-05-03 04:22:48 +02:00
Development libraries are usually suffixed with `-devel` or `-dev` in most distro repos.
2024-03-24 17:48:29 +01:00
You also need to install `mesa-libgbm-devel` on some distros like RPM based ones where its not
bundled with the mesa package.
2024-02-19 00:08:03 +01:00
### Building
Building:
```sh
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`
2024-02-19 00:08:03 +01:00
```
Installation:
```sh
sudo cmake --install build
```