A minimalist terminal emulator for muOS on Anbernic handheld devices, built from scratch in C with SDL2.
Completely vibe coded using Claude Opus 4.6 by Anthropic and Gemini 3.1 Pro by Google — zero prior SDL2 or PTY experience required.
- Full VT100/ANSI escape sequence parser (colors, cursor movement, erase operations)
- 256-color and truecolor (24-bit) support
- On-screen keyboard (OSK) with 3 layers:
abc,ABC,Ctrl - Scrollback buffer (500 lines, configurable)
- Adaptive FPS (30 active / 5 idle) for battery efficiency
- Blinking cursor with left/right navigation in shell input
- muOS yellow color theme
- Configurable via
res/rgterm.ini - Runs
/bin/bashwith full PTY support
Anbernic RG35XXSP running muOS 2601.1 Funky Jacaranda
May work on other muOS-supported devices, but is untested.
| Button | Action |
|---|---|
X |
Toggle OSK (on-screen keyboard) |
Select |
Enter / confirm command |
B |
Backspace |
L1 / R1 |
Switch OSK layer: abc → ABC → Ctrl |
D-pad (OSK visible) |
Navigate OSK keys |
D-pad UP/DOWN (OSK hidden) |
Scroll history |
D-pad LEFT/RIGHT (OSK hidden) |
Move cursor in input line |
Start |
Exit rgterm |
| Layer | Contents |
|---|---|
abc |
Lowercase QWERTY + numbers + symbols |
ABC |
Uppercase QWERTY + F1–F12 + Home/End/PgUp/PgDn |
Ctrl |
Ctrl shortcuts (C-a through C-z, C-[, C-], etc.) |
- Download
rgterm.muxzipfrom the Releases page - Copy it to
/mnt/mmc/ARCHIVE/on your device - Open Applications → Archive Manager and install it
- Launch from Applications → rgterm
# Copy files to your device via SCP
scp -r rgterm res/font.ttf res/rgterm.ini mux_launch.sh \
root@<device-ip>:/mnt/mmc/MUOS/application/rgterm/Make sure the binary is executable:
chmod +x /mnt/mmc/MUOS/application/rgterm/rgterm
chmod +x /mnt/mmc/MUOS/application/rgterm/mux_launch.shOn first launch, res/rgterm.ini is created automatically with default values:
# rgterm configuration
font_path = res/font.ttf
font_size = 14
scrollback_lines = 500
fps_active = 30
fps_idle = 5
idle_timeout_ms = 500
fg_color = 255,200,0
bg_color = 0,0,0
shell = /bin/bashgcc-aarch64-linux-gnu- SDL2 (aarch64)
- SDL2_ttf (aarch64)
- A monospace font at
res/font.ttf(e.g. JetBrains Mono)
# Install cross-compiler
sudo apt install gcc-aarch64-linux-gnu cmake make git
# Clone and build SDL2 + SDL2_ttf for aarch64
# (see BUILD.md for detailed instructions)
# Build rgterm
make clean && make
# Deploy to device
scp rgterm root@<device-ip>:/mnt/mmc/MUOS/application/rgterm/rgtermSee BUILD.md for full cross-compilation instructions.
- Use
/opt/muos/bin/fastfetchfor system info (thefastfetchcommand alone may not be in PATH) C-lclears the screen (Ctrl layer in OSK)C-cinterrupts a running command (Ctrl layer in OSK)- The scrollback buffer stores the last 500 lines — scroll up with D-pad when OSK is hidden
- Screen is 640×480 — some TUI applications (like
htop) may not render perfectly - No mouse support
- No alternate screen buffer (yet)
MIT — see LICENSE
Built for muOS — Custom Firmware for Anbernic handheld devices.
