COMING SOON

lamco-qemu-rdp

Per-VM RDP Server for QEMU/KVM

A host-side RDP server that connects to QEMU's D-Bus display backend, providing high-performance remote console access to virtual machines without any guest-side software.

What is lamco-qemu-rdp?

QEMU provides virtual machines with emulated VGA/GPU devices and exposes their framebuffers through display backends: VNC, SPICE, or D-Bus. Today, most Proxmox and libvirt deployments use the built-in VNC server, accessed through noVNC in the browser.

lamco-qemu-rdp is a lightweight daemon that reads the VM's display output via QEMU's D-Bus display backend and serves it over RDP. It runs on the hypervisor host -- not inside the VM -- so it works from the moment the VM powers on, including BIOS, bootloader, and OS installer screens.

Architecture

QEMU VM
Guest OS display
D-Bus Display
QEMU backend
lamco-qemu-rdp
Host-side RDP server
RDP Client
Browser (lamco-rdp-console), mstsc, FreeRDP, rdpdo

lamco-qemu-rdp sits between QEMU's D-Bus display backend and any standard RDP client. The VM is unaware an RDP server exists -- all interaction happens at the hypervisor level.

Key Features

Socket-Activated

Uses systemd socket activation so no daemon runs until a client connects. Zero resource usage for idle VMs. Starts in milliseconds on first connection.

Proxmox-Aware

Integrates with Proxmox VE's VM lifecycle via hookscripts. Automatically provisions RDP endpoints when VMs start and cleans up when they stop.

Shared EGFX Pipeline

Shares the same H.264 EGFX encoding pipeline as lamco-rdp-server. Efficient frame encoding with hardware acceleration support (VA-API, NVENC).

Lightweight

No PipeWire, Wayland, or display server dependencies. lamco-qemu-rdp reads directly from QEMU's D-Bus interface -- minimal footprint on the hypervisor host.

Pre-Boot Console

Access the VM from the moment it powers on. See BIOS screens, bootloader menus, OS installers, and recovery consoles -- all over RDP.

Network-Independent

Works even when the VM has no network connectivity. Since the display is read from the host-side D-Bus, guest networking is irrelevant.

Use Cases

Pre-Boot & Recovery Console

Access BIOS/UEFI settings, GRUB menus, and recovery environments over RDP. Essential for managing VMs that cannot boot or have no network.

Network-Less VMs

VMs used for air-gapped security testing, sandboxed malware analysis, or isolated development can be accessed without any guest networking configured.

Proxmox Web Console Upgrade

Paired with lamco-rdp-console, replace noVNC in the Proxmox web UI with H.264 video, proper clipboard, and audio.

CI/CD VM Automation

Use rdpdo to connect to lamco-qemu-rdp for automated GUI testing of VMs in CI pipelines. No guest agents needed.

Console Protocol Comparison

Capability QEMU VNC (noVNC) SPICE lamco-qemu-rdp
Video encoding Raw/ZRLE bitmaps MJPEG + bitmaps H.264 (EGFX)
Browser access Yes (noVNC) No (native only) Yes (lamco-rdp-console)
Hardware acceleration No Partial VA-API / NVENC
Audio No Yes Yes
Clipboard Basic text Full Full (text + files)
Resource usage (idle) Always running Always running Socket-activated (zero)
Pre-boot access Yes Yes Yes
Guest agent required No Optional (for full features) No
CI/CD automation Via vncdotool No tooling Via rdpdo

Status: In Development

lamco-qemu-rdp is in active development. The D-Bus display backend integration and EGFX encoding pipeline are being built. Licensing and pricing have not been finalized.

Interested in replacing VNC consoles in your Proxmox cluster? Contact us to discuss your environment.