Waylock is a small screenlocker for Wayland compositors implementing the ext-session-lock-v1 protocol. It is free and open source software.

Waylock is packaged by various Linux distributions as well as FreeBSD. The source code is hosted on codeberg, which is where the issue tracker may be found and where contributions are accepted. Read-only mirrors of the source code exist on sourcehut and github.


Waylock’s feature set prioritizes functionality and simplicity. When the session is locked, all monitors are blanked with a solid color. Keyboard input will cause the color to change. If the password is incorrect, the color will turn red, if correct the session will be unlocked. The colors are configurable with command line options but that’s about it, see the waylock(1) man page for details.

Waylock supports readiness notification for race-free lock and suspend by either forking to the background or writing to a user-provided file descriptor after the session has been locked. See the waylock(1) man page for details.


The ext-session-lock-v1 protocol is a Wayland protocol extension I developed. It is included in the official wayland-protocols repository.

This protocol is significantly more robust than previous client-side Wayland screen locking approaches. Importantly, the screenlocker crashing does not cause the session to be unlocked.

The ext-session-lock-v1 protocol is supported by many Wayland compositors including river, sway, Wayfire, labwc, Mir, and more.