River: Difference between revisions

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


{{Note|This is currently not working as written. Updates in Progress}}
== 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].
 
== First Boot ==
 
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
}}
 
Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
{{Cmd|apk add sudo && visudo}}
 
Logout and log back in as the new user.
 
Test ssh login from a remote computer.
 
Verify that you can run commands with sudo.


== Installation ==
== Installation ==
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 & configure eudev:
{{Cmd|sudo apk add eudev
sudo setup-udev}}
Then install graphics drivers appropriate to your system:
{{Cmd|sudo apk add mesa-dri-gallium  # gallium
sudo apk add mesa-dri-classic  # or classic}}
The following links contain guides for setting up the video stack.
* [https://wiki.alpinelinux.org/wiki/Intel_Video Intel Video]
* [https://wiki.alpinelinux.org/wiki/Radeon_Video Radeon Video]


Install River and the documentation:
Install River and the documentation:


{{Cmd|sudo apk add river river-doc mandoc}}
{{Cmd|# apk add {{Pkg|river}} {{Pkg|river-doc}}}}


Edit the repositories file again to toggle back to the 3.14/community repository before installing additional software:
<code>river-doc</code> is required if you want use the example config.


{{Cat|/etc/apk/repositories|
Install your choice of additional packages:
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 your choice of additional applications:
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.


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.
{{Cmd|# apk add {{Pkg|adwaita-icon-theme}} {{Pkg|foot}} {{Pkg|font-dejavu}}}}
{{Cmd|sudo apk add adwaita-icon-theme firefox foot ttf-dejavu}}


== Running River ==
== Running River ==


Before running River for the first time, copy the sample init file from /etc/river to ~/.config:
Before running River for the first time, copy the sample init file to ~/.config:
 
{{Cmd|install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river}}


{{Cmd|install -Dm0755 /etc/river/init -t ~/.config/river}}
Set [[Wayland#XDG_RUNTIME_DIR|XDG_RUNTIME_DIR]] and then start River:


Set seatd to start automatically at next boot and also manually start it for this session:
{{Cmd|1=river}}


{{Cmd|sudo rc-update add seatd
== Troubleshooting ==
sudo rc-service seatd start}}


{{Cmd|sudo addgroup sodface seat}}
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.


Logout and log back in again.
Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:


Start River:
{{Cmd|apk add {{Pkg|pciutils-libs}}}}


{{Cmd|1=XDG_RUNTIME_DIR=/tmp river}}
Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:


== 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: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