Headless Mode
Headless mode lets you run Laika without a GUI window, outputting exclusively via NDI® and DeckLink while accepting control through the Web API. No monitor, desktop environment, or GPU required.
Why Headless Mode Matters
Section titled “Why Headless Mode Matters”Not every Laika instance needs a screen attached. In many deployments, Laika runs as a background service on infrastructure that has no display at all:
- Rack-mounted servers in the machine room generating multiviewer outputs for wall monitors
- Cloud instances producing NDI® monitoring feeds for remote production
- Raspberry Pi units tucked behind displays as dedicated multiviewer endpoints
- Distributed monitoring where dozens of Laika instances run unattended across a facility
Headless mode strips away the GUI overhead and lets Laika focus entirely on source processing and output — controlled remotely via the Web API.
Launching Headless Mode
Section titled “Launching Headless Mode”fetch-laika --headlessLaika starts without creating a window. It discovers NDI® sources, applies your saved configuration (layouts, pads, source assignments, captions), and begins outputting via NDI® and any configured DeckLink devices.
Combine with full resolution output:
fetch-laika --headless --fullresThe --fullres flag ensures all sources are processed at their native resolution rather than the default optimised resolution. Use this when output quality is critical — for example, when the NDI® output feeds a recording system or broadcast chain.
What Works in Headless Mode
Section titled “What Works in Headless Mode”Every Laika feature continues to operate without the GUI:
- Source discovery — NDI® sources are discovered and connected automatically
- Layouts — saved layouts apply to the NDI® output composition
- Pads — switch between saved pad configurations via the Web API
- Routing — the NDI® Router creates and manages virtual outputs
- Captions — expression-based captions render on the output stream
- PTZ control — camera control commands are sent via the Web API
- Tally — tally state is tracked and reflected in output overlays
- Audio monitoring — audio meters and routing function normally
Controlling Headless Laika
Section titled “Controlling Headless Laika”All control happens through the Web API. Open a browser or send HTTP requests to:
http://<laika-ip>:1928From there you can switch pads, change source assignments, update captions, control PTZ cameras, manage routes, and adjust any setting — everything you would normally do through the GUI.
See the Web Control API page for full endpoint documentation.
Console Output
Section titled “Console Output”In headless mode, Laika outputs periodic status information to the console:
- Current pad and layout
- Number of discovered sources
- NDI® output status
- Any warnings or errors
This gives you basic visibility when SSH’d into a headless machine or reviewing service logs.
Shutting Down
Section titled “Shutting Down”Press Ctrl+C in the terminal for a clean shutdown. Laika will:
- Stop all NDI® outputs gracefully (receivers see a clean disconnect, not a timeout)
- Release DeckLink devices
- Save any pending configuration changes
- Exit cleanly
System Requirements
Section titled “System Requirements”Headless mode has reduced system requirements compared to GUI mode:
- No GPU required — rendering targets NDI® output directly, no OpenGL/Vulkan needed
- No display server — runs without X11, Wayland, or a connected monitor
- Lower memory footprint — no window compositor or GUI framework overhead
- Can Be Ran as a service — can be managed via systemd, launchd, or any process supervisor
Example Use Cases
Section titled “Example Use Cases”Headless rack server: Install Laika on a 1U server in the machine room. Configure layouts and pads once via the Web API. The server generates NDI® multiviewer outputs that feed wall monitors, recording systems, and confidence displays throughout the facility — all without a keyboard, mouse, or monitor attached.
Cloud multiview: Run Laika on a cloud VM receiving NDI® sources via NDI® Bridge or NDI® Remote. Remote production teams access the multiviewer output through NDI® receivers at their location. Control is handled entirely through the Web API.
Distributed monitoring: Deploy multiple headless Laika instances across a campus — one per building, floor, or studio. Each instance handles local source monitoring and outputs to nearby displays. Control all instances remotely via their Web APIs using curl, scripts, or Bitfocus Companion.