TL;DR

1
2
3
rw
kvmd-edidconf --import-preset=v3.1080p-by-default --apply    # V3, and DIY V0–V2 with their preset (v0, v1, v2)
ro

Then reboot the host or unplug and replug the HDMI: the EDID is only read when the host detects the monitor. On V4 Mini and V4 Plus none of this is needed: they capture 1080p at 60 Hz out of the box.

Why

The PiKVM presents itself to the host as a monitor, and what that monitor “can do” lives in the EDID: resolutions, refresh rates, and which one is preferred. The host picks from that.

The V3 (and DIY builds with the TC358743 CSI capture chip) has a hardware limit: 1080p only at 50 Hz. Since 50 Hz is an unusual rate, the default EDID marks 720p60 as the preferred mode and many hosts stay there. That is right for most, but some systems look bad at 720p: the Proxmox console, some BIOS screens, desktops that scale oddly. The v3.1080p-by-default preset keeps the same modes but makes 1080p50 the preferred one.

Checking

1
kvmd-edidconf                 # no arguments: manufacturer, product, serial, name and audio of the current EDID

In the web UI, the video indicator shows the resolution and fps being captured; after the host reboot it should read 1920x1080 and 50. If the host has a display tool (xrandr, Windows Settings), the “monitor” shows up with the EDID’s name.

Other EDID settings

Windows stores per-monitor settings keyed by manufacturer, product, and serial. If the host stays in an old mode after changing the EDID, change its identity so it treats it as a new monitor:

1
2
3
rw
kvmd-edidconf --set-monitor-name=PIKVM --set-mfc-id=PKV --set-product-id=34953 --set-serial=1234567890 --apply
ro
  • --set-audio=1 advertises audio over HDMI (to capture sound on models that support it).
  • On the V4 Plus, with a real monitor connected to the OUT2 output, --import-display-ids copies its identity into the PiKVM’s EDID.
  • Back to the original: kvmd-edidconf --import-preset=v3 --apply (or v4mini, v4plus depending on the model).

Traps

  • rw before, ro after. The PiKVM filesystem is read-only; without rw the change is not saved and without ro it nags you on every login.
  • The host must re-read the EDID. --apply takes effect on the PiKVM instantly, but the host does not notice until a reboot, a cable replug, or on some BIOSes only at POST.
  • 50 Hz on the V3 is not a bug, it is the capture chip’s limit. For 60 Hz, V4.
  • Black screen after a hand-made EDID: import the model’s preset again and apply.
  • Proxmox and other framebuffer consoles fix the mode at boot; after changing the EDID you have to reboot the node, not just the session.

Reference: EDID in the PiKVM documentation.