Skip to content

Ship Windows 11 x64 + NVIDIA support #113

Description

@brxs

Summary

Ship a supported Windows 11 x64 desktop build for systems with a supported NVIDIA GPU, distributed as a signed per-user NSIS installer with full LSDJ feature parity.

Dependencies

Optional Windows Stable Audio GPU acceleration is tracked in #114 and must not block this release.

Supported configuration

  • Windows 11 x64.
  • NVIDIA GPU/driver/PyTorch-CUDA floor determined by Spike: validate Apolinario's PyTorch MRT2 port for LSDJ #109 and the production backend qualification.
  • Minimum VRAM, CPU, RAM, and free disk documented from measured results. CPU/RAM matter because Stable Audio uses the TFLite baseline.
  • Signed per-user NSIS installer.

Scope

Audio

  • Validate Refactor LSDJ's cross-platform application foundation #107's shared sample-format/channel/resampling path on WASAPI hosts and make Windows-specific fixes only where required.
  • Support default-device selection/change, shared-mode 48 kHz and non-48 kHz devices, stereo output, and FLX4 four-channel routing.
  • Recover clearly from device removal, format renegotiation, sleep/resume, and default-device changes.
  • Ensure the callback remains allocation-free and model/service work cannot block it.

MIDI and controller behavior

  • Pioneer/AlphaTheta DDJ-FLX4 is the required controller for release qualification.
  • DDJ-400 remains best-effort regression coverage unless separately advertised as supported.
  • Validate WinMM MIDI naming, hotplug/reconnect, transport, mixer controls, jog wheels, LEDs, and required SysEx behavior.
  • Provide actionable diagnostics when another application owns or interferes with a device.

Process and local-service security

  • Use Refactor LSDJ's cross-platform application foundation #107's Windows process-tree lifetime mechanism so normal quit, crash, uninstall, and update leave no Python or GPU worker descendants.
  • Bind local services to 127.0.0.1 only and do not request public network or firewall exposure.
  • Use bounded, credential-redacted logs and clear startup/readiness/crash errors.

Desktop and filesystem behavior

  • Store per-user configuration, models, runtimes, and cache under the defined non-roaming LocalAppData roots.
  • Test with Windows long-path support disabled and with spaces, Unicode, and non-ASCII profile names.
  • Validate titlebar/window behavior, file/folder dialogs, notifications, opener/trash behavior, packaged resources, sleep/resume, and update/restart.

Runtime and model experience

  • Provide a clean first-run flow that installs verified MRT2 and Stable Audio runtimes/models without system Python, Git, a CUDA toolkit, WSL, or shell commands.
  • Use the PyTorch MRT2 backend and TFLite Stable Audio baseline.
  • Show backend, model/runtime state, required storage, driver incompatibility, download verification, and recovery errors clearly.
  • Protect live decks from Stable Audio CPU/RAM load.
  • Test release candidates against current Microsoft Defender definitions and document a response path for false positives; do not promise that third-party antivirus will never flag the app.

Installer and uninstall behavior

  • Produce a per-user NSIS installer with version metadata, upgrade/downgrade behavior, Start menu integration, and clean app-binary removal.
  • Preserve downloaded models, runtimes, settings, and user data by default on uninstall.
  • Offer an explicit, clearly worded checkbox to remove those preserved assets and show the affected storage location/size before deletion.
  • Select and document a WebView2 strategy, including offline/error behavior where bootstrap installation is necessary.

Authenticode signing

There is no current Authenticode certificate/provider or signing service. This issue includes:

  • selecting and procuring a suitable code-signing provider/certificate;
  • defining protected CI identity, key/certificate storage, access, rotation, and incident/revocation procedures;
  • signing and timestamping all executable payloads and the final NSIS installer;
  • verifying signatures and timestamps in CI and failing closed if any required payload is unsigned, invalid, or untimestamped;
  • documenting the expected publisher identity and SmartScreen/reputation limitations.

CI and release pipeline

  • Add Windows compile, unit, path, installer, signature, update, and uninstall tests where hosted CI can exercise them.
  • Keep packaged WASAPI/MIDI/NVIDIA qualification as an explicit real-hardware gate.
  • Add Windows as a required artifact producer to Refactor LSDJ's cross-platform application foundation #107's single-publisher release orchestration; the release must not publish if the Windows producer, signing step, or verification fails.

Documentation

  • Installation, hardware/driver floor, expected publisher identity, Defender troubleshooting, audio/MIDI setup, model storage, uninstall preservation/removal, diagnostics, and known limitations.

Required real-hardware checklist

Record exact Windows build, CPU, RAM, GPU, VRAM, NVIDIA driver, audio device, MIDI controller, security state, and runtime/model revisions.

  • Run both MRT2 decks for at least 10 minutes in 25-frame / approximately 1-second mode.
  • Run both armed decks for at least 10 minutes in 5-frame / approximately 200-ms mode.
  • Require zero engine-reported underruns and capture p50/p95/p99 generation latency, queue depth, WASAPI buffer settings, temperature, and throttling notes.
  • Exercise FLX4 four-channel audio, all required controls, LED feedback, hotplug/reconnect, default-device change, and sleep/resume.
  • Exercise Stable Audio music, SFX, audio-to-audio, continuation, inpainting, Small/Medium, LoRA, cancellation, and long-duration validation while decks remain active.
  • Confirm normal and abnormal app exit leave no worker descendants.
  • Install, upgrade, uninstall with preservation, uninstall with explicit data removal, and validate signatures/timestamps on a clean machine.

Acceptance criteria

  • A fresh supported Windows 11 x64/NVIDIA machine can install and run LSDJ without developer tools, system Python, CUDA toolkit, Git, WSL, or a shell.
  • The installer and every executable payload are validly Authenticode-signed and timestamped under the documented publisher identity.
  • Full MRT2 and Stable Audio feature parity is available under the documented backend limitations.
  • The FLX4 audio/MIDI workflow passes the required real-hardware checklist.
  • Both two-deck scheduling modes pass the 10-minute zero-engine-underrun gate on the published minimum hardware.
  • Uninstall preserves user/model/runtime data by default and removes it only through explicit opt-in.
  • Runtime/model installs, updates, interruptions, and corrupt downloads recover without losing the previous verified version.
  • The central publisher refuses to publish when the required Windows artifact, signing, or verification step fails.

Out of scope

  • Windows 10.
  • Windows on ARM.
  • AMD or Intel GPU support.
  • ASIO-specific support.
  • MSI, Microsoft Store, or portable ZIP distribution.
  • WSL-based runtime support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions