Version 2026 R1
Part 00

Understanding Engage Ops

A short orientation. Read this once and the rest of the manual will make sense whichever part you jump to.

What it is

Engage Ops puts live screens, windows, and cameras onto a display wall over the network. Someone at a desk shares their screen; a second later it is on the wall. An operator decides what goes where. Nobody runs a cable, and nobody installs a capture card.

It is built for rooms that stay on: command centers, network and security operations, dispatch, briefing rooms, live event production.

There are three jobs to be done with it, and this manual is organized around them. You probably only need one.

Sharing something

You want your screen on the wall. Read Part 02. Ten minutes, no background needed.

Running the wall

You decide what appears and where. Read Part 03, and skim Part 02 so you can help contributors.

Installing it

You set the system up and keep it running. Read Part 04 and Part 05.

The pieces

One computer drives the wall. This manual calls it the Engage Ops host. It runs everything: the web console people sign in to, the signaling that introduces contributors to the wall, and the renderer that actually paints the displays.

Operators work in a browser, or in the Control App — the same console in an installed window, without the browser's certificate warning.

Everything else is a browser or an app on somebody's machine — with one exception. A machine with a camera or capture card can run the Capture Device Server, which offers its inputs to the wall for an operator to choose from, with nobody sitting at it. The host runs one for its own hardware automatically. See Capture Devices.

CONTRIBUTORS Browser Windows app Camera OPERATOR Control console ENGAGE OPS HOST Control Signaling Renderer Supervisor THE WALL video + audio layout only DisplayPort
Two separate paths. Video and audio go straight from each contributor to the host and never pass through the operator's browser. The operator's console only sends layout instructions. This is why the wall keeps running perfectly when the operator closes their laptop.
Worth knowing

Because the operator console is just a web page, you can run the wall from a phone, a tablet, or any machine on the network. There is nothing to install to operate a wall.

Canvas, tiles, sources, widgets

Four words appear constantly. They are worth two minutes.

Source
One thing somebody is sending: a screen, a window, a region of a screen, or a camera. One person can send several.
Canvas
The operator's map of the wall. What you arrange in the console is a scaled-down picture of the real displays, so a tile in the top-left of the canvas appears in the top-left of the wall.
Tile
A source placed on the canvas. A source that is connected but not yet placed has no tile and is not on the wall.
Widget
Something Engage Ops generates itself rather than receiving from a contributor. Today that means clocks. Widgets are always available and cost you nothing — see below.

The distinction that trips people up: connected is not the same as on the wall. A contributor can be successfully sharing and still see nothing on the wall, because the operator has not placed them yet.

How much fits

Nine sources on the wall at once, plus four widgets. That is the number to plan a room around.

Separately, twelve sources can be connected. The gap is deliberate and useful: three contributors can be signed in and streaming, ready to go up the moment the operator wants them, without occupying space on the wall.

LimitValueWhat happens at the limit
Sources on the canvas9 A tenth cannot be placed. It stays connected and stays in the source list — remove something from the canvas to make room.
Widgets on the canvas4 Exempt from the nine. A wall can show nine sources and four clocks.
Connected sources12 The next contributor is refused with All renderer slots in use. Their client keeps retrying and joins when a slot frees.
Each layout gets its own nine

Freeform and Grid are counted independently. Nine tiles in your Freeform layout does not use up any of the nine available in Grid, so you can keep both arrangements fully populated and switch between them.

Connected is not the same as placed

This is worth saying twice. A contributor who is streaming happily but cannot see themselves on the wall is usually not experiencing a fault — the canvas is full, or the operator has not placed them yet.

Part 01

Getting Started

One screen on the wall, start to finish. This assumes Engage Ops is already installed — if it is not, do Part 04 first.

First, connect to the console

Everything an operator does happens in the console, so start by getting into it and confirming the wall is running.

  1. Open the console

    On the host machine, or any machine on the same network, browse to:

    https://<host>:8443/control/

    From the host machine itself you are signed in automatically. From anywhere else you will be asked for the Control UI password, which on a new system is password.

    Change it as soon as you have finished looking around — see Access control.

    Seeing a certificate warning is expected on a fresh system. You can click through it for now — see Getting past the certificate warning below for the two clicks. Certificates in Part 04 explains how to make it stop happening at all.

  2. Check the wall is alive

    Look at the physical displays. An idle Engage Ops wall shows a welcome screen with the logo and the address contributors should visit. If the displays are black or the welcome screen only covers one monitor, set up display placement before going further.

  3. Find the PIN and the share link

    In the console, open Settings → Control → Source sharing. You will see a five-digit Source-client PIN and a Source page URL, with a Copy button.

    https://<host>:8443/source/

    Send both to whoever is sharing. That is the whole invitation.

Keep the link and PIN handy

These two are all anybody needs to get onto the wall, and you will hand them out constantly. The PIN changes only when you regenerate it.

Your first source

With the console open and the PIN in hand, put something on the wall.

  1. Share a screen

    On the contributor's machine, open the source page, enter the PIN, and choose Add Source. Pick a screen or a window and confirm. Their tile now says Streaming.

  2. Put it on the wall

    Back in the console, the source appears in the source list down the side. Drag it onto the canvas. It is on the wall before you let go of the mouse.

    If it went up by itself, Auto-place new sources is switched on under Settings → Control → Streams.

That is the whole loop

Share → appears in the list → drag to canvas. Everything else in this manual is refinement on those three steps.

Getting past the certificate warning

On a system whose certificate has not been set up yet, Edge and Chrome both block the page with Your connection isn't private and the code NET::ERR_CERT_AUTHORITY_INVALID. Your browser is saying it does not recognize who issued the wall's certificate — which, on a brand-new install, is true and expected.

It takes two clicks to continue. They are the same in Edge and Chrome; only one word of the link text differs.

The browser certificate warning page. An Advanced button sits at the bottom left, opposite a blue Go back button. Click here
Step 1 — click Advanced. The button is at the bottom left, opposite the blue Go back button. Clicking it expands an extra paragraph and a link. The address is masked in these two captures; you will see your own wall's address in its place.
After clicking Advanced, an extra paragraph appears and a link at the bottom reads Continue to the site, marked unsafe. Click here
Step 2 — click the link at the bottom. Edge words it Continue to … (unsafe); Chrome words it Proceed to … (unsafe). Same link, same result — the console loads.
You will see it again

The exception usually lasts for the browser session, so the warning comes back on other machines, in private windows, and after a browser restart. That is the reason to fix it properly rather than living with it.

Only do this for a wall you know

Clicking through a certificate warning is safe here because you know what is at the other end: your own Engage Ops host on your own network, warning you only because nobody has installed its root certificate yet.

The same warning on any other site means what it says. Do not teach your contributors to click through warnings as a habit — install the root certificate instead, and the warning disappears for everyone permanently.

Part 02

Sharing a Source

For contributors

Getting your screen, a window, or a camera onto the wall. You need two things from whoever runs the wall: a link and a PIN.

Browser or app

There are two ways to share. The browser needs no install and handles most situations. The Windows app does more.

 BrowserWindows app
Install neededNoYes
Whole screenYes, on a computerYes
Single windowYes, on a computerYes
Region of a screen—Yes, drag to select
Camera / capture deviceYesYes
Several sources at onceYesYes
System soundLimited — browser dependentYes
Mixing several audio inputs—Yes, live
Live thumbnails when pickingBrowser's own pickerYes
Choose the encoder—Yes

Use the browser if you are sharing once, from a machine you do not control, or from a Mac or Linux box. Use the app if you share regularly, need system audio, or need to send a region rather than a whole screen.

From a phone or tablet the browser is the only option, and it sends a camera or a microphone rather than a screen — see From a phone or tablet.

Getting in

Three ways, and the operator decides which are available.

With the PIN

Enter the five-digit PIN and you are in immediately. This is the normal path. If you do not have it, the operator reads it off the top of the Settings pane in Engage Ops Control.

With no sign-in at all

From the wall machine itself, or from an address the operator has put on the trusted list, there is no PIN and no waiting: give a name and you are on. Somebody sharing from the machine the wall runs on is already standing at the wall, so reading a PIN off the screen in front of them is a pointless step.

Request to join

