River: Difference between revisions

From Alpine Linux
(27 intermediate revisions by 2 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. 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.   


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


== First Boot ==
Many steps below were taken from the [https://wiki.alpinelinux.org/wiki/Sway wiki entry for installing Sway].


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


Login as root, create a new user and update group membership:
Login as root.
{{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:
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:
Line 24: Line 18:
}}
}}


Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
Install & configure eudev:
 
{{Cmd|apk update
{{Cmd|apk update
apk add sudo && visudo}}
apk add eudev
setup-udev}}


Logout and log back in as the new user.
Then install graphics drivers appropriate to your system:


Test ssh login from a remote computer.
{{Cmd|apk add mesa-dri-gallium  # gallium
apk add mesa-dri-classic  # or classic}}


Verify that you can run commands with sudo.
The following links contain guides for setting up the video stack.


== Installation ==
* [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 river river-doc mandoc}}
 
Edit the repositories file again to toggle back to the 3.14/community repository before installing additional software:


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


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 seatd to start automatically at next boot and also manually start it for this session:
{{Cmd|sudo apk add adwaita-icon-theme firefox foot ttf-dejavu}}


== Running River ==
{{Cmd|rc-update add seatd
rc-service seatd start}}


Before running River for the first time, copy the sample init file from /etc/river to ~/.config:
Create a new user and update group membership:
{{Cmd|adduser sodface
addgroup sodface audio
addgroup sodface input
addgroup sodface seat
addgroup sodface video
addgroup sodface wheel
}}


{{Cmd|install -Dm0755 /etc/river/init -t ~/.config/river}}
Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
{{Cmd|apk add sudo && visudo}}


Set seatd to start automatically at next boot and also manually start it for this session:
Logout and log back in as the new user.


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


To run River, 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:
Before running River for the first time, copy the sample init file to ~/.config:


<pre>
{{Cmd|install -Dm0755 /usr/share/doc/river/example/init -t ~/.config/river}}
$ 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>)
Start River:


See the [https://wiki.alpinelinux.org/wiki/Wayland Wayland] page for a permanent configuration
{{Cmd|1=XDG_RUNTIME_DIR=/tmp river}}


{{Note|
[[Category:Desktop]]
swaylock needs to be able to read your <code>/etc/shadow</code> file to be able to validate your password
}}


== Configuration and Usage ==
== Notes ==


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


For additional information, start at <code>man 5 sway</code> and read the [https://github.com/swaywm/sway/wiki upstream FAQ].
Firefox 89.0.1 complains on launch "glxtest: libpci missing", resolved by:
{{Cmd|sudo apk add pciutils-libs}}


[[Category:Desktop]]
Firefox 89.0.1 complains continuously "Unable to load hand2 from the cursor theme", resolved by:
{{Cmd|mkdir -p ~/.icons/default
ln -s /usr/share/icons/Adwaita/cursors .icons/default/cursors}}

Revision as of 02:22, 9 January 2022

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

apk update apk add eudev setup-udev

Then install graphics drivers appropriate to your system:

apk add mesa-dri-gallium # gallium apk add mesa-dri-classic # or classic

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

Install River and the documentation:

apk add river river-doc mandoc

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 ttf-dejavu

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

rc-update add seatd rc-service seatd start

Create a new user and update group membership:

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:

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 to ~/.config:

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

Start River:

XDG_RUNTIME_DIR=/tmp 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:

sudo 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