Novolis Docs
novolis-os / runtime-surface.md

Runtime surface

dotnetlinuxdebianruntimenovolis

Map of Novolis library layers to OS packages. Pure managed stacks need only the .NET runtime.

Layer / stackOS packagesManifest
Math, Physics, Simulation, Gaming (managed).NET 10 runtime tarball (dotnet-runtime-10.0 pin)dotnet.txt
ICU / globalizationlibicu76base.txt
TLSlibssl3t64, ca-certificates, zlib1gbase.txt
Avalonia / Skiafontconfig, freetype, X11/xcb, Wayland client, libxkbcommon0, fontsui-graphics.txt
Avalonia 3D / Silk OpenGL / RaylibMesa EGL/GL/GLES, libdrm2, libgbm1, libdecor-0-0ui-graphics.txt
Raylib / game audiolibasound2t64audio-alsa.txt
Appliance displaycage, seatd, linux-image-amd64, systemdappliance.txt

Explicitly not provided

NeedWhy absent
.NET SDKRuntime image only
PulseAudio / PipeWireALSA is enough for Raylib; keeps the graph small
Desktop environmentApps own their windows; cage covers kiosk VM
Windows-only voice / InnoHost those on Windows; not Linux OS scope

Adding a package

  1. Confirm a Novolis library fails without it (document the failure).
  2. Add the exact Debian package name to the right manifests/*.txt.
  3. Update this table.
  4. Run Verify-PackageBudget.ps1 — stay under budget and clear of excludes.txt.