River: Difference between revisions

From Alpine Linux
(→‎Installation: deduplicate seatd section)
 
(38 intermediate revisions by 10 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 developer for the 0.1.0 release. 


{{Note|This is currently not working as written. Updates in Progress}}
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.  


[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.
Many steps below were taken from the [[Sway|wiki entry for installing Sway]].


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.
== Installation ==


== First Boot ==
Login as root.


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:
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.17/main
#http://dl-cdn.alpinelinux.org/alpine/v3.17/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
}}


Login as root, create a new user and update group membership:
{{:Include:Setup_Device_Manager}}
{{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:
Then install the mesa gallium drivers:
{{Cmd|apk add sudo && visudo}}


Logout and log back in as the new user.
{{Cmd|# apk add {{Pkg|mesa-dri-gallium}}}}


Test ssh login from a remote computer.
The following links contain guides for setting up the video stack.


Verify that you can run commands with sudo.
* [[Intel Video]]
* [[Radeon Video]]


== Installation ==
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 River and the documentation:
<code>river-doc</code> is required if you want use the example config.


{{Cmd|sudo apk add river river-doc mandoc}}
Install your choice of additional packages:


Edit the repositories file again to toggle back to the 3.14/community repository before installing additional software:
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.


{{Cat|/etc/apk/repositories|
{{Cmd|# apk add {{Pkg|adwaita-icon-theme}} {{Pkg|foot}} {{Pkg|font-dejavu}}}}
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:
[[Seatd|Install and configure seatd to start automatically]].


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.
Logout and log back in as the new user.
{{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 /etc/river/init -t ~/.config/river}}


Set seatd to start automatically at next boot and also manually start it for this session:
{{Cmd|install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river}}


{{Cmd|sudo rc-update add seatd
Set [[Wayland#XDG_RUNTIME_DIR|XDG_RUNTIME_DIR]] and then start River:
sudo rc-service seatd start}}


{{Cmd|sudo addgroup sodface seat}}
{{Cmd|1=river}}


Logout and log back in again.
== Notes ==


Start River:
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.


{{Cmd|1=XDG_RUNTIME_DIR=/tmp river}}
Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:


== Configuration and Usage ==
{{Cmd|apk add {{Pkg|pciutils-libs}}}}


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.
Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:


For additional information, start at <code>man 5 sway</code> and read the [https://github.com/swaywm/sway/wiki upstream FAQ].
{{Cmd|mkdir -p ~/.icons/default
ln -s /usr/share/icons/Adwaita/cursors .icons/default/cursors}}


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

Latest revision as of 10:02, 3 March 2024

River is a dynamic tiling Wayland compositor. An introduction to River can be found in this blog post by the developer for the 0.1.0 release.

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 wiki entry for installing Sway.

Installation

Login as root.

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:

Contents of /etc/apk/repositories

#http://dl-cdn.alpinelinux.org/alpine/v3.17/main #http://dl-cdn.alpinelinux.org/alpine/v3.17/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

Setting up eudev on a desktop system is recommended:

# setup-devd udev

For more details and advanced instructions see Device Manager.

Then install the mesa gallium drivers:

# apk add mesa-dri-gallium

The following links contain guides for setting up the video stack.

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

Install and configure seatd to start automatically.

Logout and log back in as the new user.

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

Notes

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