# Running 0 A.D. with Aura Voice Control on Low-RAM Systems (Linux Mint) This guide documents the setup and memory optimization for running **sl5net Aura** voice control alongside **0 A.D.** on legacy or memory-constrained Linux Mint hardware. ## Target Hardware & System Profile - **Device**: Lenovo ThinkPad T520 (Laptop) - **CPU**: Intel Core i7-2620M (Dual-Core @ 2.70GHz - 3.40GHz) - **Memory**: 5.67 GiB RAM - **Swap**: 4 GiB effective swap - **Operating System**: Linux Mint 21.3 Virginia (64-bit) - **Desktop Environment**: Cinnamon 6.0.5 (X11 Display Server) - **Application Target**: 0 A.D. (Empires Ascendant) ## Memory Management & Architecture On systems with ≤ 6 GiB RAM, running a heavy desktop environment, a 3D RTS game (0 A.D.), and speech recognition simultaneously requires strict memory protection: 1. **Vosk Speech Model Priority**: - Uses `vosk-model-small-de` (or language equivalent) for low memory footprint (~300-500 MB). - Vosk model retention is prioritized to ensure real-time command responsiveness during gameplay. 2. **Automatic LanguageTool Eviction**: - LanguageTool's Java process can consume ~1.34 GiB RSS. - When available RAM drops below `CRITICAL_THRESHOLD_MB` (2.0 GiB), Aura's `model_manager` immediately terminates LanguageTool to free ~1.3 GiB RAM for the game. - A 5-minute cooldown (`set_language_tool_cooldown`) prevents LanguageTool from restarting and thrashing memory during active gameplay. ## Verification Commands To inspect system memory and process states: # Check memory and swap usage ```bash free -h ``` # Check if LanguageTool process is evicted ```bash ps aux | grep -i "[l]anguagetool" ```