-
Notifications
You must be signed in to change notification settings - Fork 0
Backup and Troubleshooting
Target Systems: Linux REAPER Environments
Key Tools:uninstall.sh,scripts/verify_installation.py,install.py
This runbook details disaster recovery, backup management, automated health verification, and diagnostic steps for resolving common Linux audio workstation issues.
Every installation run of ReaFull creates a full timestamped backup of the target directory before modifying any files:
~/.config/
├── REAPER/ ← Active Configuration
├── REAPER_backup_pre_reafull_20260818_143022/ ← Timestamped Safety Backup
└── REAPER_backup_pre_reafull_20260820_091540/ ← Subsequent Safety Backup
Backups are complete, bit-for-bit copies created via shutil.copytree(..., symlinks=True).
ReaFull provides an interactive recovery utility located at the root of the repository:
./uninstall.shSelect an action:
1. Restore a previous backup (Backup Restore)
2. Uninstall ReaFull components (Themes, FX, Fonts)
3. Delete old ReaFull backups (Free up space)
4. Cancel and exit
- Scans
~/.config/for allREAPER_backup_pre_*directories. - Lists each backup with creation timestamp and disk size.
- Prompts for confirmation before atomically restoring the selected backup, completely reverting REAPER to its exact pre-installation state.
- Safely removes ReaFull color themes (
ReaFull*.ReaperThemeZip) and splash images. - Removes JSFX suites (
Effects/ReaFull Analog FX,Effects/ReaFull Digital FX). - Removes ReaFull scripts (
Scripts/ReaFull). - Removes installed studio fonts from
~/.local/share/fonts/ReaFull/and refreshesfc-cache. - Leaves your user projects, recordings, and custom plugins untouched.
- Deletes historical backup folders to reclaim disk space.
ReaFull includes an automated health check gate located in scripts/verify_installation.py. It runs automatically after every install, but can also be executed manually to diagnose a damaged installation:
python3 scripts/verify_installation.py ~/.config/REAPER| Audit Phase | Verified Criteria | Error Condition |
|---|---|---|
| 1. Template Integrity | Verifies reaper.template.ini, S&M.template.ini, reapack.ini, etc. |
Missing template or invalid placeholder syntax. |
| 2. POSIX Sanitization | Checks all INI files for raw Windows drive letters (C:\..., D:\...). |
Hardcoded Windows paths detected. |
| 3. Placeholder Expansion | Ensures all {{REAPER_CONFIG_DIR}} tokens were replaced with absolute paths. |
Unexpanded {{...}} found in target directory. |
| 4. Asset Verification | Confirms themes (ReaFull Pro), JSFX files, track templates, and fonts exist on disk. |
Missing JSFX files or theme archives. |
| 5. SWS & ReaPack Audit | Verifies UserPlugins/reaper_sws-x86_64.so and reaper_reapack-x86_64.so. |
Missing extension binaries. |
Audio playback crackles, clicks, or stutters during playback or recording.
-
Verify Realtime Limits: Check if your user account has realtime permissions:
ulimit -r -l # Output should show: # max locked memory (kbytes, -l) unlimited # real-time priority (-r) 95 (or 90+)
If not, configure
/etc/security/limits.d/audio.confas described in the Audio Engine Tuning Guide. -
Adjust Buffer Size: In REAPER (Preferences → Audio → Device):
- For recording / live tracking: Set Block Size to
128or256samples (48kHz). - For heavy mixing / mastering: Increase Block Size to
512or1024samples.
- For recording / live tracking: Set Block Size to
-
Check CPU Governor: Ensure your CPU is not throttling:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # If 'powersave', set to 'performance': echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
Latency feels higher than configured, or PipeWire changes buffer sizes dynamically.
Force PipeWire's quantum buffer to a fixed size before launching REAPER:
# Force fixed 256 samples buffer at 48kHz
pw-metadata -n settings 0 clock.force-quantum 256
pw-metadata -n settings 0 clock.force-rate 48000SWS Actions (AutoColor, Loudness analysis, CueBuses) or ReaPack do not appear in the Action List or Extensions menu.
- Run the installer with the
extensionscomponent enabled:./install.sh --components extensions
- Verify that
reaper_sws-x86_64.soexists in~/.config/REAPER/UserPlugins/:ls -la ~/.config/REAPER/UserPlugins/ - Check permissions:
chmod 755 ~/.config/REAPER/UserPlugins/*.so
Theme text looks misaligned or fallback fonts are displayed.
- Reinstall ReaFull studio fonts:
./install.sh --components fonts
- Manually rebuild system font cache:
fc-cache -f ~/.local/share/fonts - Verify font registration:
fc-list : family | grep -E "Electrolize|Orbitron|Roboto|Alarm Clock"
ReaScripts requiring Python fail with "Python not found or not configured".
ReaFull automatically detects libpython3.so in /usr/lib/. If your distribution uses a unique path:
- Open REAPER (Preferences → Plug-ins → ReaScript).
- Enable Enable Python for use with ReaScript.
- Set Custom path to Python dll directory to
/usr/lib(or/usr/lib/x86_64-linux-gnu). - Set Force Python dll name to
libpython3.11.so(or your installed Python version). - Restart REAPER.
Flatpak REAPER cannot access studio fonts or audio hardware devices directly.
Grant filesystem and device permissions to the Flatpak container:
# Allow Flatpak REAPER access to fonts and user audio directories
flatpak override --user fm.reaper.Reaper --filesystem=xdg-data/fonts:ro
flatpak override --user fm.reaper.Reaper --filesystem=homeReaFull v2026.3.0 · Maintained by Jules Martins · GitHub Repository