Skip to content

Investigate Stream Deck+ support on Linux #4

Description

@dinsley

Goal

Determine whether Amp Deck can run reliably on Linux with a Stream Deck+, and identify the host software or driver that can support the plugin's full interaction model.

Elgato's official Stream Deck requirements list Windows and macOS, not Linux. OpenDeck is the leading candidate because it runs on Linux and supports original Stream Deck SDK plugins. OpenDeck v2.13 added full encoder-layout rendering and touch-tap events for Stream Deck+, and its current release is v2.13.1.

Amp Deck already searches conventional Linux locations for the Amp CLI, but its manifest currently declares only macOS and Windows. Do not claim Linux support until the complete plugin has been tested on physical Stream Deck+ hardware.

Questions to answer

  • Can OpenDeck install and launch Amp Deck as an SDK v3 Node.js plugin with Node.js 24?
  • Does the current manifest need a Linux platform entry, an OpenDeck-specific variant, or different packaging?
  • Does the host implement everything Amp Deck uses?
    • willAppear and willDisappear
    • key down/up events and hold progress
    • dial rotation and dial press
    • encoder setFeedback
    • touch taps, including the payload.hold long-touch path
    • key setImage, alerts, URL opening, global settings, and logging
  • Does the continuous four-encoder layout render correctly across the full Stream Deck+ touch display?
  • Do animation updates and shared selection remain responsive?
  • Can the plugin discover and run Amp from ~/.amp/bin, ~/.local/bin, Linuxbrew, /usr/local/bin, /usr/bin, and PATH when launched by a desktop application?
  • Do amp top --stream-jsonl, inventory reconciliation, Open, Review, Ship, and Archive behave the same way as on macOS and Windows?
  • What udev rules, group membership, desktop-session permissions, or Flatpak permissions are required?
  • Can the existing .streamDeckPlugin release artifact be installed directly, or is a separate Linux/OpenDeck distribution path needed?

Software to compare

Record whether each option can host an existing Elgato SDK plugin and whether it supports the Stream Deck+ keys, dials, and touch display. Button-only compatibility is not enough for Amp Deck.

Test matrix

Test on at least one documented Linux distribution with physical Stream Deck+ hardware. Record:

  • distribution, desktop environment, display server, architecture, and kernel;
  • host application and version;
  • installation method and udev configuration;
  • Node.js and Amp CLI versions;
  • pass/fail results for every event, rendering, command, and persistence path listed above; and
  • logs for any incompatibility.

Done when

  • A comparison table identifies the viable Linux host and the limitations of each alternative.
  • Amp Deck has been exercised end to end on a physical Stream Deck+.
  • Required manifest, runtime, permissions, packaging, and installation changes are documented.
  • A support decision is recorded: supported, experimental, or blocked.
  • Follow-up implementation issues or a pull request cover any required code, CI, packaging, and documentation changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededjavascriptPull requests that update javascript codequestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions