VNC consoles: first runs against QEMU

Claim. A driver for any console that speaks the VNC protocol (RFB) shows a virtual machine's screen exactly and sends keys into its firmware. It has been run against QEMU's own VNC server only. No hardware management controller has been tried, so this is not yet evidence about a server's BMC.

Method. The client was written from the protocol specification (RFC 6143) with no VNC library. It was run against QEMU 10.2.1 on the operator's workstation, with a legacy BIOS (SeaBIOS, text mode) and with UEFI firmware (OVMF, a graphical screen). QEMU is a separate implementation of the protocol, and its own screen dump of the guest is the reference the client's picture was compared with.

Result.

Bugs found on the way. On the first pointer move, before the client had connected, the screen size was unknown, so every first move landed in the top-left corner. After a dropped connection the client wrote into the dead socket once before reconnecting. Both are fixed.

Sample size. Two virtual screens, one QEMU version, one run of each check.

Not tested. Any hardware controller (OpenBMC, or the VNC server of a Dell iDRAC). Servers that send only Tight or JPEG pictures, which this client does not decode. TLS-wrapped VNC. Keyboard layouts other than US. Performance over a real network. Two clients at once.

Limits.

Original record: read the Markdown source.