Skip to content

Repository files navigation

Darling-WSL

Darling-WSL 0.2 packages Darling v0.1.20260608 in a reproducible Ubuntu 24.04 WSL distribution and provides a native Windows lifecycle manager.

Stable support applies to verified installation, versioned updates, rollback, repair, diagnostics, launch, and data preservation. Darling remains a compatibility layer: macOS command and application compatibility is reported separately and not every application is expected to run.

Stable platform scope

  • Windows 11 x64 with Store WSL 2.4.4 or newer.
  • A locked Ubuntu 24.04 .wsl artifact containing the official Darling package set, runtime helpers, package inventory, license, and SPDX SBOM.
  • A self-contained .NET 10 WPF manager and PowerShell headless frontend.
  • ARM64 manager source is built and tested in CI, but stable runtime, manager archive, emulation, and WinGet publication are intentionally refused with upstream unavailable until Darling ships official ARM64 support.
  • Windows 10 is outside the stable support tier.

Manager and control CLI

The English manager provides Overview, Shell & commands, Diagnostics, and Settings pages. It follows the Windows theme and accent, high contrast, keyboard navigation, and screen-reader labels. No telemetry is collected.

Inside the distro, darling-wsl exposes the same runtime state through a versioned JSON interface:

darling-wsl --json status
darling-wsl --json doctor
darling-wsl shell
darling-wsl run sw_vers
darling-wsl --json diagnostics /mnt/c/Users/me/Desktop/darling-wsl-diagnostics.tar.gz

Responses use {schemaVersion, product, command, ok, data, warnings, error}. Diagnostics redact Windows user paths and do not include Linux home or the Darling prefix.

Verified installation and lifecycle operations

A stable release contains an Authenticode-signed manager archive, the architecture-specific rootfs and update bundle, a v2 release manifest with detached Ed25519 signature, SHA256SUMS, SPDX SBOM, source bundle, and build provenance.

Run the headless frontend from a normal PowerShell window:

.\install-darling-wsl.ps1 -Operation Install
.\install-darling-wsl.ps1 -Operation Update
.\install-darling-wsl.ps1 -Operation Repair

The PowerShell frontend downloads the signed manager and delegates lifecycle operations to the same core used by the GUI. The manager verifies the release manifest before selecting and checking the x64 artifact by exact size and SHA-256.

Updates preserve Linux home and the Darling prefix. Before applying a bundle, the runtime stores its package inventory, recovery packages, and helper overlay. The new version is committed only after darling-wsl doctor succeeds; otherwise packages and helpers are rolled back. Repair only restores runtime helpers, package health, WSL wiring, and release metadata.

Default uninstall detaches manager integration and retains the distro. Permanent removal requires -RemoveDistroData, the exact case-sensitive distro name, and can export a VHDX backup first:

.\install-darling-wsl.ps1 -Operation Uninstall
.\install-darling-wsl.ps1 -Operation Uninstall -RemoveDistroData `
  -ConfirmationDistroName Darling-WSL -ExportPath "$HOME\Desktop\Darling-WSL.vhdx"

Build and release

./tests/validate.sh
./tests/runtime-tests.sh

The release pipeline uses Ubuntu 24.04 x64 for the runtime, Windows x64 for stable manager packaging, and windows-11-arm only for the ARM64 source-build gate. It pins .NET SDK 10.0.400 and runtime 10.0.11, requires SignPath Foundation Authenticode signing and release-key secrets, and creates draft GitHub releases only. Publishing a tag or submitting the x64 WinGet manifest remains a separate authorized action.

License

Darling-WSL is licensed under GPL-3.0-only. Darling and other packaged components retain their respective upstream licenses and are recorded in the release SBOM and corresponding-source bundle.

About

Darling-WSL

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages