Configuration
Under the hood Auriya reads two TOML files, both under /data/adb/.config/auriya/
(the app writes these — you don’t have to):
| File | Scope | Full reference |
|---|---|---|
settings.toml |
Global daemon and scheduler defaults | settings.toml reference |
gamelist.toml |
Per-app whitelist and overrides | gamelist.toml reference |
This page is the orientation; the reference pages are the source of truth for every key (type, default, whether the daemon actually consumes it, and evidence).
Dynamic Reload & Directory Watcher
Section titled “Dynamic Reload & Directory Watcher”Auriya features a built-in, low-overhead background Inotify Directory Watcher running on a dedicated thread (auriya-config-watcher) that monitors /data/adb/.config/auriya/:
- Atomic File Detection — Captures both standard
Modifyevents and atomic renameCreateevents (e.g. write-to-temp-then-rename workflows used by Android file writers and editors). - Settings Dynamic Reload — Modifications to
settings.tomlimmediately triggerdaemon.reload_settings()and an instant scheduler tick. Runtime keys likecpu.default_governor,daemon.default_mode, anddaemon.check_interval_msapply on the fly without restarting the daemon. - Resilient Gamelist Reload — When
gamelist.tomlchanges, the watcher safely loads the new configuration into the daemon’s atomic shared memory (Arc<RwLock<Arc<GameList>>>) with a retry loop (up to 3 retries with backoff) to guard against partial in-flight writes, rebuilds the active process whitelist, and wakes the scheduling loop immediately.
How edits reach the daemon
Section titled “How edits reach the daemon”- From the manager app (recommended) — The app writes both files, and for the game list the daemon also rewrites it in response to app commands. The directory watcher detects these updates instantly. This is the primary, supported path and covers every setting.
- From the CLI —
auriyactlmutates the game list over IPC (add-game,remove-game, and rawUPDATE_GAME) and can trigger a settings reload withauriyactl reload. It has no command to edit individualsettings.tomlkeys. See Command reference. - By hand (fallback) — You can edit the files directly with a root text editor.
The directory watcher will automatically pick up your edits and reload them live;
running
auriyactl reloadis also available as an explicit trigger.
Two things to know before editing
Section titled “Two things to know before editing”- Live configuration updates.
cpu.default_governor,daemon.default_mode,daemon.check_interval_ms, and the FAS block ([fas],[dynamic_governor],[modes.*]) are re-read live whensettings.tomlis modified and updated directly viaFasController::set_tuning. The directory watcher safely captures atomic writes. fas.default_modepicks the active[modes.*]. Only the mode it names drives FAS margin/thermal; the other[modes.*]blocks are inactive until selected. See settings →[modes.*].
Invalid values
Section titled “Invalid values”There is no deny_unknown_fields, so unknown keys are silently ignored and
some fields fall back to defaults rather than erroring (e.g. an unknown game
mode resolves to Performance, an unparseable ceiling is dropped). A malformed
settings.toml aborts daemon startup; a malformed gamelist.toml does too,
but a missing game list is treated as empty. Details in the reference pages.
Performance tuning — which values to choose · settings.toml reference · gamelist.toml reference · Profile scheduler.