Released20 Sep 2026Commit7413b674Line0.12.xLateston its line

v0.12.2

sigil-audio plays through miniaudio and links no audio library

Notes

The playback device is miniaudio, vendored and unpatched, and it loads its backend at run time: PulseAudio first on Linux (pipewire-pulse on a PipeWire desktop), then ALSA, then JACK; WASAPI on Windows; CoreAudio on macOS. -lasound is gone, so a game built with sigil-desktop 0.10 and sigil-graphics 0.11.4 has libm and libc as its only shared libraries. The Sigil API gains two predicates and changes nothing else.

Changes

  • (audio-backend) answers the backend in use as a symbol ('pulseaudio, 'alsa, 'jack, 'wasapi, 'coreaudio, 'null, ...) and (audio-device?) whether it is a real one; audio-initialized? keeps its meaning.
  • SIGIL_AUDIO_BACKEND=<name> pins one backend; null is a silent device that still consumes frames, for tests and headless runners.
  • The stream carries the program's name, so a sound server lists the game rather than the library.
  • On Guix and Nix the backend library is found in the active shell or the user and system profiles without LD_LIBRARY_PATH, through the same resolver sigil-desktop uses (a recorded copy; both tests enforce it). With no backend anywhere the mixer runs silent and one line on stderr says so; audio-setup still succeeds.
  • SIGIL_AUDIO_VERBOSE=1 prints the backend, the device and every library the resolver found.
  • Nothing audio-related is needed to build; manifest.scm lists pulseaudio for the device test.

Upgrade notes

Relock to ^0.12.2 and rebuild; delete build/ once if the previous sigil-audio was linked from the same tree. On Guix a game's run manifest adds pulseaudio (see sigil-desktop's guix/run-wayland-game.scm); build manifests no longer need alsa-lib.

Commit

7413b674

The commit this tag names.

Releases