River: Difference between revisions

From Alpine Linux
No edit summary
(added heading Prerequisites)
 
(33 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[https://github.com/riverwm/river River] is a dynamic tiling [[Wayland]] compositor.


{{Note|The package testing/river is currently broken. See [this comment by the developer] on the GitLab merge request.}}
== Prerequisites ==
 
{{:Include:Desktop prerequisites}}
[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.
* 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]].
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.
 
Many steps below were taken from the [https://wiki.alpinelinux.org/wiki/Sway wiki entry for installing Sway].


== Installation ==
== Installation ==


Login as root.
Install River and the documentation:


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:
{{Cmd|# apk add {{Pkg|river}} {{Pkg|river-doc}}}}
{{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 & configure eudev:
<code>river-doc</code> is required if you want use the example config.


{{Cmd|apk update
Install your choice of additional packages:
apk add eudev
setup-udev}}


Then install graphics drivers appropriate to your system:
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.


{{Cmd|apk add mesa-dri-gallium  # gallium
{{Cmd|# apk add {{Pkg|adwaita-icon-theme}} {{Pkg|foot}} {{Pkg|font-dejavu}}}}
apk add mesa-dri-classic  # or classic}}


The following links contain guides for setting up the video stack.
== Running River ==
 
* [https://wiki.alpinelinux.org/wiki/Intel_Video Intel Video]
* [https://wiki.alpinelinux.org/wiki/Radeon_Video Radeon Video]


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


{{Cmd|apk add river river-doc mandoc}}
{{Cmd|install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river}}


Install your choice of additional packages:
Set [[Wayland#XDG_RUNTIME_DIR|XDG_RUNTIME_DIR]] and then start River:


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.
{{Cmd|1=river}}
{{Cmd|apk add adwaita-icon-theme foot ttf-dejavu}}


Set seatd to start automatically at next boot and also manually start it for this session:
== Troubleshooting ==


{{Cmd|rc-update add seatd
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.
rc-service seatd start}}


Create a new user and update group membership:
Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:
{{Cmd|adduser sodface
addgroup sodface audio
addgroup sodface input
addgroup sodface seat
addgroup sodface video
addgroup sodface wheel
}}


Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
{{Cmd|apk add {{Pkg|pciutils-libs}}}}
{{Cmd|apk add sudo && visudo}}
 
Logout and log back in as the new user.
 
== Running River ==


Before running River for the first time, copy the sample init file from /etc/river to ~/.config:
Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:


{{Cmd|install -Dm0755 /etc/river/init -t ~/.config/river}}
{{Cmd|mkdir -p ~/.icons/default
ln -s /usr/share/icons/Adwaita/cursors ~/.icons/default/cursors}}


Start River:
== See also ==


{{Cmd|1=XDG_RUNTIME_DIR=/tmp river}}
[https://isaacfreund.com/blog/river-intro/ An introduction to River]


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

Latest revision as of 10:45, 17 March 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

An introduction to River