No PIN? Choose Request to join, give your name, and wait. The operator gets a notification and approves or declines. You stay on a waiting screen until they answer; approval connects you automatically.

Requests expire after about five minutes. If yours lapses, submit again.

Certificate warning

If your browser warns that the connection is not private, the wall is using a certificate your machine does not trust yet. This is common and does not mean anything is broken. Ask the operator for the root certificate — installing it once removes the warning permanently.

Until then you can continue past it: Getting past the certificate warning shows the two clicks in Edge and Chrome. Operators who run the console every day have a third option — the Control App, which has no warning to click through.

From a browser

  1. Open the link and sign in

    Go to the source page URL and enter the PIN, or request to join.

  2. Add a source

    Choose Add Source. Your browser asks what to share — a whole screen, an application window, or a browser tab. Pick one and confirm.

    To send a camera instead, pick the camera under Video input. To send only sound, choose Audio only.

  3. Check it says Streaming

    Your card should show Streaming. If it says Waiting, the operator has not placed you on the wall yet — you are connected and nothing is wrong.

  4. Add more, or stop

    Repeat for a second screen or a camera. Disconnect all takes everything down at once.

From a phone or tablet

The same page, and the same PIN. What changes is what you can send: phone and tablet browsers have no screen-sharing capability at all — the operating system does not offer one — so the page offers what the device can do, a camera or a microphone, and says in one line why the rest is missing. Nothing is broken and there is no setting to find.

Cameras are listed by which way they face rather than by name, with the back camera first: holding a phone up to show the room, a whiteboard or a piece of equipment to the wall is the common case, not a selfie.

The fastest way onto a wall

Point the phone's camera at the QR code on the welcome screen, open the link, type the PIN, and send the back camera. Nothing to install, no address to read off a screen across the room.

One tab only

Engage Ops allows a single source tab per machine. Opening a second gives you Engage is already open in another tab, with Switch to that tab and Take over. Take over moves the session to the new tab and ends the old one — useful when the first tab is on a monitor you can no longer reach.

Leaving the page ends your share

Closing the tab, navigating away, or letting the machine sleep drops your sources off the wall. Leave the tab open in the background.

From the Windows app

Connecting the first time

Launch the app and it asks you to Connect to your Engage Ops system. Enter the address of the wall, then the PIN. Once accepted the app shows Paired and remembers the system — next launch it reconnects on its own.

Picking what to send

Add source opens the picker, which has three sections:

Displays
Your monitors, with live thumbnails.
Application
Individual open windows, searchable by name.
Devices
Cameras and capture cards, with a live preview. Each one lists every format it advertises — pick the resolution and frame rate you want, and which audio input goes with it.

Click a tile or Full to send the whole thing. Choose Area to drag out a region — only that rectangle goes to the wall.

Sharing straight from the taskbar

On Windows 11, while the app is signed in, hovering any window's taskbar button shows its thumbnail with a Share this window button on it — the same place Teams puts one. Click it and that window goes to the wall without opening the app's picker at all: it is added with the picker's defaults, 30 fps with audio and the cursor included. The thumbnail then reads Stop sharing, which removes it again. A window that is already a source will not be added twice.

If the button is not there

It needs Windows 11 — on Windows 10, or an older Windows 11 build, it simply is not offered and everything else works as usual. You also have to be signed in: with nothing signed in there is no wall to share to, so the button goes away. And Windows itself can switch the feature off for every app, under Settings → Personalization → Taskbar → Taskbar behaviors → Share any window from my taskbar.

Reading the status badges

Each source card carries a badge. This is the most useful thing in the app, because it tells you whether you are actually on the wall.

BadgeMeaningWhat to do
ON AIRConnected and visible on the wall right now. Nothing. You are live.
READYConnected, but the operator has not placed you. Nothing is wrong. Ask the operator if you expected to be up.
PRIVATEYou have paused this source. The wall shows black. Turn privacy off when you want to be seen again.
HELDThe window or region you were sending has gone away. Reselect the window, or remove the source.
Not updating The window you are sending is minimized, so it produces nothing new. The wall is showing your last picture. Restore the window. The operator sees this too.
Not responding Windows says the application you are sending is hung. Wait for it, or send something else in the meantime.
No desktop attached Your remote session was disconnected without signing out, so there is nothing on this machine to capture. Sign back in to that machine.
No new frames Nothing has changed in what you are sending. Normal for a static page or a dashboard. Nothing, unless it should be moving.
Sign in PIN or request Slot check 12 available? Connect media starts In the list operator sees you On the wall placed READY ON AIR refused if full
Connected is not the same as on the wall. Your client says READY as soon as media is flowing; it only says ON AIR once the operator has placed you on the canvas.
If the wall is full

With twelve sources already connected you will see All renderer slots in use. The client keeps retrying by itself and joins the moment somebody disconnects — there is no need to keep clicking.

Sending audio

The Windows app can send your system sound, a microphone, or both mixed together, as a single audio stream. You can add and remove inputs while you are live, and set gain or mute each one independently.

Audio is carried at full stereo quality rather than the voice-optimized, heavily processed audio a conferencing tool would send, so music and alarm tones come through as they actually sound.

A source that sends only sound still gets a tile if the operator places it. It reads Audio Only over a sound wave that moves with what the wall is playing from you — so the room can see at a glance that your feed is alive, and that it is the one being heard.

One audio stream per person

Each connected client sends one audio track. Sharing three screens does not give you three independent audio channels — it gives you one mix. That is what the mixer is for.

Why nobody can hear you

Only one source at a time is audible in the room, and the operator chooses which. If your audio is not coming through, you are almost certainly sending it correctly and a different source currently owns the room's sound. Ask the operator to switch it to you.

Quality settings

The defaults are correct for almost everyone. Engage Ops adapts resolution and frame rate automatically when the network tightens. Change these only for a specific reason.

Resolution
Caps how large a picture you send. Lower it if your upload is constrained.
Frame rate
Leave high for video and moving dashboards; lower it for a static page to free up bandwidth for detail.
Video codec
How the picture is compressed. Leave on the default unless you are troubleshooting with support.
Encoder
Which piece of hardware does the compression. Auto picks for you. Choosing a specific graphics card can help on a machine with more than one.
Sending a 4K screen

High-resolution sources are supported and are scaled to the size of the tile they land in. A source shown in a small tile does not need to be sent at full resolution — if your upload is struggling, that is the first thing to turn down.

Privacy and pausing

Privacy blanks your source on the wall without disconnecting it. The tile goes black, your audio goes silent, and your slot stays reserved. Turning it off puts you back instantly — there is no reconnection and no gap.

Use it when you need to check email, enter a password, or handle something you would rather not put on a wall in a room full of people.

Nothing leaves your machine

Privacy stops the picture before it is encoded. While you are private, no image of your screen is being sent anywhere — it is not just hidden at the far end.

The operator has an equivalent control for the whole wall; see Blank Screen.

When your network drops

You do not have to do anything. Both clients reconnect on their own, waiting a little longer between each attempt, and your sources return to the same places on the wall.

This covers dropped Wi-Fi, an unplugged cable, a disabled adapter, a VPN reconnect, and the wall itself restarting.

What does not come back by itself:

  • A browser tab that was closed — open the page again.
  • A machine that went to sleep — wake it and check the client.
  • A shared window whose application quit — the app marks it HELD; pick the window again.
Across networks

Contributors do not have to be on the same network as the wall. Sharing works across subnets and over a VPN, provided the source page is reachable. If your organization restricts peer-to-peer traffic, the administrator may need to enable a relay — see Network and ports.

Part 03

Operating the Wall

For operators

Everything you do from the console: arranging the wall, letting people in, and keeping it looking the way the room needs it to look.

The console

Open https://<host>:8443/control/ from any machine on the network — 8443 unless an administrator has moved the port. From the host itself you are signed in automatically; from anywhere else you need the Control UI password. On a system nobody has configured yet that password is password, which your administrator should have changed — if it still works, tell them.

Several people can have the console open at once. Everyone sees the same canvas, and a change one operator makes appears immediately for the others.

Open it on a phone and you get a different interface built for a thumb — see The phone remote.

