lamco-rdp-console
Native RDP Console for Proxmox VE
A WebAssembly-based RDP client that integrates directly into the Proxmox VE web UI, replacing noVNC and SPICE with a modern, high-performance remote console experience.
What is lamco-rdp-console?
Proxmox VE ships with noVNC for in-browser console access. It works, but it is limited: no H.264 acceleration, no proper clipboard integration, no audio forwarding, and keyboard mapping issues across locales.
lamco-rdp-console replaces the noVNC viewer with a WebAssembly RDP client built on IronRDP. It runs entirely in the browser -- no plugins, no Java, no native client installation. Combined with lamco-qemu-rdp on the host, it provides a complete RDP-based console stack for Proxmox.
Two Components, One Experience
JavaScript Overlay
A lightweight JavaScript module that integrates into the Proxmox VE web UI. It detects when a VM console is opened and swaps the noVNC viewer with the IronRDP WebAssembly client.
- • Seamless PVE UI integration
- • Toolbar with resolution, scaling, clipboard controls
- • Falls back to noVNC if RDP is unavailable
PVE Hookscripts
Perl hookscripts that integrate with Proxmox's VM lifecycle. They automatically start and stop lamco-qemu-rdp instances when VMs are created, started, or destroyed.
- • Automatic per-VM RDP server management
- • Proxmox cluster-aware configuration
- • Zero manual setup per VM
Features
H.264 via EGFX
Hardware-decoded H.264 video in the browser via RDP's Extended Graphics Framework. Dramatically lower bandwidth and higher frame rates than raw bitmap VNC.
Bidirectional Clipboard
Full clipboard integration between your local browser and the remote VM. Copy and paste text and files seamlessly -- no manual clipboard sync buttons.
Audio Forwarding
Remote audio streams are forwarded to the browser using the Web Audio API. Hear system sounds, media playback, and notifications from the VM.
Multi-Monitor
Support for multiple virtual monitors within a single RDP session. View and interact with multi-display VM configurations from one browser tab.
Proper Keyboard Mapping
Scancode-based keyboard input that works correctly across all keyboard layouts. No more broken special characters or locale-specific key issues.
WebAssembly Performance
IronRDP compiled to WebAssembly runs at near-native speed in the browser. No plugins, no Java, no client-side installation required.
Why RDP Instead of VNC or SPICE?
| Capability | VNC (noVNC) | SPICE | lamco-rdp-console |
|---|---|---|---|
| In-browser (no install) | Yes | No (native client) | Yes (WebAssembly) |
| H.264 encoding | No | MJPEG only | Yes (EGFX) |
| Clipboard | Text only (manual) | Full | Full (text + files) |
| Audio | No | Yes | Yes |
| Multi-monitor | No | Yes | Yes |
| Keyboard mapping | Broken across locales | Good | Scancode-based |
| Pre-boot console | Yes | Yes | Yes (via lamco-qemu-rdp) |
| Windows VM support | Yes | Requires guest tools | Native protocol |
Requires lamco-qemu-rdp
lamco-rdp-console is the browser-side viewer. It connects to lamco-qemu-rdp, which provides per-VM RDP server instances on the Proxmox host. Together, they form a complete RDP-based console replacement for Proxmox VE.
Learn About lamco-qemu-rdpStatus: In Development
lamco-rdp-console is currently in active development. The IronRDP WebAssembly client is functional and the Proxmox integration layer is being built. Licensing and pricing have not been finalized.
Interested in beta testing or early access? Reach out to discuss your Proxmox environment and use case.