Skip to content

Contributing

github-actions[bot] edited this page Oct 29, 2026 · 3 revisions

Contributing

Issues and pull requests are welcome. NebulaScreen is part of NebulaOS; bugs seen on a printer are best reported from the screen (Settings → System → Report a problem), which saves the logs to a USB stick and points to github.com/NebulaOS-KE/NebulaOS/issues.

Workflow

  1. Develop and test against the simulator first, then verify on-device where relevant.
  2. Keep changes consistent with the existing panel structure and LVGL v8 idioms in src/ (each screen is a *_panel.cpp; shared helpers live in src/utils.cpp).
  3. Build the targets your change affects before opening a PR — at minimum the simulator, and the MIPS build for anything that touches on-device behavior or layout.
  4. For small-screen work, build with GUPPY_SMALL_SCREEN=1 and check the 480×272 layout.
  5. Run the host tests: make test and python3 tests/test_nebulascreen_release.py (see Testing).

Issue templates are in .github/ISSUE_TEMPLATE/. CI builds and tests every pull request (.github/workflows/pull_request.yml), see CI.

License

NebulaScreen is licensed under the GNU General Public License v3.0 (see LICENSE and NOTICE at the repository root). It is based on GuppyScreen by ballaswag, also GPL-3. Contributions are accepted under the same license.

Credits & attribution

NebulaScreen builds on the work of:

The Klipper macros and add-ons the guides describe (purge and park, TMC autotune, buzzer macros) are part of NebulaOS-firmware and NebulaOS-klipper-extensions and carry their own credits there.

Upstream GuppyScreen documentation: https://ballaswag.github.io/docs/guppyscreen/configuration/ (written for GuppyScreen; paths and file names differ in NebulaScreen).

Clone this wiki locally