Engage Ops Freeform Grid Staging Environments Blank Screen Logs Users CANVAS — A MAP OF THE WALL tile tile tile empty SOURCE LIST + Add Source Search sources Ops laptop — Screen 1 Podium camera Clock (widget) drag
Three regions. The toolbar sets the mode for the whole wall. The canvas is a scaled map of the physical displays — a tile in the top-left of the canvas is in the top-left of the room. The source list holds everything connected, placed or not; you get things onto the wall by dragging them left.

You can move the source list to the left, right, or bottom edge under Settings → Control → Source list.

The phone remote

The same address on a phone gives you a wall remote, not the desktop console squeezed onto a small screen: the things you do standing in front of the wall, laid out for one hand. It talks to the same system as the desktop console, so anything you change on it appears on every other operator's screen at once.

Which interface a browser gets is decided by what you are pointing with, not by how wide the window is. A touch device with a small screen gets the remote; a desktop window dragged narrow next to another application is still driven by a mouse, so it keeps the full console and simply rearranges itself.

What is on it

Wall
A live picture of the wall with every placed source, and the list of what is on it. Tap a source to manage it. In Freeform you can also arrange it with your fingers: drag to move, pinch to resize. The gesture works anywhere on the preview, not just on the tile, because a tile that small has no room for two fingers. A locked tile can only be selected, not moved. The Freeform / Grid switch and the blank-screen button are here too.
Sources
Everything connected, placed or not, and the way to put one on the wall.
Environments
The same saved layouts as the desktop — which is the point of carrying this in your pocket: you can load Incident from the doorway.
More
Users, Settings, sign out, and Switch to full console for this device.

Tapping a source opens a sheet with its controls: add to the wall, spotlight, mute, name label, lock, permanent, remove. In Grid you also get a cell picker and span controls; in Freeform, snap presets, nudge arrows and smaller / larger.

What it deliberately leaves out

Staging, the projection and renderer-placement editors, monitor alignment, the logs timeline, and the grid's own size are setup and precision work. They stay on the full console, where there is room to do them properly.

The colors of your own console

Three more settings in Settings → Display → Control UI change how the canvas looks to you, and never touch the wall: Preview canvas color fills the wall preview, Letterbox color fills whatever your wall's shape leaves uncovered around it, and Guides color draws the dots and grid lines, following the canvas color by default so the guides stay faint against it. Type a hex value (#1a2b3c) or R, G, B numbers, or click the swatch and pick. Like the theme, these are remembered on that device only — a dark room and a bright office can each have what suits them.

Choosing the interface yourself

Settings → Display → Control UI → Interface: Automatic, Full console or Phone remote. Automatic is the rule above. The choice is remembered on that device only, so putting one phone on the full console does not change anybody else's. The remote's More tab has the same switch.

The wall's layout mode is shared, and the remote respects it

A phone signing in never changes Freeform or Grid on its own. The switch on the Wall tab changes it only when you tap it — exactly like the toolbar switch on the desktop.

The Control App

The console in a browser means a certificate warning on every machine that has not been given the system's root certificate — see Getting past the certificate warning. The Engage Ops Control App is the way around that for the people who operate a wall every day: an installed Windows application that runs the same console in its own window, with no warning to click through and nothing to import into Windows.

It is the operator's counterpart to the Windows source app, and it is a control surface only — there is no + Add Source button in it. Sharing still happens from the source app or the source page, which is what the hint in its place says.

Signing in

  1. Pick the system

    Find systems on my network lists the walls that answer on the local network; or type an address if discovery is not available to you. On the wall machine itself there is nothing to sign in to — it is already trusted, as the browser console is.

  2. Enter the controller password

    The same password the browser console asks for. Remember password is on by default and keeps it in Windows Credential Manager, so later launches show Saved password and an empty submit signs you in.

  3. After that, it opens on the wall

    A remembered system reconnects at launch and goes straight to the console. Sign out ends the session but keeps the saved password, the way a browser does; the × on a saved system forgets both.

Installing it

Copy its folder to the operator's PC — somewhere the signed-in user can read, such as %LOCALAPPDATA%\Programs\EngageOps\Control\, which needs no administrator rights — and make a shortcut to engage-ops-native-control.exe. The ui folder beside it must stay there. There is no installer, and no runtime to add: Windows 11 already has the WebView2 component it needs, and on Windows 10 you may have to install Microsoft's Evergreen WebView2 runtime if the window opens blank.

It needs the control port (8443 by default) to the system. Find systems on my network also needs UDP 47820 on the local network; typing the address works without it.

It removes the warning, not the risk behind it

The app accepts the certificate of the system you connect to, and only that system's. What it does not do is check that the machine answering at that address is the wall you meant — which is also true of clicking through a browser's warning, and is exactly what importing the root certificate would prevent. On a network where somebody could impersonate the wall, they could collect the controller password. Use the app on networks you trust, and import the root certificate where you need the stronger guarantee.

Freeform and Grid

The wall is always in one of two modes, chosen at the left of the toolbar.

Freeform

Put tiles anywhere, at any size, overlapping if you want. Full control, and you do the arranging.

Grid

Tiles snap into an even grid you size yourself — up to 8 columns by 8 rows. Tidy by construction.

In Grid mode, Cols and Rows fields appear in the toolbar. Change them and the wall re-flows immediately.

The two layouts are kept separately

Switching from Freeform to Grid does not destroy your Freeform arrangement. Each mode remembers its own placements, so you can flip between a carefully composed Freeform layout and a quick even Grid, and back, without rebuilding either.

Placing sources

Drag a source from the list onto the canvas. In Freeform, drop it where you want it and drag its edges to resize. In Grid, it snaps to a cell.

To take something off the wall, use Remove on the tile. The contributor stays connected — they return to the source list and can be placed again instantly.

Nine at a time

A layout holds nine sources. With nine placed, a tenth will not go on — remove something first. Widgets do not count toward the nine, and the Freeform and Grid layouts each get their own nine.

Nothing is wrong with the tenth source. It is connected and waiting in the list; the wall is simply full.

Auto-place

Settings → Control → Sources → Auto-place new sources puts every new arrival onto the canvas automatically. Good for an open collaboration session; switch it off when you want to vet what reaches the wall.

In Freeform it does more than place the newcomer. While it is on, Engage owns the arrangement: every source joining or leaving repacks the whole wall into a space-filling layout. You can still drag and resize by hand, but the next repack overwrites that — use Lock on a tile to hold its position and size while the rest keep repacking. In Grid, a newcomer takes the first free cell and the tiles already placed stay where they are.

Lock every tile and there is nowhere to pack

With auto-place on and every tile locked, the next source to connect has no space it is allowed to use. It stays in the source list, unplaced.

Sources that disconnect

When a contributor drops, their tile does not vanish. It becomes a placeholder reading Waiting for connection, holding the spot, so that when they reconnect they land back exactly where they were.

To clear those out automatically, turn on Expire missing sources and set a timeout under Settings → Control → Sources. Off by default — a placeholder is held until you remove it. With it on, the placeholder shows a live countdown to its own removal.

Tile controls

Hover a tile on the canvas and its controls appear. On a small tile they collapse behind the … button.

ControlWhat it does
Mute / Unmute Chooses which source is heard in the room. See the note below — this one has a rule attached.
Lock Freezes position and size so the tile cannot be dragged by accident. Use it on anything that must not move mid-incident.
Permanent Pins the tile to the wall so it cannot be removed. Clear the pin before you can take it down. For the feed that must never be closed by a stray click.
Name label Draws the source's name on the wall itself, so the room can see whose screen is whose.
Spotlight Blows one source up to fill the wall, as large as it will go without distorting it — a source whose shape differs from the wall's keeps its own shape and leaves the rest of the wall empty. Click again to return everything to where it was.
Remove Takes the tile off the canvas. The source stays connected.
Only one source is audible at a time

Unmuting a source mutes every other source on the wall. This is deliberate — nine unmuted screen shares in a control room is noise, not information. So audio is a single choice: whose sound is in the room right now.

Each layout remembers its own audio choice, and audio only plays if that source is actually connected and placed. If a contributor tells you their audio is not coming through, it is almost always because a different source currently owns the room.

An audio-only source on the canvas

A source with no picture can still be placed, and its tile says Audio Only over a sound wave. The wave follows what the wall is actually playing from that source, which makes it a live check on the room's sound: it moves while you can hear it, and sits flat while the source is silent, muted, or off the canvas. A flat wave on the source you just unmuted means the contributor is sending silence, not that the wall dropped it.

