diff options
| author | salmon <salmonik@tuta.io> | 2026-08-09 23:24:03 +0200 |
|---|---|---|
| committer | salmon <salmonik@tuta.io> | 2026-08-09 23:24:03 +0200 |
| commit | eb9d3c3ce0f6063ceaf50cd527158fd800c56607 (patch) | |
| tree | ec0ddd24745c535ed449b6909090afee2fc8126d | |
| parent | Actual message when daemon could not be found (diff) | |
| download | rsplayer-eb9d3c3ce0f6063ceaf50cd527158fd800c56607.tar.gz rsplayer-eb9d3c3ce0f6063ceaf50cd527158fd800c56607.zip | |
Document FreeBSD requirements in README
| -rw-r--r-- | README.md | 33 |
1 files changed, 32 insertions, 1 deletions
| @@ -12,6 +12,37 @@ install.sh will: | |||
| 12 | - install shell autocompletions (zsh, bash and fish supported) | 12 | - install shell autocompletions (zsh, bash and fish supported) |
| 13 | - install user systemd service and activate it | 13 | - install user systemd service and activate it |
| 14 | 14 | ||
| 15 | ## FreeBSD | ||
| 16 | |||
| 17 | FreeBSD is supported out of the box; no code changes or extra Rust crates are needed. | ||
| 18 | The audio backend (cpal) uses ALSA on FreeBSD, which is provided by the ports as a | ||
| 19 | userspace shim over the kernel's OSS (/dev/dsp). | ||
| 20 | |||
| 21 | Requirements: | ||
| 22 | ``` | ||
| 23 | pkg install alsa-lib alsa-plugins # audio: ALSA API + OSS backend plugin (mandatory) | ||
| 24 | pkg install cmake # build-time only, for the rustls TLS stack (aws-lc-sys) | ||
| 25 | pkg install rust # if you don't have a Rust toolchain yet | ||
| 26 | ``` | ||
| 27 | |||
| 28 | Build and install (FreeBSD convention is /usr/local/bin): | ||
| 29 | ``` | ||
| 30 | cargo build --release | ||
| 31 | install -m 755 target/release/rsp /usr/local/bin/rsp | ||
| 32 | ``` | ||
| 33 | |||
| 34 | FreeBSD notes: | ||
| 35 | - There is no systemd: run `rsp start-daemon` manually, from your login shell, | ||
| 36 | or via an rc.d script. `start-daemon`/`stop-daemon`/`restart` behave the same. | ||
| 37 | - XDG_RUNTIME_DIR is not set by default on FreeBSD, so the daemon socket and PID | ||
| 38 | file fall back to /tmp/rsplayer/. Set XDG_RUNTIME_DIR in your rc.d script or | ||
| 39 | shell profile if you prefer a private runtime dir. | ||
| 40 | - Desktop notifications and MPRIS (playerctl etc.) require a running D-Bus session | ||
| 41 | bus (`pkg install dbus`) and a notification daemon; without them the daemon runs | ||
| 42 | fine, those features are just disabled. | ||
| 43 | - If you have multiple sound cards, pick the output with: | ||
| 44 | `sysctl hw.snd.default_unit=N` (persist in /etc/sysctl.conf). | ||
| 45 | |||
| 15 | ## Usage | 46 | ## Usage |
| 16 | 47 | ||
| 17 | configuration is generated at startup in $XDG_CONFIG_HOME/rsplayer/config.toml | 48 | configuration is generated at startup in $XDG_CONFIG_HOME/rsplayer/config.toml |
| @@ -26,7 +57,7 @@ all other values can be changed in runtime using commands | |||
| 26 | as for commands: | 57 | as for commands: |
| 27 | RSP will be installed as rsp, in this fragment, rsp will be ommited | 58 | RSP will be installed as rsp, in this fragment, rsp will be ommited |
| 28 | 59 | ||
| 29 | these commands should only be used in testing or by systemd service: | 60 | these commands should only be used in testing or by the init system (systemd/rc.d): |
| 30 | - `start-daemon` Start the daemon | 61 | - `start-daemon` Start the daemon |
| 31 | - `stop-daemon` Stop the daemon | 62 | - `stop-daemon` Stop the daemon |
| 32 | - `restart` Restart the daemon (kill existing and start new) | 63 | - `restart` Restart the daemon (kill existing and start new) |
