WarpKVM

Capture modes and EDID

How the kit chooses what the source sends, and which mode to run when.

Most capture devices accept whatever the source decides to output. The kit does the opposite, and it is the single most useful thing to understand about running it: the kit presents the EDID, so the kit chooses the source's timing. Resolution and refresh rate are not something you configure on the target machine; they are something the console asks for, and the source follows.

Why EDID is the control surface

When a machine boots, its GPU reads the display's EDID to learn what modes it supports, and picks one. The kit is that "display". Rewrite the EDID it presents and the source re-reads it and switches, no reboot and no cable replug needed; our kernel re-asserts hot-plug detect after every EDID write, which is the piece the stock driver is missing.

That one mechanism replaces a settings page full of half-working resolution overrides, and it works in BIOS and boot menus, because it operates below the operating system.

The two operating points

The kit runs two measured operating points, switched from the console:

ModeGlass to glassInternalEncode rate
1080p, 120 Hz capture / 60 encode18 ms on a LAN16 ms60.00 fps
4K30not yet measured60 ms30.00 fps

1080p 120/60 is the latency mode, and the default wherever the source will negotiate 120 Hz. Capturing at twice the encode rate means a frame is at most 8 ms old when the encoder picks it up, instead of 17. It costs nothing: the encoder still runs at 60.

4K30 is the detail mode. Every pixel of a 4K source, encoded in hardware, at a locked 30 fps. Use it when you are reading dense screens rather than interacting quickly.

Text at 4K, and the high-detail mode

At 4K the encoder outputs 4:2:0 colour, so small saturated text can fringe slightly on hard edges. It is a property of the encoder, not a defect. For text-heavy work the console offers a 1080p high-detail mode that recovers full-resolution colour. When your task is reading rather than watching, prefer it over 4K.

Presets and custom EDIDs

The console ships EDID presets for the modes above, and accepts a custom EDID as hex (128 or 256 bytes) for sources that need special handling. Preset changes apply live; the source typically re-reads and switches within a couple of seconds. Applies are serialised, so a second change while one is in flight is rejected rather than queued.

Two notes from the bench:

  • A source is free to ignore an EDID, and a few do. The daemon follows what actually arrives rather than what was asked for, so the console always shows the true incoming mode.
  • The presets are deliberately narrow, often a single mode, because a generous EDID invites the GPU to invent its own timing. If a source misbehaves with a custom EDID, start from a preset and change one thing.

Codec

The kit encodes H.264 or H.265, selected in the console. Changing codec restarts the encoder: the stream drops for a moment and every connected viewer reconnects. It is a configuration change, not something to toggle mid-session.

The local output does not follow

On the kit carrier, the local HDMI output stays at 1080p 60 regardless of the operating point; it is a convenience monitor, not the capture path. The full-resolution picture is always the network stream.

On this page