Name labels

Text size and scroll direction for the on-wall labels are under Settings → Control → Name labels. Set these once for the room — from twenty feet away the default may be too small.

When a source stops updating

A source that has stopped producing new pictures does not look any different on the wall: capture keeps re-sending the last frame it had, so the tile is a perfectly healthy stream of a picture that may be minutes old. Nothing at the wall can work that out for itself, so sources report it, and the console puts a badge on the card and on the tile.

The badges come in two kinds, and the difference is deliberate.

Something is wrong, and we know what

Not updating
The captured window has been minimized. It produces no frames while it is, and the wall is showing the last picture it made. Ask the contributor to restore the window.
Not responding
Windows reports the captured application as hung. The wall is showing the last picture it made before it stopped answering.
No desktop
The source machine has no desktop to capture — a remote session was disconnected without signing out. Nothing composites there, so no capture of any kind can produce a frame. Somebody has to sign back in to that machine.
Region held
The display a region was drawn against is no longer at that resolution, so the source is holding the region rather than streaming whatever reflowed into it. The contributor reselects the region.

A statement of fact, not a fault

No new frames · 12 min
No new pixels for that long, and no reason available. This is exactly what a genuinely static source looks like — a dashboard, a slide, a status board — so it is reported without alarm. If that source should be moving, it has stopped; if it is a wall-mounted duty roster, it is doing its job.
Private
The contributor has privacy on and the wall is showing a PRIVATE card. Real pixels never leave their machine while it is on.

Times are coarse on purpose — "a few seconds", "5 min", "1 hr 20 min". They are read to answer is this stuck, and they are stamped by the source's own clock, not the wall's.

No badge is not a clean bill of health

A source client older than this feature never reports at all, and a source that says nothing is shown as saying nothing rather than as healthy. What a badge tells you is positive information; its absence is not.

The source list

Everything connected, split into Sources and Widgets, each with a count so you can see how close to the limit you are.

  • + Add Source opens the source-join page in a new tab — a quick way to put something up from the operator machine itself.
  • + Add Capture Device puts a camera or capture card that is plugged into some other machine onto the wall. Once you have some it reads Manage Capture Devices. See Capture Devices.
  • Search matches on source name, contributor name, or internal ID.
  • Sort reorders the list; useful once you are past a handful of sources.

Two bulk buttons sit at the top of the panel. They are not the same button with different wording, and the difference is the whole point:

Remove All
Clears the layout you are looking at. Tiles come off the canvas; every source stays connected and can be placed again from the panel whenever you want. The other layout is untouched, and pinned (Permanent) tiles are left where they are — which is why the button grays out on a layout holding nothing but pinned tiles.
Delete All
Disconnects every source and clears both layouts. It takes pinned sources too, and says so before it does. Widgets are left alone. You are asked to confirm, and the confirmation holds the button for a moment on purpose.
Delete All is not undo

It disconnects contributors, not just their tiles. Everyone has to share again. Remove All is the one that clears the wall without costing anybody their connection, and Environments is the one to reach for if what you actually want is a different arrangement.

Capture Devices

A Capture Device is a camera, capture card or audio input plugged into some other machine, put on the wall by you rather than by whoever sits at that machine. Nobody has to be at the far end: the operator picks the device and it starts streaming.

A machine offers its inputs by running the Capture Device Server, and there are two ways that happens:

This system
The Engage Ops host offers its own hardware with nothing to install and nobody to log in — it is started and supervised along with everything else. A capture card in the wall machine is available the moment the system is up.
Any other PC
Install the Capture Device Server on it. Somebody signs it in to this system once, the same way a contributor signs in, and from then on its inputs are offered to you. It has a small window listing what it is currently sending and a Close button; closing it does not take anything off the wall.

+ Add Capture Device in the source panel opens the picker. It lists every machine that is offering devices, grouped by machine, with the connection slots you have left across the top.

Online / offline
Each machine says which it is. An offline machine stays listed rather than vanishing — its sources are still on your wall — but nothing under it can be added while it is away. Remove this machine is there for one that is never coming back; it forgets the machine and deletes its sources.
Checking which devices are free
The machine is asked what it can actually open. A device another program already holds comes back unavailable, with the reason the machine gave.
Capture mode and audio
Pick the format the device should run at, and whether to bring in the audio paired with it, a different input, or none. Both can be changed later from the device's card.

Add one and it becomes a card in the picker's first pane and a source in the panel — connected, but not placed. Drag it onto the canvas like anything else. Rename it, change its mode, or take it off the wall from its card.

Inputs on that machine, not on yours

The picker is the easiest screen in the console to misread. It lists what is plugged into each remote machine. The camera on the laptop you are operating from is not here — that one you share the ordinary way, through the source page.

They come back on their own

A Capture Device is remembered. Restart the system and it republishes itself without anyone touching the machine it lives on — unlike a contributor's share, which needs the contributor to share again. It uses a connection slot and, once placed, a canvas slot, exactly like any other source.

Approving requests

If Request-to-Join is enabled, contributors without the PIN can ask to share. A chip appears in the toolbar when someone is waiting; click it to see the requests, each with the name they gave.

Approve and they connect automatically. Decline and they are told. Requests expire on their own after about five minutes.

To turn the feature off entirely and require the PIN for everyone, use Settings → Control → Request-to-Join. The same place holds rate limits that stop a single machine flooding you with requests.

Blank Screen

Blank Screen in the toolbar hides every source on the wall at once. The room sees nothing; you keep your previews in the console and can carry on arranging. Click again to bring it all back.

Use it when someone walks into the room who should not see what is up, or while you rebuild a layout you would rather put together unobserved.

Nobody is disconnected

Blanking is visual only. Every contributor stays connected and keeps their slot, so restoring is instant.

Designing what a blanked wall shows

By default a blanked wall falls back to its ordinary background. It can show something of your own instead — a holding card, a logo, Session in progress — which is better than a blank wall in a room people walk into and wonder whether something is broken.

Switch on Settings → Display → Blank screen → Custom blank screen, then open Customize. You build the screen out of layers on a preview of your wall:

A background
One, underneath everything, and the same choices the wall background offers: a gradient, an image, or an animated shader.
Up to nine text and image layers
In any mix. Text has its own size, color and alignment; an image has a choice of how it fits its box, and a PNG keeps its transparency, so a logo sits directly on whatever is under it. Both can be rotated and given a shadow.
Placing them
Drag a layer on the preview, or nudge it a wall pixel at a time with the arrows. Layers snap to each other's edges and corners as you drag, with guides showing what they lined up against — including layers you have rotated to the same angle.

Nothing reaches the wall until you choose Apply to wall, so you can drag a caption around without the room watching you do it. If the wall is blanked while you are working, Apply shows the result immediately.

The design is kept when the feature is off

Turning Custom blank screen off does not discard your layers — a blanked wall simply goes back to its ordinary background until you turn it on again. Worth knowing: the canvas test pattern covers the blank screen while it is on.

Widgets

Widgets are sources Engage Ops generates itself. Today that means clocks. They behave like any other source on the canvas — drag, resize, place — but they are always available and cost you neither one of the nine on-wall slots nor one of the twelve connection slots.

Widgets have a pane of their own. Two ways into it:

Settings → Widget
Reads back how many widgets are defined and how many are switched on. The button opens the pane.
The gear on a widget's card in the source list
Opens the pane on that widget, already selected — you have already said which one you mean by clicking it.

The pane lists every widget down the left, each with a dot showing whether it is on, and + Add date & time widget below the list with a count beside it. Four is the limit. Select one and the right-hand side is that widget in full:

Name
What the source list calls it, and what the on-wall name plate shows.
On / Off
Off stops generating it: it leaves the wall and the source list. The definition stays, and stays editable — setting a widget up before switching it on is the normal order of things.
Delete
Removes the definition, and the widget with it. You are asked to confirm. To keep a widget but take it off the wall, switch it off instead.
Time zone and caption
The point of having four: a row of clocks for the regions you cover, each captioned with its city.
Clock
Digital or analog, with optional seconds and date, and a choice of date format.
Appearance
Tile shape, font, bold, and colors for the time, for the date and caption, and for the background.

