Skip to content

Ship Linux x86_64 + NVIDIA support #112

Description

@brxs

Summary

Ship a supported Linux desktop build for Ubuntu 22.04 or newer on x86_64 systems with a supported NVIDIA GPU, distributed as an AppImage with full LSDJ feature parity.

Dependencies

Supported configuration

  • Ubuntu 22.04+ x86_64.
  • Xorg and Wayland sessions.
  • 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, free disk, and audio configuration documented from measured results. CPU/RAM matter because Stable Audio uses the TFLite baseline.
  • AppImage is the only release format in this issue.

Scope

Audio

  • Validate Refactor LSDJ's cross-platform application foundation #107's shared sample-format/channel/resampling path on ALSA/PipeWire hosts and make Linux-specific fixes only where required.
  • Support default-device selection/change, 48 kHz and non-48 kHz devices, stereo output, and the FLX4 four-channel routing used by LSDJ.
  • Recover clearly from device removal, PipeWire restart, suspend/resume, and unsupported format/layout.
  • 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 it is separately advertised as supported.
  • Normalize Linux MIDI port names and test hotplug, reconnect, transport, mixer controls, jog wheels, LEDs, and required SysEx behavior.
  • Document user-group/udev/permission setup where the distribution requires it, with actionable in-app diagnostics.

Desktop integration

  • Validate titlebar/window behavior, file and folder dialogs, notifications, opener/trash integration, XDG paths, and packaged resource lookup.
  • Test spaces, Unicode, and non-ASCII home paths.
  • Validate both Wayland and Xorg behavior on Ubuntu 22.04+.

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, 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.

AppImage and release pipeline

  • Build the AppImage on a sufficiently old compatible Linux base and audit its bundled/native dependencies.
  • Produce artifact checksums and deterministic version metadata.
  • Add Linux 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 Linux producer fails.
  • CI may compile and run platform-independent tests on hosted runners, but packaged audio/MIDI/NVIDIA qualification remains an explicit real-hardware gate.

Documentation

  • Installation, executable bit/AppImage launch, NVIDIA driver floor, hardware requirements, audio/MIDI permissions, model storage, diagnostics, and known limitations.
  • Clearly distinguish supported Ubuntu from community/untested distributions.

Required real-hardware checklist

Record exact OS, kernel, session type, CPU, RAM, GPU, VRAM, NVIDIA driver, audio device, MIDI controller, 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, audio buffer settings, temperature, and throttling notes.
  • Exercise FLX4 four-channel audio, all required controls, LED feedback, hotplug/reconnect, default-device change, and suspend/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.

Acceptance criteria

  • A fresh supported Ubuntu 22.04+ x86_64/NVIDIA machine can install and run the AppImage without developer tools or system Python.
  • 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 on Wayland and Xorg.
  • Both two-deck scheduling modes pass the 10-minute zero-engine-underrun gate on the published minimum hardware.
  • Runtime/model installs, updates, interruptions, and corrupt downloads recover without losing the previous verified version.
  • AppImage metadata, checksums, docs, and third-party notices are present.
  • The central publisher refuses to publish when the required Linux artifact or its checks fail.

Out of scope

  • ARM64.
  • AMD or Intel GPU support.
  • .deb, .rpm, Flatpak, or Snap packaging.
  • JACK-specific support.
  • TensorRT/custom CUDA Stable Audio acceleration.
  • GPG signing beyond the release/checksum mechanism selected by the project.

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