From 22df158af031a5bb0a126ce148e44d7fa4b5ad63 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Mon, 22 Jan 2024 18:27:41 +0300 Subject: README: documented some FreeBSD tweaks --- README.md | 38 ++++++++++++++++++++++++++++++-------- TODO | 2 ++ 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f1ac59b..1e2194b 100644 --- a/README.md +++ b/README.md @@ -37,20 +37,42 @@ TODO: How to use jack-plumbing? ./applause -o 2 -This may require root rights for accessing HID devices. -You may also add the current user to the `input` group. -On FreeBSD, you might need to add the current user to the `wheel` group and -give read acceess to evdev nodes by creating `/etc/devd.rules`: - - [localrules=10] - add path 'input/*' mode 0640 - Example (one channel): > Stream.SinOsc(440):play() You can also run standalone scripts (batch mode), just like the standard Lua interpreter. +## Operating System Tweaks + +### Linux (Ubuntu) + +In order to run Jack and Applause with real-time scheduling, it should be sufficient to +add your user to the `audio` group. + +To give regular users access to HID devices, it should suffice to add the current user to +the `input` group. + +### FreeBSD + +For realtime scheduling, you might have to check out the mac_priority kernel module +and add your user to the `realtime` group. + +Furthermore, to allow unlimited memory locking on FreeBSD for ordinary users, +you should add the following entry to `/etc/login.conf`: + + audio:\ + :memorylocked=unlimited:\ + :tc=default: + +Change the login class of your user to `audio` by running `chpass`. + +You might need to add the current user to the `wheel` group and +give read acceess to evdev device nodes by creating `/etc/devd.rules`: + + [localrules=10] + add path 'input/*' mode 0640 + # Applause Clients (Editor Integration) echo -ne "25 \nStream.SinOsc(440):play()" | socat -,ignoreeof TCP:127.0.0.1:10000" diff --git a/TODO b/TODO index 64fc6ce..dffa014 100644 --- a/TODO +++ b/TODO @@ -100,3 +100,5 @@ * EvdevStream:evabs() for retrieving the minimum/maximum values automatically. * More options for plotting into terminals via Stream:gnuplot(). Theoretically we can support xterm and others via braille characters (gnuplot's block terminal). + It might also be viable to do our own graphics via Cairo, which allows SVG output in contrast to + Tk canvases. -- cgit v1.2.3