Under the name, one line says where that widget currently is — switched off, starting up, waiting in the source list, or placed on the wall — so a widget you have not placed yet is never mistaken for one that is not running.

Saved with your environments

An environment saves the full definition of every widget it was saved with, so loading one brings its clocks back as they were even if the widget has since been changed or deleted.

Staging

Staging lets you build a layout without the room watching. Click Staging, choose whether you are staging a Freeform or a Grid layout, and arrange it off-air. Commit it and it replaces the live layout of that type and becomes the active mode.

This is the tool for a planned transition: build the next configuration during the current briefing, then switch in one action.

Staging survives a reload

A staging session lives on the server, not in your browser. Refresh the page or hand off to another operator and the draft is still there.

Environments

An environment is a saved layout you can bring back later: the mode, every placement, the grid size, and the per-tile settings such as pinned, labeled, and which source owned the audio. Thumbnails are saved with it, so the list is browsable months later.

Save the layouts your room actually uses — Morning brief, Incident, Handover — and load one instead of rebuilding it under pressure. The pane closes itself once a save lands, putting you back on the wall you just captured; if the name is already taken it stays open and asks.

Loading an environment when sources are missing

An environment records which sources were placed. Load it when those contributors are not connected and their tiles come back as placeholders waiting for them. As each one reconnects, they drop into their saved position automatically.

A placeholder holds a connection slot just as a live source does, so an environment with missing sources can push the wall past the 12-source limit. When it would, the Load confirmation names every source it has to remove to make room — offline placeholders first, then the longest-connected sources. Nothing the environment itself uses is ever removed. Cancel if a source on that list is one you need.

What an empty wall shows

Four things can occupy a wall with nothing placed on it, all under Settings → Display.

Welcome screen
The default. Shows the logo, the address contributors should visit, and a QR code for it, so anyone walking into the room can get onto the wall without typing anything. Customizable — see below.
Wall background
What sits behind your tiles. Set it to something the room reads well against.
Screen saver
Kicks in after a set number of idle minutes. Several styles, including a plain clock on black.
Canvas test pattern
For commissioning. Turn it on to check every display is aligned, correctly ordered, and showing the right part of the canvas — then turn it off.

The QR code

Under Settings → Display → Welcome screen → Customize, alongside the wording and the logo. Someone in the room points a phone at it and lands on the source page; on a phone that means a camera straight to the wall, with nothing to install and no address to read across a room.

In the card
The default: under the address, in the middle of the screen. Best on a single display.
Custom position
Drag it in the preview to wherever works best in the room, or select it and use the arrow keys. The card shortens and recenters to stay out of its way.
Move around the screen
Every ten seconds the code disappears and comes back somewhere else in the empty space around the card. Useful on a big wall where one fixed corner is awkward to reach. It overrides the position above.
A code split across a bezel cannot be scanned

So a QR code placed outside the card always lands wholly inside one display, wherever you drop it — the preview outlines the displays your wall spans and snaps the code to a spot that works. If there is no empty space big enough for it, the wall keeps it in the card instead; a smaller text size usually makes room. In projection mode there are no display edges to respect, so put it wherever it scans most easily.

The animation at switch-on

A five-second Engage Ops animation plays across the wall when the system cold-starts, then fades into whatever the wall normally shows. It is drawn on the canvas itself, so it is geometrically correct on a projection wall and remote viewers see it on Live View too.

It is deliberately not replayed when the wall software restarts itself after a fault — a recovery that takes seconds should look like one. So an unexpected animation means the machine rebooted, which is worth knowing.

Live View

Live View streams the whole composited wall to a browser, so people who are not in the room can watch what the room sees.

https://<host>:8443/liveview/

It is one view of the entire wall, not individual sources, and it is view-only — a Live View viewer cannot rearrange anything.

Treat the Live View link as sensitive

Anyone who can reach that URL can see everything on the wall, including sources shared by people who assume they are only visible in the room. Confirm who has access before you hand the link out.

Part 04

Install & Administration

For administrators

Setting up an Engage Ops host, and the settings you will touch once and then leave alone. This part assumes one host driving one wall.

Requirements

 Requirement
Operating systemWindows 11
Graphics A GPU supporting Vulkan 1.3 with a hardware video decode queue. NVIDIA, AMD, and Intel are all supported; a discrete GPU is preferred and is chosen automatically when present.
Displays Any arrangement, from a single screen to a multi-monitor wall, attached to the host.
Network Reachable from contributor machines on TCP 8443 by default — the port is configurable. Contributors may be on other subnets or a VPN.
Contributor machines Browser sharing: any current browser. The native app: Windows.
Sizing the GPU

Decode load scales with the number and resolution of sources on the wall, not with the wall's pixel count. A wall showing nine 4K sources needs materially more decode capacity than one showing four. Sources that are connected but not placed cost almost nothing — they decode as low-rate thumbnails for the source list. Size for the busiest layout the room will actually use.

Installing

Engage Ops is delivered as a Windows installer. Run it on the machine that will drive the wall and accept the defaults — there is nothing to decide during setup. Everything that needs configuring is configured afterward, from the console.

When it finishes, go straight to the first-boot checklist. That is where the real setup happens.

Upgrading

Run the new installer over the existing one. Your configuration, PIN, saved environments, and display placement live outside the install directory — see Files and locations — so they carry across.

Machines with cameras and capture cards

Nothing extra is needed on the host: it offers its own capture hardware by itself. To offer the inputs of another machine — a podium PC with a document camera, a rack machine with an HDMI capture card — deploy the Capture Device Server to it and sign it in once. After that an operator picks its devices from the console without anyone going back to that machine. See Capture Devices.

First-boot checklist

In order. Each step assumes the one before it.

  1. Open the console on the host

    Browse to https://localhost:8443/control/ on the host machine. Connections from the host are trusted automatically, so you are signed in without a password — which is how you get in before a password exists.

  2. Change the Control UI password

    A new system ships with the password password. Anyone who can reach the host on the network can sign in and take over the wall with it.

    Change it at Settings → Control → Control UI password. Leave Current password as password, set the new one, and confirm.

    Do this before the host goes onto a network anyone else can reach. While the default is still in effect the console keeps reminding you, including on the host itself.

  3. Place the renderer across your displays

    Settings → Display → Renderer window placement. This is the step that turns a pile of monitors into a wall. See Display placement.

  4. Set up the certificate

    Either import a certificate from your own authority or generate the default one, then distribute the root to client machines. See Certificates. Doing this now saves every contributor a scary browser warning later.

  5. Set the public address

    Settings → Network → Public address → Public URL. This is the address Engage Ops hands out in share links and shows on the welcome screen. Without it, the console guesses from your own browser's address bar, which may not be reachable from where your contributors are.

  6. Note the PIN and test a share

    Settings → Control → Source sharing. Share a screen from a second machine and confirm it reaches the wall before you call the install done.

  7. Decide the join policy

    PIN only, or PIN plus Request-to-Join. See Access control.

  8. Only if contributors will come from outside this network

    Set up STUN and the TURN relay, and prove the relay works before you need it — a relay that was never tested is indistinguishable from one that was never configured. Reaching the wall from outside. Skip this entirely if everyone shares from the same network as the wall.

Display placement

The renderer runs as one borderless window stretched across the displays that make up the wall. You define that window in Settings → Display → Renderer window placement, using a visual editor showing your monitors as the system reports them.

The placement is remembered along with a record of the monitor arrangement it was set for. If the arrangement later changes — a display is unplugged, reordered, or its resolution altered — the saved placement no longer matches and the renderer falls back to covering the primary display only.

One wall shows up as one display

A wall on the primary monitor alone is the classic symptom of a changed monitor arrangement. Open the placement editor and set it again; nothing is broken.

Commissioning aids

Canvas test pattern and Align displays to grid, both under Settings → Display, exist for exactly this job. Turn the test pattern on while you set placement, confirm each panel shows the part of the canvas you expect in the order you expect, then turn it off.

Wall audio output

Whichever source currently owns the room's audio, the wall plays it through one output device, configured under Settings → Audio.

