From b706865ee836357df8c81e496638b54e0c7ac5a6 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Sun, 25 Oct 2026 17:34:26 +0200 Subject: [PATCH] Update documentation with xmusic, xfiles media actions, ringtone volume and vibration --- AGENTS.md | 2 +- CHANGELOG.md | 2 +- MANUAL.md | 23 ++++++++++++++++++----- README.md | 4 ++-- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 8da8f30..f807ff6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,7 +24,7 @@ It uses a pure **X11 (`Xlibre` + `sxmo-de-dwm`)** stack (no Wayland) optimized f ## 3. Build & Image Generation Commands All cross-compilation scripts run inside rootless Docker (`alpine:3.24` `armv7` sysroot) and automatically update both `prebuilt/` and `overlay/rootfs/`: -- `./scripts/build-sxmo-x11.sh` — Builds `st`, `dmenu.so`, `dwm`, `dwm-plugin`, and all C++ `.so` plugins (`xdrawer`, `dialer`, `calllog`, `callscreen`, `contacts`, `sms`, `files`, `camera`, `themes`, `modem`, `networks`, `ringtones`, `wallpapers`). +- `./scripts/build-sxmo-x11.sh` — Builds `st`, `dmenu.so`, `dwm`, `dwm-plugin`, `sxmo_vibrate`, and all C++ `.so` plugins (`xdrawer`, `dialer`, `calllog`, `callscreen`, `contacts`, `sms`, `files`, `camera`, `themes`, `modem`, `networks`, `ringtones`, `wallpapers`, `music`). - `./scripts/build-dmenu.sh` — Rebuilds only `dmenu.so`, `stest`, `dmenu_path`, and `dmenu_run`. - `./scripts/build-games.sh` — Builds standalone X11 games in `src/games/` (`snake`, `tetris`). - `./scripts/build-fcitx5-t9.sh` — Builds `src/fcitx5-t9` (`libt9.so` / `t9.so`). diff --git a/CHANGELOG.md b/CHANGELOG.md index e3271b1..e258815 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ Initial public release of **Bananarchy Linux**, focused on complete hardware and ### Base system and hardware support - Alpine Linux Edge (`armv7`) root filesystem hardforked from postmarketOS `v26.06`, tuned for `< 95 MB` idle RAM usage on 512 MB devices. - Mainline Linux `6.12.1-msm8916` kernel with custom drivers and patches for Qualcomm MSM8905 and MSM8909 smart feature phones. -- Full Qualcomm QDSP6/Q6Voice audio routing (`q6voiced`, PipeWire, WirePlumber, and ALSA UCM) for the rear loudspeaker, boosted (+6 dB) front earpiece, internal MEMS microphone, and 3.5mm headset jack. +- Full Qualcomm QDSP6/Q6Voice audio routing (`q6voiced`, PipeWire, WirePlumber, and ALSA UCM) for the boosted rear loudspeaker, boosted (+6 dB) front earpiece, internal MEMS microphone, and 3.5mm headset jack, plus 3-level PM8909 hardware vibration motor control (`pm8xxx-vibrator` and `sxmo_vibrate`). - Custom `msm8905-cam` V4L2 kernel driver for the rear 2MP GalaxyCore `GC2395` camera sensor (`/dev/video0`, `800x600` RGB24). - Custom `leds-msm8905-torch` kernel driver for the rear `SY7807` flashlight LED (`white:torch`), WCD audio codec initialization, and clean PM8909 poweroff. - Custom animated Bananarchy boot splash (`pbsplash`) and shutdown splash, plus automated Qualcomm Sahara/Firehose USB EDL flashing (`flash-edl.sh`) with automatic modem/IMEI partition backup. diff --git a/MANUAL.md b/MANUAL.md index 9244d92..4ca6293 100644 --- a/MANUAL.md +++ b/MANUAL.md @@ -166,7 +166,10 @@ All fifteen phone applications are compiled as shared-object plugins (`/usr/lib/ 8. **File manager (`files.so` / `xfiles`)**: - **Open**: select **Files** from the System menu or press `Mod4+d`. - - **Controls and viewers**: navigate directories with `Up`/`Down`/`Left`/`Right`/`Return`, filter with `0`–`9`, toggle dotfiles with `*`, and cycle sort order (**Name** / **Date** / **Size**) with `#`. Pressing `Return` on an image opens the built-in image viewer (`*` toggles full-screen preview, **Left softkey (`Set Wall`)** installs and applies the image as the desktop wallpaper); pressing `Return` on an audio or tracker file opens it in **Music (`xmusic`)**. The **Left softkey (`Actions`)** menu provides **Preview Image**, **Set as Wallpaper**, **Play in Music Player**, **Set as Ringtone**, **View Text**, **Edit in Nano**, **New Folder**, **New File**, **Rename**, **Copy**, **Cut / Move**, **Paste Here**, **Properties**, **Open Terminal Here**, and **Delete**. + - **Controls and viewers**: navigate directories with `Up`/`Down`/`Left`/`Right`/`Return`, filter with `0`–`9`, toggle dotfiles with `*`, and cycle sort order (**Name** / **Date** / **Size**) with `#`. + - **Image preview and wallpaper installation**: pressing `Return` on any image file (`.jpg`, `.png`, `.bmp`, `.gif`, `.webp`, `.ppm`, `.tif`, `.ico`, `.svg`) opens the built-in image viewer (`*` toggles full-screen preview; **Left softkey (`Set Wall`)** installs the image into `~/Pictures/Wallpapers/`, applies it via `feh`, and refreshes Conky). You can also select **Preview Image** or **Set as Wallpaper** directly from the **Left softkey (`Actions`)** menu. + - **Audio playback and ringtone installation**: pressing `Return` on any audio or tracker module file opens it immediately in **Music (`xmusic`)**. From the **Left softkey (`Actions`)** menu on any audio/tracker file, select **Play in Music Player** to play it in `xmusic`, or **Set as Ringtone** to copy it to `~/Ringtones/` and set it as the active phone ringtone. + - **File management actions**: the **Left softkey (`Actions`)** menu also provides **View Text**, **Edit in Nano**, **New Folder**, **New File**, **Rename**, **Copy**, **Cut / Move**, **Paste Here**, **Properties**, **Open Terminal Here**, and **Delete**. 9. **Camera (`camera.so` / `xcamera`)**: - **Open**: select **Camera** from the System menu or run `xcamera`. @@ -193,7 +196,7 @@ All fifteen phone applications are compiled as shared-object plugins (`/usr/lib/ 13. **Ringtones and ringer manager (`ringtones.so` / `xringtones`)**: - **Open**: select **Ringtones** from the System, Config, or Audio menu, or run `xringtones`. - - **Controls**: preview built-in and user ringtones (`~/Ringtones/`, `~/Music/`) with `*` or **Left softkey (`Play` / `Stop`)**, press `Return` to set the active ringtone, and switch to **`2:Settings`** to configure **Ringer Mode**, **Ring Volume**, **Ring Duration**, **Ring Loop Count**, and **Vibrate Strength**. + - **Controls**: preview built-in and user ringtones (`~/Ringtones/`, `~/Music/`, `/usr/share/sxmo/ringtones/`) at the configured ringtone volume with `*` or **Left softkey (`Play` / `Stop`)**, press `Return` to set the active ringtone, and switch to **`2:Settings`** to configure **Ringer Mode**, **Ring Volume** (`0%`–`100%`, also adjustable in **XDrawer**), **Ring Duration**, **Ring Loop Count**, and 3-level hardware **Vibrate Strength** (`Level 1` gentle `1400 mV`, `Level 2` medium `2100 mV`, `Level 3` strong `3100 mV`). 14. **Desktop wallpaper manager (`wallpapers.so` / `xwallpapers` / `xbackground`)**: - **Open**: select **Wallpapers** from the System, Config, or Apps menu, or run `xwallpapers`. @@ -329,10 +332,14 @@ The `msm8905-cam` kernel module drives the rear 2MP GalaxyCore `GC2395` sensor t rm -f /tmp/frame.rgb ``` -### 5.2 Audio routing and microphone recording +### 5.2 Audio routing, music playback, and microphone recording -Both the rear loudspeaker (`Speaker`) and the front earpiece speaker (`Earpiece`, boosted by +6 dB), as well as the internal MEMS microphone (`Mic1`) and 3.5mm headset microphone (`Mic2`), are managed through PipeWire/WirePlumber and `sxmo_audio.sh`: +Both the rear loudspeaker (`Speaker`, with boosted `RX3 Digital Volume` for loud, clear ringtones and media) and the front earpiece speaker (`Earpiece`, boosted by +6 dB), as well as the internal MEMS microphone (`Mic1`) and 3.5mm headset microphone (`Mic2`), are managed through PipeWire/WirePlumber and `sxmo_audio.sh`: +- **Open an audio file, tracker module (`.mod`, `.xm`, `.it`, `.s3m`), or folder in the native music player (`xmusic`)**: + ```bash + xmusic ~/Music/Bananarchy_Chip.mod + ``` - **List available audio outputs (`Speaker`, `Earpiece`, `Headphones`)**: ```bash sxmo_audio.sh out list @@ -347,7 +354,7 @@ Both the rear loudspeaker (`Speaker`) and the front earpiece speaker (`Earpiece` pw-record --rate=48000 --channels=1 --format=s16 ~/recording.wav ``` -### 5.3 Flashlight (`white:torch`) and keypad backlight (`white:kbd_backlight`) +### 5.3 Flashlight (`white:torch`), keypad backlight (`white:kbd_backlight`), and vibration (`sxmo_vibrate`) - **Turn rear flashlight on or off**: ```bash @@ -358,6 +365,12 @@ Both the rear loudspeaker (`Speaker`) and the front earpiece speaker (`Earpiece` ```bash brightnessctl -d white:kbd_backlight set 255 ``` +- **Trigger PM8909 vibration motor (`duration_ms [strength_1_to_3]`)**: + ```bash + sxmo_vibrate 350 1 # gentle (1400 mV) + sxmo_vibrate 350 2 # medium (2100 mV) + sxmo_vibrate 350 3 # strong (3100 mV) + ``` ### 5.4 Cellular modem, Dual-SIM, and QMI UIM helper diff --git a/README.md b/README.md index f71d04a..399012f 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ bananarchy/ ├── src/ │ ├── sxmo-dwm/ # Patched sxmo-dwm (240x320 bstack, Pango bar, softkey bar, and plugin API) │ ├── dwm-plugins/ # DWM plugins (dialer, calllog, callscreen, contacts, sms, files, camera, -│ │ # themes, modem, networks, ringtones, wallpapers), theme.h, and runner +│ │ # themes, modem, networks, ringtones, wallpapers, music), theme.h, and runner │ ├── xdrawer/ # XDrawer global phone controls DWM plugin (xdrawer.so / xdrawer) │ ├── sxmo-dmenu/ # Resident DWM menu plugin (dmenu.so) and client (dmenu / xdmenu) │ ├── sxmo-st/ # Patched sxmo-st terminal with HarfBuzz Fira Code ligatures and XIM @@ -97,7 +97,7 @@ All components are pre-compiled in `prebuilt/` and `overlay/rootfs/`, and can be # Rebuild cross-compiled Xlibre (X11Libre/xserver) + libinput/fbdev DDX drivers ./scripts/build-xlibre.sh -# Rebuild patched sxmo-st, sxmo-dmenu, sxmo-dwm, and all 13 C++ DWM plugins +# Rebuild patched sxmo-st, sxmo-dmenu, sxmo-dwm, and all 14 C++ DWM plugins ./scripts/build-sxmo-x11.sh # Rebuild standalone X11 games (snake, tetris)