Files
gnome-jarvis/docs/troubleshooting.md
T
snxraven 390b2fa098
Rolling release / release (push) Successful in 6m40s
Updates
2026-09-12 14:45:04 -04:00

3.8 KiB

Troubleshooting

gpu-doctor reports no GPU

Confirm the driver and Vulkan/CUDA runtime are installed, then run the doctor under the same graphical user session that will run jarvisd. A host command such as vulkaninfo is insufficient if QVAC itself reports no device. Jarvis will remain available for diagnostics but refuses inference until QVAC sees a GPU.

Voice doctor finds no wake engine

Fresh installs use the built-in CPU detector (jarvis-wake-bridge). If listeningMode is Hold Talk only, or wakeCommand is empty, the detector is disabled. A custom openWakeWord or sherpa-onnx bridge must read raw 16 kHz mono PCM from stdin and write detected phrases, one per line, to stdout. Push-to-talk remains useful for typed or manually triggered testing.

Grant desktop starts RemoteDesktop, then Jarvis connects to EIS with the bundled libei sender. An external JARVIS_LIBEI_BRIDGE is optional. If input still fails, run npm run cu-doctor and confirm libei is installed. Observation does not need the injector: after a grant, cu_observe should return a screenshot and accessibility tree even when pointer injection is down.

Stylesheet parse errcode:15

GNOME Shell's St CSS parser rejects comments that contain --, alpha(var()), and icon-size. If journalctl shows a stylesheet parse error on [email protected], copy the current stylesheet.css into the live extension directory and disable/enable the extension (GNOME 50 cannot ReloadExtension). See brand.

Settings window crashes on accent hex

GTK 4 Gtk.Entry has no maxLength constructor property. The hex field uses entry.get_buffer().set_max_length(7). If an older checkout still constructs maxlength, Settings will abort when opening the Desktop page.

Panel label shows “Jarv…”

The panel used to show the product name and a state chip at the same time, which GNOME truncated. Idle is mark plus Jarvis; busy is mark plus one state chip (Listening / Thinking / Speaking / Privacy). Never both.

The extension is missing

Preferences can open while the panel HUD is gone if the extension is installed but not enabled in the running GNOME Shell. Re-run the installer so it copies the HUD files and asks Shell to enable [email protected]. On GNOME 50 that does not hot-reload; disable/enable the extension or log out if the panel is still gone. The installer also keeps a copy at ~/.local/share/gnome-shell/extensions/[email protected]:

curl -fsSL https://git.ssh.surf/snxraven/gnome-jarvis/raw/branch/main/packaging/web-installer.sh | bash -s -- --enable

Then confirm metadata.json has UUID [email protected] and run:

gnome-extensions enable [email protected]
journalctl --user -b | grep -i jarvis

If the extension still does not appear, log out and back in once so GNOME Shell reloads its extension search path.

The service reports 203/EXEC

Current jarvisd.service starts packaged Bare, not /usr/bin/node. If ExecStart still points at a missing node or Bare binary, re-run packaging/install.sh --enable or the web installer. Check the result with:

systemctl --user cat jarvisd.service | grep ExecStart

The daemon restarts

Inspect journalctl --user -u jarvisd.service. Common causes are a missing Bare binary, invalid QVAC config, missing session D-Bus, missing GPU visibility, or a stale portal grant. Run the three doctor commands before changing model settings. Restarting jarvisd also clears an active desktop grant.

Rolling release did not publish

Check the Gitea Actions log and repository secret name. It must be exactly RELEASE_TOKEN with repository write permission. The workflow only publishes from main; pull requests and other branches run CI but do not replace the rolling prerelease.