Device
default lets Windows pick, which is almost always what you want. Name a device only to pin the wall to a specific output — an audio interface that must be used regardless of what Windows has decided is default this week.
Sample rate
48 kHz is what the media transport carries, so nothing is resampled. Higher rates buy no quality for streamed audio and cost CPU.
Channels
Two for ordinary stereo playback.
Jitter buffer (ms)
How much audio is held before playing, to absorb network jitter. It is also how far audio lags the wall's video, because the render loop does not compensate for it. 40 ms is the tuned default — raise it only if audio breaks up, and expect visible lip-sync drift well before you reach the maximum.
Takes effect at the next restart

The renderer opens the output device once at startup, so these are saved immediately but applied later. Use Restart Engage Ops System on the Control tab, or leave it for the next restart.

Certificates

This is the single most common source of support calls, and it is worth twenty minutes on install day.

Everything runs over HTTPS. A browser trusts an HTTPS server only if the server's certificate was issued by an authority the browser already trusts. A fresh Engage Ops host issues its own, from its own private authority, which no machine has heard of — so every browser warns.

ON THE HOST Root authority private to this wall Server certificate expires, gets re-issued signs ON EVERY CLIENT MACHINE Trusted Root store install the root here, once No warning, now or after re-issue trusts download once presented on every connection Install the root, not the server certificate — the root keeps working when the server certificate is renewed.
Install the root, once per machine. Trusting the root means every certificate it issues is trusted, including future re-issues. Trusting the server certificate directly buys you nothing past its expiry date.

Everything below is in Settings → Certificate.

Option A — use your own certificate

If your organization issues certificates, use one. Under Import a certificate, supply the certificate file, the key file, and the key password if it has one. Applying it restarts the control service: your console page disconnects for a few seconds and needs a reload. The wall keeps displaying throughout — the renderer is never restarted for a certificate change.

Make sure the certificate covers the name people will actually type. A certificate valid for the wrong name warns in exactly the same way as no certificate at all. The Valid addresses section lists the URLs your current certificate genuinely covers, and flags the ones that will still warn.

Option B — use the built-in authority

Generate default certificate creates a private authority and a server certificate from it. Then, under Certificate for client, use Download root or Copy download link and install that root on every machine that will view or publish to the wall.

On Windows: open the downloaded file → Install Certificate → Local Machine → Trusted Root Certification Authorities.

Nothing renews this for you

There is no automatic renewal. When a certificate lapses, every browser starts warning and source clients quietly stop connecting — a failure that looks like a network problem, not a certificate problem. The Certificate tab shows days remaining and warns under 30 days. Put the expiry date in whatever calendar your team actually reads.

Do it before you onboard people

Distributing the root on install day is a few minutes of work. Doing it after fifty contributors have learned to click through a security warning is a much harder conversation.

Operators have another way around the warning

The Control App runs the console without one, and without anything being installed into the Windows certificate store. It is for operators, not contributors — and it is not a substitute for distributing the root, because it accepts the certificate at the address you give it rather than proving the wall is the wall. On a network you do not control, distribute the root.

Network and ports

PortNumberWho needs it
Control, console, sharingTCP 8443 The default, and the one port that must be reachable — every operator and every contributor uses it. Serves the console, the source page, Live View, and the signaling that sets up connections. It can be moved; see Changing the port below.
DiscoveryUDP 47820 Optional. Lets clients find walls on the network without being told an address.
MediaDynamic UDP Audio and video negotiate their own ports directly between contributor and host.
Relay listenerUDP + TCP 3478 Only with the built-in relay on. Carries both STUN and TURN — one port for every client, not one per source.
Secured relay listenerTCP 5349 Optional, and the one that works from networks that permit nothing but outbound TLS. Uses this system's certificate.
Relay rangeUDP 8081–8104 One port per relaying source while it is connected. Defaults to 24 ports; set under Network → TURN relay → Ports.

Public URL

Settings → Network → Public address. Set this to the address contributors should use. It is what share links contain and what the welcome screen displays. Leave it unset and Engage Ops falls back to guessing from the operator's own browser — often an address that only works inside one subnet.

Changing the port

8443 is a default, not a fixture. Settings → Network → Server holds the addresses this system answers on.

Control server port
The port this console, the source clients and every paired device reach the system on. The button reads Apply and restart: Engage Ops restarts, and the console moves itself to the new address — a banner at the top of the window carries the new link. The console will not accept a port browsers block outright, warns on ports below 1024, and refuses to let the control and signaling ports collide. If a Public URL is set, it wins over this port in every address Engage Ops hands out, Live View included — so change its port to match, unless a router or reverse proxy maps one port to the other. The console warns beside this field while a public URL is set.
Redirect http:// to https://
Offered only when the control port is 443. Answers plain http:// on port 80 with a redirect to this system's https address, so someone who types the bare host name lands on the portal instead of a browser error. Port 80 has to be free — Engage Ops checks when you apply and will not take it from another program. On any other port there is no https address an http:// caller could have guessed, so the option is not offered. A port and a protocol cannot share one socket: http://host:8443 can never be redirected to https://host:8443.
Signaling port
Internal, loopback only — browsers never reach it directly, they go through this system's own address. Change it only if something else on the machine already holds the port.
Diag interval (ms)
How often CPU, memory, disk and network figures are sampled for the diagnostics overlay. Applies immediately, no restart.
The port is in everyone's address

It is part of every URL you have handed out: the console, the source page, Live View. Clients that found this wall through discovery follow it to the new port on their own; anyone working from a typed address or a bookmark has to be told. Change it during commissioning if you are going to change it at all.

When peer-to-peer is blocked

Media normally flows straight between contributor and host, and on one network that always works. Contributors coming from outside it may need help, and sometimes a relay. That takes some setting up — see Reaching the wall from outside.

Reaching the wall from outside

Audio and video do not travel through the console or the web server. Each contributor's media goes straight to the wall machine, which is why one host can carry a dozen sources. For that to happen the two ends have to find a path to each other, and on a single network they always do.

From outside — another site, a home connection, a guest VLAN, a phone on cellular — both ends sit behind routers that hide their real addresses. Engage Ops has two mechanisms for this, and they are not alternatives: STUN finds a direct path, and the TURN relay carries the media when there is no direct path to find. Both are under Settings → Network.

Do you need any of this?

If every contributor is on the same network as the wall: no. The defaults already work and nothing described here is consulted. For contributors from anywhere else: STUN at minimum, and the relay as well if their network blocks direct paths outright — which many corporate and hotel networks do.

STUN — finding a direct path

A STUN server does one small thing: it tells whoever asks what their address looks like from the outside. Both ends ask, trade the answers, and try to meet in the middle. It is cheap, it is quick, and when it works the media goes direct, with no load on your host at all.

Settings → Network → STUN holds the list that every client, and the wall itself, is given:

The built-in servers
Two Hiperwall-operated servers, marked built in. They cannot be removed, but the checkbox beside each one takes it out of use — prefer that to deleting, so you can fall back later.
Adding your own
stun:host:port, or just host:port; the port defaults to 3478. Host names, IPv4 addresses and bracketed IPv6 addresses are accepted, and anything else is refused with the reason. Up to eight of your own.
What several of them do
They are asked all at once, not in turn. An extra server is a backup rather than a delay, and one that is down costs nothing. There is no reason to prune the list for speed.

Changes apply to new connections immediately — nothing restarts.

Turning them all off

The console warns when nothing in the list is in use, and the warning is worth heeding: contributors from outside can then only connect through the relay, and if the relay is off too, they cannot connect at all. Switch the built-in servers off only when you have put your own in their place — or when the relay is on, because the relay answers STUN itself.

Networks with no route to the internet

The Hiperwall servers are on the internet, so an isolated network cannot reach them. Turn the relay on instead: it answers STUN on its own listener and clients are pointed at it, so finding a direct path works with nothing outside the building involved.

The TURN relay — when there is no direct path

Some networks refuse direct connections between peers no matter what STUN discovers. A relay is the fallback: media goes to the relay, and the relay passes it on. Engage Ops ships one, off by default, under Settings → Network → TURN relay.

Clients reach for it only after a direct path has failed, so turning it on does not push your local contributors through it. What it costs is the host's bandwidth and a little latency, for the contributors who need it.

Setting it up

