Released20 Sep 2026Commitdb8c8761Line0.10.x

v0.10.0

sigil-app becomes sigil-desktop, with a native Wayland window from GLFW

Notes

Games open a real Wayland window on Linux (or an X11 one, picked when the program starts), link no platform library at all, and draw at the output's real pixel size, fractional scales included. The Sigil API is the one sigil-app had; only the library name changes.

Changes

  • GLFW 3.5.1 is vendored under vendor/glfw with no local patches. One binary runs as a Wayland client or under X11; SIGIL_DESKTOP_PLATFORM forces either. The macOS files are vendored for the day a macOS build exists; the windows-amd64 config cross-builds through zig.
  • Nothing platform-specific is linked. libwayland-client, libxkbcommon, libX11 and friends, libEGL and libGL are loaded at run time, so a game's link set loses libX11, libXi and libXcursor.
  • frame-width and frame-height are framebuffer pixels and follow the output scale on Wayland; mouse-x and mouse-y are in the same pixels. A program with hard-coded coordinates should lay out from them.
  • The library is (sigil desktop). (sigil app) stays for this release as a plain re-export and goes away in 0.11.
  • On Guix and Nix the runtime libraries are found without LD_LIBRARY_PATH: a dlopen defined in the executable looks under SIGIL_LIBRARY_PATH, the active guix shell or nix-shell, and the user and system profiles of both, first hit wins. guix/run-wayland.scm (mesa, wayland, libxkbcommon) is the whole run-time manifest for the window; run-wayland-game.scm adds the audio backend. The resolver is shared with sigil-audio as a recorded copy; both repositories' tests refuse a copy that drifted.
  • include/sigil-desktop.h gives sibling packages the framebuffer size and a GL proc loader; sigil-graphics 0.11.4 builds on it and stops linking libGL.
  • app-run raises "could not open a window" instead of aborting; the frame clock restarts after init; quit-requested? is true inside the frame the close button was pressed in.

Upgrade notes

Relock with name: "sigil-desktop" at the old URL until the Codeberg repository rename lands, delete the consumer's build/ once (a stale sokol-app.o otherwise stays in the archive), then rename (sigil app) imports to (sigil desktop). Building on Guix needs the X11 and Wayland headers in guix/build.scm; keep libglvnd out of run manifests.

Commit

db8c8761

The commit this tag names.

Releases