River: Difference between revisions

From Alpine Linux
 
(56 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[https://github.com/riverwm/river River] is a dynamic tiling Wayland compositor. An introduction to River can be found in [https://isaacfreund.com/blog/river-intro/ this blog post] by the author for the 0.1.0 release. 
[https://github.com/riverwm/river River] is a dynamic tiling [[Wayland]] compositor.  


This wiki was written starting from a fresh install using the Alpine 3.14.2 x86_64 extended .iso. The steps begin from the first reboot after running setup-alpine and performing a sys install to disk.  
== Prerequisites ==
{{:Include:Desktop prerequisites}}
* Wayland compositors need raw access to input and output devices, typically mediated by a [[seat manager]]. Either [[seatd]] or [[elogind]] work fine, but installing both leads to conflicts.
* Installing [[Alpine_setup_scripts#setup-wayland-base|wayland-base]] enables [[elogind]] as [[Seat manager|seat manager]], enables [[Repositories#Community|community repository]] and enables [[eudev]].


== First Boot ==
== Installation ==


On the first boot after a new Alpine installation, there are some basic system configuration tasks typically done regardless of whether you plan to run a GUI desktop or not. These are the steps I run through:
Install River and the documentation:
 
Login as root, create a new user and update group membership:
{{Cmd|adduser sodface
addgroup sodface audio
addgroup sodface input
addgroup sodface video
addgroup sodface wheel
}}
 
Edit the repositories file and uncomment the community and testing repos. For 3.14.2, we need edge/community to get the correct software versions to support River:
{{Cat|/etc/apk/repositories|
http://dl-cdn.alpinelinux.org/alpine/v3.14/main
#http://dl-cdn.alpinelinux.org/alpine/v3.14/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
}}


Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
{{Cmd|# apk add {{Pkg|river}} {{Pkg|river-doc}}}}
{{Cmd|apk update
apk add sudo && visudo}}


Logout and log back in as the new user.
<code>river-doc</code> is required if you want use the example config.


Test ssh login from a remote computer.
Install your choice of additional packages:


Verify that you can run commands with sudo.
This list includes icons, fonts, and a terminal emulator named foot which is the default in River's sample init file that we will use later.


== Installation ==
{{Cmd|# apk add {{Pkg|adwaita-icon-theme}} {{Pkg|foot}} {{Pkg|font-dejavu}}}}


Install River and the documentation:
== Running River ==


{{Cmd|sudo apk add river river-doc mandoc}}
Before running River for the first time, copy the sample init file to ~/.config:


Install your choice of additional applications:
{{Cmd|install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river}}


This list includes icons, browser, fonts, and a terminal emulator named foot which is the default in River's sample init file that we will use later.
Set [[Wayland#XDG_RUNTIME_DIR|XDG_RUNTIME_DIR]] and then start River:
{{Cmd|sudo apk add adwaita-icon-theme firefox foot ttf-dejavu}}


== Running Sway ==
{{Cmd|1=river}}


To run sway, first set XDG_RUNTIME_DIR to a suitable location (e.g. /tmp). Install & configure elogind to skip this step. Then run sway from the Linux console:
== Troubleshooting ==


<pre>
Following are a few notes that are most certainly not related to River whatsoever but rather discovered while running River so I'm tacking them onto the end of this wiki.
$ XDG_RUNTIME_DIR=/tmp sway
</pre>


(if you run sway with seatd-launch, you will need to use <code>$ XDG_RUNTIME_DIR=/tmp seatd-launch sway</code>)
Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:


See the [https://wiki.alpinelinux.org/wiki/Wayland Wayland] page for a permanent configuration
{{Cmd|apk add {{Pkg|pciutils-libs}}}}


{{Note|
Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:
swaylock needs to be able to read your <code>/etc/shadow</code> file to be able to validate your password
}}


== Configuration and Usage ==
{{Cmd|mkdir -p ~/.icons/default
ln -s /usr/share/icons/Adwaita/cursors ~/.icons/default/cursors}}


An example config is provided at <code>/etc/sway/config</code>. Copy it to <code>~/.config/sway/config</code> and read through it to learn the default keybindings.
== See also ==


For additional information, start at <code>man 5 sway</code> and read the [https://github.com/swaywm/sway/wiki upstream FAQ].
* [https://isaacfreund.com/blog/river-intro/ An introduction to River]


[[Category:Desktop]]
[[Category:Compositor]]

Latest revision as of 15:29, 25 May 2025

River is a dynamic tiling Wayland compositor.

Prerequisites

Installation

Install River and the documentation:

# apk add river river-doc

river-doc is required if you want use the example config.

Install your choice of additional packages:

This list includes icons, fonts, and a terminal emulator named foot which is the default in River's sample init file that we will use later.

# apk add adwaita-icon-theme foot font-dejavu

Running River

Before running River for the first time, copy the sample init file to ~/.config:

install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river

Set XDG_RUNTIME_DIR and then start River:

river

Troubleshooting

Following are a few notes that are most certainly not related to River whatsoever but rather discovered while running River so I'm tacking them onto the end of this wiki.

Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:

apk add pciutils-libs

Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:

mkdir -p ~/.icons/default ln -s /usr/share/icons/Adwaita/cursors ~/.icons/default/cursors

See also