In this order. The first two are what people most often leave out, and both fail quietly.

  1. Turn on Enable relay

    The Status block below should show a port count within a few seconds. If it stays on Not running, the Logs pane has the reason under engage-turn.

  2. Set the relay public address

    Relay public address, under Advanced. If the host sits behind NAT with port forwarding — the usual reason to be doing any of this — this has to be the public address clients can actually reach. Leave it blank and they are handed the machine's internal address, which from outside points nowhere. The console flags it while it is empty.

    A system with neither this nor a Public URL set cannot name itself at all, and the relay is then quietly left out of what clients are given. The log says so; nothing on screen will.

  3. Open the firewall

    Inbound to the wall machine: 3478 UDP and TCP for the listener, 5349 TCP for the secured listener if you keep it, and the relay range — 8081–8104 UDP by default. Changing the numbers in Settings does not touch your firewall, and a relay whose ports are closed fails silently: the contributor simply never connects.

  4. Check the port numbers suit the machine

    The listener and the secured listener must stay outside the relay range or they collide, and the console refuses to apply that. Keep clear of whatever else runs on the machine — the range starts at 8081 rather than 8080 because 8080 is this system's own signaling port.

  5. Apply & restart

    This restarts the relay, not the system. Anything currently relaying reconnects; the wall itself is unaffected.

  6. Prove it works

    On your own network nothing ever relays, so a misconfigured relay looks exactly like a working one. Turn on Force relay for all clients under Diagnostics, connect a source, and confirm it comes up. Then turn it off — while it is on, every local contributor is pushed through the relay too.

Sizing the relay range

A relaying source holds one relay port for as long as it is connected, so the twelve sources this system supports need twelve ports at once. The default range is twenty-four: twelve, and the same again as headroom. Set fewer than twelve and the console says so in red but still lets you apply it — it is your call, and the cost is sources that fail to connect under load.

The headroom is there for ungraceful disconnects. A client that closes cleanly gives its port back at once; one that vanishes — a dropped link, a killed browser tab — leaves its port held for up to ten minutes. That ten minutes is fixed by the relay itself and cannot be shortened, so a contributor on a flapping connection can be holding several ports at once. If you run short, widen the range; there is no timeout to tune.

Relay ports in use in the Status block is the number to watch. It turns red as it approaches capacity, and the console says so outright once allocations have been refused for want of a port.

The secured listener

The secured listener carries relay traffic over TLS on TCP, which is the only thing that gets through a network permitting nothing but outbound TLS — exactly the networks whose users need a relay in the first place. It uses this system's own HTTPS certificate, so the client has to trust that certificate already: on a system still using the built-in authority, that means the root certificate has been installed on the client machine. See Certificates. Set the port to 0 to switch the secured listener off.

Reading the status block

Relay ports in use
How much of the range is held right now, against its capacity.
Allocations refused
Requests the relay could not satisfy. It means the range is too small for the load — widen it.
Refused by the peer allow-list
Requests to relay traffic somewhere this system does not permit. Expected to be zero on a normal system; anything else is worth asking who is pointed at your relay.
Credential rejections
Clients presenting credentials the relay would not take. A handful around a restart is ordinary — the credentials handed out are short-lived by design.
Relaying costs the host

Relayed media passes through the host instead of going direct, consuming its bandwidth in both directions. Enable the relay because contributors outside your network need it, not as a default — and leave STUN in use, so the ones who can go direct still do.

Discovery

Discovery lets clients find walls on the network rather than being handed an address. Configure it under Settings → Network → Discovery.

Discoverable
Whether this host answers discovery queries at all.
System name
How this wall identifies itself. Name it after the room.
Site
Groups walls in the same building or campus.
Visibility
Who may discover it.
Site key
A shared secret restricting discovery to clients that know it.

Discovery status shows whether the host is currently responding, and on which UDP port. Search this network below it asks the network the same way a client does and lists what answers: use it to confirm this host is reachable, to catch two walls sharing a name, and to catch a copied installation answering with the same system ID under a different certificate.

Pairing survives certificate renewal

When a client pairs with a wall it pins the wall's long-term identity rather than its current certificate. Replacing or renewing the certificate therefore does not un-pair your fleet — clients keep working.

Naming matters more than it looks

With several walls on one network, System name and Site are all a contributor has to go on. "Wall 2" in a building with four walls is a support call waiting to happen.

Access control

Who can operate

Connections from the host itself are trusted automatically and never prompt for a password — that is how you get in on install day. Everyone else needs the Control UI password, set under Settings → Control → Control UI password. The Users button in the toolbar manages operator accounts, and holds the banned and trusted address lists that used to sit under Settings.

Change the default password

A new system accepts password. It is not a per-machine value and it is not secret — it is the same on every fresh install, and it is written in this manual.

Until you change it, anyone who can reach port 8443 can sign in as an operator: rearrange the wall, read the source PIN, download logs, and restart the machine. Changing it is the single highest-value thing on the first-boot checklist.

How to tell whether it was ever changed

The console shows a standing reminder while the default is still in effect, on the host as well as remotely. If you have inherited a system and see that reminder, the password has never been set.

Who can share

The five-digit PIN, under Settings → Control → Source sharing. It is also shown in the header of the Settings pane whatever tab you are on, so you can read it out to somebody without navigating anywhere. Regenerate it whenever you want to cut off future joiners; already-connected contributors keep working, so regenerating mid-session does not knock anybody off the wall.

Request-to-Join, on the same tab, lets people without the PIN ask an operator for access. Turn it off to require the PIN for everyone.

Contributors on the wall machine itself, or on a trusted address, skip both: they give a name and connect. Trusted addresses are a deliberate grant — see the table below for where they live.

Hardening

SettingWhy it exists
PIN sign-in protection Rate-limits and then locks out repeated wrong PINs from one address. A five-digit PIN is guessable by brute force; this is what stops that. Leave it on.
Request-to-Join limits Caps submissions per address per minute, active requests per address, and imposes a cooldown after a denial. Stops one machine burying the operator in requests.
Banned addresses Blocked from every source and Live View endpoint. Banning an address also cuts off what it currently has running, rather than only stopping the next attempt. In the Users pane.
Trusted addresses The opposite lever: these skip the PIN and Request-to-Join entirely and sign in on a name. Use it for fixed, known machines — a podium PC, a control-room workstation — not for a subnet. Also in the Users pane. A ban wins over a trust.
Rotate the PIN on a schedule

A PIN shared in a meeting invitation outlives the meeting. It is the only thing between the network and your wall, and regenerating it is one click that disturbs nobody currently connected.

Files and locations

Two trees. Configuration and state live in one; logs in the other.

C:\ProgramData\EngageOps\ configuration, identity, state C:\Users\Public\EngageOps\ logs, one folder per component
FileHoldsBack up?
engage_identity.json This system's identity, the source PIN, and signing secrets. Yes. Losing it re-identifies the wall and un-pairs clients.
engage_config.json Renderer, audio, and network settings. Hand-editable and commented.Yes
engage_state.json Current canvas, placements, and per-source settings. Written continuously.Not needed — rebuilt as you work
engage_display.json Renderer window placement plus the monitor arrangement it was set for.Yes — saves redoing placement
engage_innate.json Widget definitions.Yes
engage_turn.json Relay configuration.If you use the relay
State is written safely

State is saved atomically with rotating backups, and loads fall back to a backup if the primary file is damaged. A power cut mid-write does not cost you your layout.

Do not hand-edit while running

engage_state.json is owned by the running system, which will overwrite your changes without noticing them. Change settings through the console. engage_config.json is the one file meant for hand-editing, and it wants a restart.

Restart and power

Settings → Control → Control holds four actions for the host, so you do not need a remote desktop session for routine recovery:

Restart Engage Ops System
Restarts the software only. The machine stays up. The console reconnects by itself. This is the first thing to try.
Restart machine
Reboots the host. Sources reconnect and return to their places afterward.
Turn off display
Puts the wall's panels to sleep. For overnight, or an empty room.
Wake display
Brings them back.
Components restart themselves

A supervisor process watches the other components and restarts any that exit, so a crashed renderer comes back on its own within seconds and sources reconnect to it. You generally find out from the logs, not from the room.

Part 05

Troubleshooting & Reference

Symptoms first, because that is how problems arrive. Reference material after.

Symptoms and fixes

Nothing on the wall

