Docs Advanced

Working with multiple displays

Which display LumaSync captures from, how to change it, and the one-capture-source constraint that shapes everything else.

draft This page is awaiting owner review. Content may change.

Which display drives the pipeline

LumaSync captures from a single display at a time. The output of that capture feeds both output paths — USB LED strips and the Hue Entertainment Area — simultaneously. There is no per-target routing in v1.3.1.

Default

  • Single-display setup: LumaSync picks that display automatically.
  • Multi-display setup (first launch): defaults to the primary display — on macOS, the one carrying the menu bar; on Windows, the one marked primary in Display settings.

Changing the source

Settings → AmbilightSource display.

LumaSync enumerates the OS’s displays via its list_displays command and lists each entry with the OS-provided name, its physical resolution, and a “primary” badge where applicable. Pick one; the pipeline rebinds immediately without restarting the mode.

Hot-plug behaviour

When you plug or unplug an external monitor mid-session:

  • Windows and macOS emit display-changed events that LumaSync subscribes to; the dropdown updates within ~500 ms and the current selection falls back to primary if the previously-selected display disappeared.
  • Linux (X11) works similarly if the capture backend receives RandR events. If the dropdown looks stale, reopen Settings → Display to trigger a rebuild.
  • Linux (Wayland) portals don’t expose a hot-plug event stream — you’ll see the new display listed on the next ambilight session restart.

Calibration overlay

The calibration test pattern (Settings → Calibration → Test pattern) is drawn via open_display_overlay on whichever display you’ve picked as the source. Other displays stay untouched. Fullscreen behaviour:

  • macOS uses macos-private-api for borderless fullscreen — enabled in the app’s Tauri config, no user action needed.
  • Windows may render the overlay as a foreground window rather than true fullscreen on some composition driver versions. Functional for calibration but not edge-to-edge.
  • Linux varies by window manager. GNOME and KDE Plasma handle it; tiling WMs may force the overlay into a tile.

What is not available in v1.3.1

Per-target display routing — “drive USB from Display 1 and Hue from Display 2” — is not a shipped feature. The pipeline has one capture source at a time, and both output targets read from it.

If you genuinely need two different sources, the practical workaround is to run two LumaSync instances on the same machine — each with its own ~/.config/lumasync/app.json (by setting a custom data directory per instance). Not officially supported; expect rough edges around tray icons clashing.

Type to search. to navigate, to open.