Important
Report bugs and request features in the Singularity Desktop tracker.
Native hand and gaze tracking for the Singularity Desktop Environment. Camera frames are processed locally and kept in memory. Only numeric calibration data is saved.
This project ships a C library, the singularity-hand-control desktop service,
and the singularity-gesture-lab calibration client.
- Meson >= 1.2 and a C++20 compiler
- SDL2, OpenGL, GStreamer, Cairo, Pango and X11 for the calibration client
- GTK4, gtk4-layer-shell, Wayland and xkbcommon for desktop control
The tracking runtime is downloaded separately and kept outside Git. It uses MediaPipe, ONNX Runtime, and the gaze-estimation MobileOne model.
./scripts/bootstrap-runtime.sh
meson setup build
meson compile -C build
meson test -C build --print-errorlogsRun the calibration client:
./run.shRun the desktop controller inside Singularity Desktop:
./run-control.shLGPL-2.1-only, see LICENSE. Imported Wayland protocols retain their original license notices.