Wayland Protocol Documentation
Stable river protocols
River supports stable window management protocols that are exclusively available to the active window manager:
river-window-management-v1
– frame-perfect window management
river-xkb-bindings-v1
– xkbcommon-based key bindings
river-layer-shell-v1
– optional layer shell support
River also supports input configuration through custom protocols:
river-input-management-v1
– manage seats and input devices
river-libinput-config-v1
– configure libinput devices
river-xkb-config-v1
– configure xkbcommon keyboards
Stable Wayland protocols
The core Wayland protocol and stable upstream wayland-protocols extensions:
wayland
linux-dmabuf-v1
presentation-time
tablet-v2
– Wayland protocol for graphics tablets
viewporter
xdg-shell
Staging Wayland protocols
Upstream wayland-protocols extensions that are not yet declared stable:
alpha-modifier-v1
color-management-v1
– color management protocol
color-representation-v1
– color representation protocol extension
commit-timing-v1
content-type-v1
cursor-shape-v1
drm-lease-v1
ext-background-effect-v1
ext-data-control-v1
– control data devices
ext-foreign-toplevel-list-v1
– list toplevels
ext-idle-notify-v1
ext-image-capture-source-v1
– opaque image capture source objects
ext-image-copy-capture-v1
– image capturing into client buffers
ext-session-lock-v1
– secure session locking with arbitrary graphics
ext-transient-seat-v1
– protocol for creating temporary seats
ext-workspace-v1
fifo-v1
fractional-scale-v1
– Protocol for requesting fractional surface scales
linux-drm-syncobj-v1
– protocol for providing explicit synchronization
pointer-warp-v1
security-context-v1
single-pixel-buffer-v1
– single pixel buffer factory
tearing-control-v1
xdg-activation-v1
– Protocol for requesting activation of surfaces
xdg-dialog-v1
xdg-session-management-v1
– Protocol for managing application sessions
xdg-system-bell-v1
xdg-toplevel-drag-v1
xdg-toplevel-icon-v1
– protocol to assign icons to toplevels
xdg-toplevel-tag-v1
xwayland-shell-v1
– Protocol for associating X11 windows to wl_surfaces
Unstable Wayland protocols
Legacy protocol extensions introduced prior to changes in the upstream wayland-protocols development process. Only the legacy protocols (still) supported by river are included here. These protocols may be marked stable upstream eventually.
idle-inhibit-unstable-v1
pointer-constraints-unstable-v1
– protocol for constraining pointer motions
pointer-gestures-unstable-v1
primary-selection-unstable-v1
– Primary selection protocol
relative-pointer-unstable-v1
– protocol for relative pointer motion events
text-input-unstable-v3
– Protocol for composing text
xdg-decoration-unstable-v1
xdg-output-unstable-v1
– Protocol to describe output regions
Unstable wlroots protocols
The wlr-protocols upstream itself is deprecated in favor of the wayland-protocols standardization process. However, several wlroots protocol extensions are in widespread use by clients and do not yet have a standardized replacement. Only the protocols (still) supported by river are listed here.
wlr-data-control-unstable-v1
– control data devices
wlr-export-dmabuf-unstable-v1
– a protocol for low overhead screen content capturing
wlr-gamma-control-unstable-v1
– manage gamma tables of outputs
wlr-layer-shell-unstable-v1
wlr-output-management-unstable-v1
– protocol to configure output devices
wlr-output-power-management-unstable-v1
– Control power management modes of outputs
wlr-screencopy-unstable-v1
– screen content capturing on client buffers
wlr-virtual-pointer-unstable-v1
Upstreamless protocols
These protocols somehow became widely implemented in the wild without being accepted into the wayland-protocols upstream. They continue to be used since there is not yet any better alternative that provides the same functionality but have no upstream owner or further development. Hopefully newer wayland-protocols developments will replace these eventually, these protocols are not perfect and leave certain use-cases unsupported.
input-method-unstable-v2
– Protocol for creating input methods
virtual-keyboard-unstable-v1
