-
Notifications
You must be signed in to change notification settings - Fork 0
Development and Simulator
Tim edited this page Jun 16, 2026
·
1 revision
The SDL simulator lets you iterate on the UI on a desktop, without a printer or the embedded hardware. This is the recommended way to develop.
- Build the simulator (see Building from Source → step 4a). Add
GUPPY_SMALL_SCREEN=1to the build if you want the 480×272 layout. - Create / point a local
guppyconfig.jsonat a reachable Moonraker instance, and setlog_pathandthumbnail_pathto existing local directories. - Run:
./build/bin/guppyscreen
The binary crashes on startup if the directory in
log_pathdoes not exist (spdlog_ex: Failed opening file ... for writing). Create it first.
- Without a printer connected, the websocket reconnects roughly every 2 s — this is expected.
- The simulator window is 480×800; the small-screen layout only takes effect when compiled with
GUPPY_SMALL_SCREEN=1. - Mouse-wheel zoom works in the 3D bed mesh in the simulator (enabled by the
SIMULATORdefine). - GuppyScreen typically expects to run as
rooton the printer because it talks directly to wpa_supplicant; in the simulator, WiFi features are not exercised.
virtual-klipper-printer runs Klipper +
Moonraker in Docker. After starting it, set moonraker_host to 127.0.0.1 and moonraker_port to
7125 in your simulator guppyconfig.json.
After an initial full build, edit files under src/ and re-run make (with the same flags) to
recompile only what changed. Each screen is a *_panel.cpp; shared helpers (print-state checks,
toasts, confirmation dialogs) live in src/utils.cpp.
-
DEVELOPMENT.md— upstream development notes (toolchains, environment variables, virtual Klipper). -
docs/dev-notes.md— detailed, KE-specific discoveries from building, packaging, and on-device SSH inspection (hardware facts, installer behavior, display orientation, font/layout tuning). This is the most thorough internal reference.
Start here
Get perfect prints
- Calibrate step by step (A→Z)
- Perfect first layer (Axis Twist + KAMP)
- Auto Z-offset: the load-sensor caveat
- Square parts (Skew Correction)
- Quieter steppers (TMC Autotune)
Using the screen
- Screen tour
- Beeps & songs (buzzer)
- Fix layer shift after pause
- Camera: better image
- Camera: H.264 stream
- Troubleshooting