Skip to content

Releases And Metadata

Wine runtime artifacts are produced with a runtime directory, tarball, checksum, and sidecar JSON.

artifacts/wine-$BUILD_NAME/
wine-$BUILD_NAME-build/
wine-$BUILD_NAME-install/
wine-$BUILD_NAME/
wine-$BUILD_NAME.tar.gz
wine-$BUILD_NAME.tar.gz.sha256
wine-$BUILD_NAME.json

Current names:

BUILD_NAMERelease Name
winehq-11.11wine-winehq-11.11
winehq-11wine-winehq-11
crossover-26.1.0wine-crossover-26.1.0

DXMT is managed as a separate artifact.

artifacts/dxmt-v0.80-builtin.tar.gz
artifacts/dxmt-v0.80-builtin.tar.gz.sha256

The Wine package step writes launcher metadata both inside the runtime and next to the artifact.

<WINE_ROOT>/share/bdhi/launcher-options.json
artifacts/wine-$BUILD_NAME/wine-$BUILD_NAME.json

Metadata selection order:

BDHI_LAUNCHER_OPTIONS_FILE
metadata/bdhi-launcher-options.$BUILD_NAME.json
metadata/bdhi-launcher-options.$PATCH_SET.json
metadata/bdhi-launcher-options.json

The launcher should prefer the manifest inside the unpacked runtime. The sidecar JSON can be used to show release information before downloading. When adding a new runtime flavor, create a dedicated metadata file unless it intentionally shares an existing patch-set manifest.

capabilities in metadata is an internal launcher contract. It should not be exposed as a normal user setting.

The process telemetry capability describes the prefix-scoped FIFO used to send Wine server process table events.

{
"protocol": 1,
"transport": "fifo",
"activationEnvironment": "WINE_BDIH_PROCESS_TELEMETRY",
"pipeEnvironment": "WINE_BDIH_PROCESS_PIPE"
}

Wine only reports process lifecycle facts. The Bob-Ddong-Iri-Hoyo Launcher is responsible for deciding whether a process is an installer, launcher, game, or helper.

WineHQ metadata also declares the HoYoPlay proxy capability. If a declared helper is missing from the artifact, treat the runtime as incomplete and fail clearly.

Process telemetry is not specific to Steam or HoYoPlay. It reports prefix-wide Wine process lifecycle events.

Enable it with:

WINE_BDIH_PROCESS_TELEMETRY=1
WINE_BDIH_PROCESS_PIPE=/absolute/native/path/to/process-events.fifo

Create the FIFO with 0600 permissions. Command lines may contain tokens or user paths, so avoid logging raw payloads. If there is no reader, the pipe is full, or a write fails, Wine should drop the event. Telemetry must never delay or fail a Wine process or wineserver.

Wine runtime archives contain third-party binaries. The repository license and runtime distribution obligations must be handled separately.

The package step writes this license bundle into the runtime.

<WINE_ROOT>/share/licenses/
README.md
BUILD-PROVENANCE.txt
source/
homebrew/
dwproton/
dxmt/

dwproton/ applies when WineHQ Proton extras are bundled. dxmt/ applies only when DXMT is explicitly bundled. Multimedia components such as GStreamer, FFmpeg, x264, and x265 can change with Homebrew updates, so recheck their dependency and license set before release.

Before publishing a release:

  • Confirm that the same patch set replays after clean.sh.
  • Confirm that temporary debug counters, tracing, and local-only patches are not in release sources.
  • Confirm that the tarball, .sha256, and sidecar JSON refer to the same build output.
  • Confirm that share/bdhi/launcher-options.json matches the sidecar JSON.
  • Confirm that share/licenses/ matches the binaries included in the runtime.
  • Recheck the workloads declared by the runtime, such as Steam, Eternal Return, or the HoYoPlay backend.