---
name: "river"
section: "1"
platform: "linux"
package: "river"
version: "0.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/river"
---

# river(1)

non-monolithic Wayland compositor

## NAME

river - non-monolithic Wayland compositor

## SYNOPSIS

**river** \[*options*\]

## DESCRIPTION

River is a non-monolithic Wayland compositor, it does not combine the compositor and window manager into one program. Instead, users can choose any window manager implementing the river-window-management-v1 protocol.

This means that river is not useful without a compatible window manager. A list of compatible window managers can be found on the river wiki: https://codeberg.org/river/wiki/src/branch/main/pages/wm-list.md

## OPTIONS

- **-h**

  Print a help message and exit.

- **-version**

  Print the version number and exit.

- **-c** *shell\_command*

  Override the default search paths for an init executable: instead *shell\_command* will be run with */bin/sh -c*. See the **CONFIGURATION** section for more details.

- **-log-level** \[**error**\|**warning**\|**info**\|**debug**\]

  Set the log level of river. At the **error** log level, only errors are logged.  At the **debug** log level, everything is logged including verbose debug messages.

- **-no-xwayland**

  Disable Xwayland at runtime even if river has been built with support.

## KEYBINDINGS

The following keybindings are always active:

**Ctrl+Alt+F1** - **Ctrl+Alt+F12**

Switch to VT 1-12

Window managers may add additional keybindings but cannot override these builtin keybindings.

## CONFIGURATION

On startup river will run an executable file at $XDG\_CONFIG\_HOME/river/init if such an executable exists. If $XDG\_CONFIG\_HOME is not set, ~/.config/river/init will be used instead.

The executable init file will be run as a process group leader after river's Wayland server is initialized but before entering the main loop. On exit, river will send SIGTERM to this process group.

Usually this executable is a shell script which starts the user's window manager and any other long-running programs. For example, [**kanshi**(1)](/kanshi/1.md) could be started to manage output configuration.

## AUTHORS

Maintained by Isaac Freund \<mail@isaacfreund.com\> who is assisted by open source contributors. For more information about river's development, see \<https://isaacfreund.com/software/river\>.
