IronRDP: a Rust implementation of Microsoft's RDP protocol
Project scope and implementation
- IronRDP is mostly Rust (with some C#/TS bindings) and targets both native and web clients.
- It originated as the core for a web RDP client (via a gateway bridging WSS↔RDP) and is now used in commercial tools and by third parties (e.g., Cloudflare’s browser-based RDP).
- The repo contains a server crate, but server support is described as early/experimental compared to mature projects like xrdp.
Client vs server, platforms, and integration
- Builds and demos show it is multi-platform; there are .NET/Avalonia bindings and React/web integrations.
- Some confusion exists about “server on Windows only”; clarification is that the docs for RemoteFX describe configuring the Windows RDP server, while IronRDP’s server side is generic Rust building blocks.
Performance, codecs, and protocol comparisons
- RDP is repeatedly praised as far superior to VNC for interactive desktop work, thanks to GUI-awareness, partial updates, and client-side compositing.
- Modern RDP can fall back to H.264/AVC for high-motion regions; there’s discussion of chroma subsampling (4:2:0 vs 4:4:4) and its impact on text clarity.
- Participants debate specialized codecs vs H.264/AV1 trade-offs (CPU/GPU load, hardware support, licensing).
- Comparisons with RustDesk, Sunshine/Moonlight, Parsec, and SPICE: those can deliver game-level performance but often behave more like “video streaming” with different ergonomics and security models.
Virtualization and Linux/Wayland ecosystem
- Proxmox developers say they are actively evaluating IronRDP together with experimental QEMU display backends as a possible long-term SPICE replacement, but note integration effort (QEMU → API → ACLs) and CPU/codec trade-offs.
- Fedora’s installer has switched from VNC to RDP; GNOME and KDE now ship RDP servers, but users report performance still often feels “like VNC” unless extra components (e.g., xorgxrdp-glamor, openh264) are installed.
- Wayland is seen both as an opportunity (clean RDP-style remoting) and a source of breakage for older solutions like SPICE.
RDP strengths, weaknesses, and security/licensing
- Strengths: excellent performance even on low bandwidth, deep OS integration (multi-monitor, peripherals, smart cards, AD/Kerberos), and rich feature set (audio, device/USB/folder redirection).
- Weaknesses: awkward authentication story, lack of built-in SSH-style tunneling, Windows-specific implementation quirks (session hijacking local console, odd shutdown/audio behavior, frame-rate caps).
- There is concern about Microsoft’s RDP patents and licensing programs; some argue this makes RDP a questionable foundation for free software, others believe core protocol patents have likely expired.
Miscellaneous
- Some question how feature-complete IronRDP is versus FreeRDP/xrdp (audio, mic, folder/webcam redirection).
- Minor threads cover build friction on Windows (cmake via Rustls/aws-lc-rs), poor folder-forwarding performance in RDP generally, and confusion over the “Iron” name given its .NET associations.