ryoku doctor, roll back a bad update with ryoku rollback, and only then
file a bug. The same ryoku CLI that updates the machine also surfaces every
diagnostic you need.
This page is the problem-first path through the ryoku CLI; the
CLI reference documents every command it uses in full.
Where logs live
For shell issues, restart the shell to refresh its log, then read it:
Self-heal first: ryoku doctor
ryoku doctor runs idempotent reconcilers for the stateful drift the package
and config layers cannot express. Each reconciler reports ok when the
machine matches the desired state, otherwise it converges, proposes the exact
fix, or flags it for a human. A healthy machine is quiet.
--check (or -n) shows the full list without changing anything. Run it
first to see what doctor would do.
To collect a report for a maintainer or for yourself, bundle the findings
with system state (btrfs, swap, failed units, recent journal errors, pacman
state, the ryoku channel state, display and backlight):
~/.local/state/ryoku/doctor-report.txt; it
contains no passwords or keys.
When you want it to reason rather than match rules, ryoku doctor --explain
sends that same report to a cloud model for a root-cause analysis and fix
steps. It is opt-in, advisory, and read-only — it never runs anything, so a
wrong answer can only mislead — and it uses your own key. See CLI
for configuring the key and the provider endpoint.
The reconciler set is broad — the stateful drift a Ryoku machine accumulates
across snapshots, packages, session components, and the generated Hyprland
config — and it grows over time, so the current list lives in
CLI. When something specific breaks, ryoku doctor --check tells
you whether a reconciler already handles it.
A read-only state check
ryoku status answers “is this machine current and healthy?” without
touching anything. It reports the active config base, the installed
ryoku-desktop version, what the [ryoku] repo offers, the count of pending
updates, and the snapshot count.
Recover a bad update: ryoku rollback
Every ryoku update is wrapped in a snapper pre/post snapshot pair. If an
update breaks the system, roll back:
ryoku rollback lists snapshots so you can pick one. The same
snapshots are selectable from the Limine boot menu, so a system that will
not boot back into Hyprland can be recovered from the bootloader instead.
If you cannot reach the desktop at all, drop to a TTY (Ctrl+Alt+F2), log
in, and run ryoku rollback from there.
No snapshots, or ryoku snapshots says the config ‘root’ does not exist
ryoku snapshots printing The config 'root' does not exist. Likely snapper is not configured., an empty Limine snapshot menu, or ryoku status
reporting zero snapshots after several updates all point to the same thing:
the snapper root config is missing, so the safety net never ran. Snapshots
require a btrfs root; the standard ISO install sets the config up
automatically, but a machine that skipped the installer step, was upgraded
from an older install, or drifted can end up without it.
First, confirm the root is btrfs:
btrfs, run ryoku doctor. The snapper reconciler creates
/etc/snapper/configs/root from the same template the installer uses,
registers it in /etc/conf.d/snapper, fixes /.snapshots ownership, and
enables the cleanup timer:
ryoku update then writes a pre/post snapshot pair like any other
run.
If findmnt prints anything other than btrfs, the snapshot feature is
unavailable on this machine and ryoku update will keep proceeding without
snapshots. Rollback from inside Ryoku is not possible there; use your own
backup or a reinstall instead.
The last-resort recovery
When the desktop is too broken to update normally (a corrupt local config, a broken local build),ryoku recovery resets to main and redeploys,
overwriting configs. It hands off to bin/ryoku-recovery, preferring a local
copy and otherwise fetching the canonical script over the network, so it
still works when the local install is broken.
The shell or pill is not drawing
If the pill, sidebar, or other shell surfaces are missing:- A recent
ryoku updateleft the shell out of sync. Runryoku updateagain; if that fails,ryoku rollbackto the pre-update snapshot. - A hand-edited
~/.config/hypr/user.luaor~/.config/hypr/monitors_user.luahas a Lua error.pcallkeeps the rest of the config alive, but you will see the failure in~/.local/state/ryoku-shell.logand inhyprctl monitors. Comment out the line andryoku reload. monitors.luaorgpu.luagot corrupted on a hotplug or GPU reset.ryoku doctorrepairs both; if you can reach a TTY, run it there and log back in.
The login screen is broken
If SDDM does not start or refuses logins, drop to a TTY (Ctrl+Alt+F2), log
in, and start Hyprland directly:
/etc/sddm.conf.d/ directly.
The wrong GPU is being used
Ryoku Settings > Displays > GPU lists every detected GPU and pins the
primary render device through ryoku-gpu. On a laptop the integrated GPU is
the battery-friendly default; pick the discrete or external GPU there to
render the desktop on it. The pin is read at login, so log out and back in
to apply it.
From a terminal:
Only one resolution, or a display change will not apply
Laptop (eDP) panels expose only their native resolution; use the scale options instead. They are labelled with the logical resolution they produce (for example 2048x1280) and are the Wayland way to get a smaller desktop. IfApply toasts a rejection, the compositor refused that mode or scale; pick
one of the offered clean-divisor scales.
Performance feels off
- Animations: Ryoku Settings > Appearance > Animations toggles them.
- Wallpaper backend: turning off animated or video wallpapers is the single biggest GPU win.
- Blur and shadows: Ryoku Settings > Appearance > Decoration tones them down for integrated graphics.
The installer won’t advance past “Disk layout”
Installing alongside Windows and pressing Tab on the Disk layout step does nothing? The alongside layout is blocked, and the screen shows a red⚠
with the reason — almost always no unallocated free space (Windows fills the
disk) or no EFI partition to reuse. Ryoku never resizes Windows, so you make
room first: shrink the Windows partition, then reboot into the installer. The
full walkthrough is in Dual-boot with Windows. On a dedicated
drive, press esc and choose Erase whole disk instead.
Filing a useful bug
Open an issue at github.com/neur0map/ryoku-arch/issues with:- What you did: keystrokes, clicks, or commands.
- What happened: what you saw, including screenshots when relevant.
- What you expected.
- The output of
ryoku statusand a freshryoku doctor --report. Attach~/.local/state/ryoku/doctor-report.txtdirectly; it has no secrets in it. - The relevant log slice. The last 50 lines of
~/.local/state/ryoku-shell.log(after aryoku reload) is usually enough for shell issues.
SECURITY.md, not the public
tracker.
See also
- Updates for the snapshot model and rollback details.
- Customize for the override files that update-safely survive every run.
- Keybindings for the shortcuts that open Settings, reload the shell, and pick a wallpaper.
- CLI for the full
ryokucommand reference. - FAQ for quick answers to common problems.