SymptomMost likely causeFix
Wall is black, console works Blank Screen is on. Check the toolbar — the button reads Screen Blanked when active. Click it.
Wall shows a holding card or a logo, console works Blank Screen is on and a custom blank screen is designed for it. Click the toolbar button. The design is under Settings → Display → Blank screen.
Wall stopped, every component looks healthy The GPU driving the canvas may have dropped out. Turn on Diag and read the GPU row: it says Canvas GPU unavailable and when it went. Restart the system; replace the card if it recurs.
Wall shows the welcome screen and nothing else Sources are connected but not placed. Drag them from the source list onto the canvas, or switch on Auto-place.
Wall covers only one monitor The monitor arrangement changed, so saved placement no longer matches and the renderer fell back to the primary display. Settings → Display → Renderer window placement. Set it again.
Wall is displaying but the console shows a disconnect banner The console lost its connection to the host; the wall itself is unaffected. Wait — it retries automatically and shows a countdown. If it persists, check the host is up.

A source will not join

SymptomMost likely causeFix
Browser warns the connection is not private The root certificate is not installed on that machine. Install it — Certificates. Clicking through works meanwhile.
All renderer slots in use Twelve sources are already connected. Disconnect one. The waiting client joins on its own; no need to retry.
PIN is rejected although it is correct The PIN was regenerated, or the address is locked out after repeated failures. Re-read the PIN from Settings → Control → Source sharing. For a lockout, wait it out or adjust PIN sign-in protection.
Source page will not load at all Port 8443 is not reachable, or the address is wrong for that network. Check the firewall, then set a correct Public URL.
Joins on the LAN, fails over VPN or from off site Direct media is blocked on that path, and either no relay is running or the one that is cannot be reached. Confirm with Force relay for all clients; if that fixes it, set the relay up properly — Reaching the wall from outside.
Relay is on, remote contributors still fail Almost always one of two things: the firewall is not open on the relay ports, or Relay public address is blank on a host behind NAT, so clients are handed an address that points nowhere. Open 3478 UDP/TCP and the relay range, and set the public address. See Reaching the wall from outside.
Everything remote stopped working at once Nothing in the STUN list is in use, and the relay is off. Re-check a STUN server under Settings → Network → STUN, or turn the relay on.
Engage is already open in another tab One source tab per machine, by design. Take over to move the session to this tab.

A source is connected but wrong

SymptomMost likely causeFix
Tile is black, client says PRIVATE The contributor has privacy on. Ask them to turn it off. Nothing to do at the wall.
Client says HELD The window or region being captured has closed. Contributor reselects the window.
A source will not drop onto the canvas The layout already holds nine sources. Remove one, or place this source in the other layout. Widgets are not the cause — they do not count toward the nine.
Tile says Waiting for connection The contributor dropped. The placeholder is holding their spot. Nothing — they return to the same place. Remove the tile, or use Expire missing sources, to clear it.
Tile looks fine but the picture is old; card says Not updating The captured window is minimized. Capture re-sends the last frame, so nothing about the tile looks wrong. Ask the contributor to restore the window. See When a source stops updating.
Card says No new frames Nothing is changing in that source. Expected for a dashboard or a slide; a fault only if it should be moving. Judge it against what the source is meant to show.
Card says No desktop A remote session on the source machine was disconnected without signing out, so nothing composites there. Somebody signs back in to that machine.
A Capture Device stopped and its machine reads offline The machine offering the device is off, asleep, or off the network. Its sources stay listed so they are not mistaken for deleted. Bring the machine back — the device republishes itself. Use Remove this machine if it is gone for good.
No audio from a source A different source owns the wall's audio. Unmute the one you want. It mutes the others automatically.
Tile reads Audio Only with a flat wave Not a fault: that source sends sound and no picture, and nothing is currently being heard from it — it is silent, muted, or not the source that owns the room. Unmute it and watch the wave. If it stays flat while unmuted, the contributor is sending silence.
Picture is soft or stuttering The contributor's upload is constrained; quality is being reduced automatically. Have them lower resolution or frame rate. Check whether the relay is carrying media that could go direct.

Everything stopped at once

SymptomMost likely causeFix
Every client disconnected together, console unreachable The certificate expired, or the host is down. Check the certificate first — expiry looks exactly like a network outage and gives no useful error.
Nothing works after a Windows update Monitor arrangement changed, or a graphics driver changed. Re-check display placement, then the logs.
Wall came back after a reboot, but empty Sources reconnect on their own; contributors whose machines rebooted too do not. Ask them to reopen their client. Layouts are unaffected.

Logs

Logs in the toolbar opens the log viewer and timeline without needing access to the host's filesystem. Start here.

On disk, logs live under a separate tree from configuration, one folder per component:

C:\Users\Public\EngageOps\<component>\Log_YYYYMMDD_HHMMSS.log

The console can export a log bundle as a single zip — that is the right thing to attach to a support request, because it captures every component's view of the same moment rather than just the one you suspected.

Note the wall-clock time

When something goes wrong, write down the time before you start investigating. Correlating components is far easier with a timestamp than with "sometime this morning".

The Diag toggle overlays live performance figures on the canvas — useful for confirming whether a stuttering source is a decode problem at the wall or a network problem at the contributor.

It also lists the host's graphics hardware. Collapsed, the row names the GPU rendering the canvas; expanded, it shows every adapter with its 3D and copy engine load and its temperature, and marks the one driving the wall.

A GPU that has gone away

If an adapter drops out — a driver reset, a card that has failed, an external GPU unplugged — the row says ⚠ Canvas GPU unavailable or counts how many are gone, without you having to expand anything, and the list stamps the time it happened. That is the first thing to check when the wall has stopped and the software all looks healthy.

What recovers itself

Engage Ops is designed for rooms that cannot go dark, and a great deal of recovery is automatic. Knowing which half is which saves you intervening in something that was about to fix itself.

RECOVERS ON ITS OWN Wi-Fi drop, cable unplugged VPN reconnect Renderer or component crash Host reboot or power loss Console losing its connection Wall full, then a slot frees Sources return to the same positions. NEEDS A PERSON Contributor closed the tab Machine went to sleep Captured window was quit Certificate expired Monitor arrangement changed PIN was regenerated Each needs one action, listed above.
Wait before you act. Anything in the left column is already being retried, with the delay between attempts growing. Intervening usually just restarts the clock.

Limits and specifications

 ValueNotes
Sources on the canvas9 Per layout. Freeform and Grid are counted separately.
Widgets on the canvas4 Exempt from the nine.
Connected sources12 Further clients are refused and retry automatically.
Grid sizeup to 8 × 8 Set in the toolbar in Grid mode.
Frame rateup to 60 fps Target; adapts under load.
Audio / video syncwithin ~22 ms Audio is the timing reference.
Audible sources1 Unmuting one mutes the rest.
Source resolution4K class Scaled to the tile it lands in.
Audio quality48 kHz stereo Music-grade, not voice-processed.
Video codecsH.264, VP8, VP9, AV1 Negotiated automatically; hardware decoded where supported.
Source tabs per machine1 Browser client only.
Join request lifetime~5 minutes Then it expires and must be resubmitted.

Glossary

Canvas
The operator's scaled map of the wall.
Control App
The console as an installed Windows application, with no browser certificate warning.
Capture Device
A camera, capture card or audio input on another machine, put on the wall by the operator rather than by anyone at that machine.
Capture Device Server
The small agent a machine runs to offer its inputs to an Engage Ops system.
Contributor
Anyone sharing a source.
Engage Ops host
The computer driving the wall.
Environment
A saved, named layout that can be reloaded.
Freeform
Layout mode where tiles go anywhere at any size.
Grid
Layout mode where tiles snap to an even grid.
Live View
Watching the whole wall from a browser elsewhere.
Permanent
A tile pinned so it cannot be removed by accident.
PIN
The five-digit code contributors use to join.
Privacy
A contributor blanking their own source without disconnecting.
Public URL
The address Engage Ops publishes in share links.
Request to Join
Asking an operator for access instead of using the PIN.
Source
One screen, window, region, or camera being sent.
Spotlight
Temporarily enlarging one source to fill the wall, keeping its shape.
Staging
Building a layout off-air, then committing it.
Tile
A source placed on the canvas.
Widget
A source Engage Ops generates itself, such as a clock.

Engage Ops is a Hiperwall product. This manual documents version 2026 R1.