Troubleshooting
If Gaze is installed but not authenticating reliably, use this page as a quick diagnostic checklist.
1. Daemon is not running
Check the daemon:
systemctl status gazedIf the output says active (running), this part is fine.
Fix:
sudo systemctl enable --now gazedIf it still fails:
journalctl -u gazed -n 200 --no-pagerThat command shows the most recent daemon log messages.
2. Camera is not detected
Use the primary GStreamer camera source first:
[cameras]
rgb = "primary"If you need a specific camera, run gaze config and select one of the detected PipeWire cameras, or set a GStreamer source manually:
[cameras]
rgb = "pipewiresrc target-object=<pipewire-target>"Direct /dev/video* paths are not supported.
Then restart daemon:
sudo systemctl restart gazed3. Enrollment works, auth fails often
Try this sequence:
- Keep
level = "medium"in config. - Improve sample coverage:
gaze refine-face default- Test scores:
gaze auth --verbose- Add a second profile for a common variation:
gaze add-face glasses4. Lock screen does not trigger face auth
Enable or re-enable the extension from your GNOME session:
gnome-extensions enable gaze@gundulabs.com
gsettings set org.gnome.shell.extensions.gaze enable-face-authentication trueOn Wayland, log out and back in after extension install or update.
For GDM login, if the face-auth text appears but the camera light never turns on, check the daemon logs for camera/PipeWire errors:
journalctl -u gazed -bOlder Gaze builds could try to use the selected user's PipeWire runtime before that user session existed. Update Gaze if you see this behavior.
5. PAM auth flow seems broken
Reinstall packages (recommended):
curl -fsSL https://gaze.gundulabs.com/install.sh | shThis reapplies package-managed PAM integration.
6. First run is slow
This is normal when models are downloaded initially.
After first successful run, subsequent auth attempts should be faster.
7. Verify installed version and binaries
gaze --version
which gaze
which gaze-guiWhat these do:
gaze --version: confirms the CLI is installedwhich gaze: shows where the CLI binary is locatedwhich gaze-gui: shows where the GUI binary is located
8. Collect useful logs before asking for help
systemctl status gazed
journalctl -u gazed -n 300 --no-pager
gaze auth --verboseInclude distro version and desktop environment (GNOME/KDE/etc.) when reporting issues.