Setup and permissions¶
Getting Amri running the first time is short. There is one real permission step, and one command that tells you whether everything is in order.
The one permission step¶
Amri drives games by emitting keypresses, mouse actions, and controller buttons through a virtual input device. Creating that device needs a one-time system permission granted to your user account. On many machines the permission is already present and you do not have to do anything. Where it is missing, Amri cannot inject input until you install the rule.
Install it with:
This installs Amri's copy of the access rule. Log out and back in afterwards (the permission applies at login), or unplug and replug a controller, then launch Amri again.
Why root, once
install-udev writes a system rule, so it needs sudo. It is a one-time
step. The permission persists across reboots, and Amri never asks for root to
run normally.
Running in the background¶
To have Amri run on login and keep listening in the background, install its user service:
This enables and starts the service for your account. It does not need sudo. If
you prefer to launch Amri by hand instead, you can skip this step.
Check that everything is set up¶
Run the built-in check-up:
doctor checks that Amri can inject input on your machine, and reports the most
recent problem it recorded during real use, in plain language. Run it whenever
something is not working.
If the input check fails, doctor points you back at amri setup install-udev.
See Diagnostics for the debug bag and log levels, and
Audio for microphone and device selection.
Where the config lives¶
On first launch Amri seeds engine.toml with defaults. This is your
copy: edit it freely. Amri never overwrites it on upgrade. Every setting is shown
at its default value, the active ones uncommented and the rest commented out, so
removing a # is all it takes to change one.
engine.toml holds engine-level settings such as the profile to start active, log
verbosity, and preferred audio devices. Discover audio device names to put there
with: