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.