Lamco RDP Server
A full-featured Wayland-native RDP server for Linux written in Rust
Professional remote desktop access with hardware-accelerated H.264 encoding, crystal-clear text rendering, and premium performance features. Built native to Wayland—no X11 compromises.
Remote desktop on Linux has always meant compromise. X11-based solutions don't work properly with modern Wayland desktops. VNC lacks the efficiency of H.264 encoding. Built-in options are limited to specific desktop environments.
Lamco RDP Server changes that.
Built from the ground up for Wayland using XDG Desktop Portals and written entirely in Rust, it delivers professional remote desktop capabilities to any modern Linux desktop. Connect from Windows, macOS, Linux, or mobile using standard RDP clients you already have.
See It in Action
Watch Lamco RDP Server connecting to a live Linux desktop session.
Lamco RDP Server provides remote access to your existing Linux desktop session. Connect to your GNOME, KDE, or wlroots workstation via RDP and interact with your applications remotely. Perfect for remote work, system administration, and accessing your desktop from anywhere.
Looking for headless multi-user VDI? lamco-VDI (in development) will provide enterprise-grade virtual desktop infrastructure with Smithay-based custom compositor, multi-session support, and true headless deployment. Learn about the differences →
Features Vary by Platform & Installation Method
Lamco RDP Server's capabilities depend on your distribution, desktop environment (GNOME, KDE, Sway, etc.), and installation method (Flatpak vs native package).
Native Package
Best for production servers and maximum performance.
- ✓ Hardware acceleration (NVIDIA NVENC, Intel/AMD VA-API)
- ✓ Advanced desktop environment integration
- ✓ Full systemd support
- ✓ Direct filesystem access
Available: Fedora, RHEL, openSUSE, Debian 13
Flatpak (Community Edition)
Community Edition — free to use. Universal compatibility, works on any distribution.
- ✓ Works on Ubuntu 22.04/24.04 and all distros
- ✓ Sandboxed security
- ✓ Automatic Flathub updates
- • Software encoding (no GPU acceleration)
Community Edition — free to use. Best for: Desktop use, workstations, sandboxed environments
Key Benefits
Wayland Native
The first RDP server built specifically for XDG Desktop Portals. Works with GNOME, KDE Plasma, Sway, Hyprland, and other Wayland compositors without requiring Xwayland or X11 fallbacks. Your Wayland security model stays intact.
Crystal-Clear Text
AVC444 encoding delivers full 4:4:4 chroma resolution—the same quality used by professional video workflows. Text, code, and UI elements render sharp and readable, not muddy like standard 4:2:0 video. Perfect for programming, document editing, and design work.
Platform note: Automatically enabled on Ubuntu 24.04, Fedora 40+, Debian 13. Disabled on RHEL 9 (Mesa 22.x quirk).
Hardware Accelerated
Offload H.264 encoding to your GPU. Support for NVIDIA NVENC and Intel/AMD VA-API means your CPU stays free for actual work. Automatic fallback to optimized software encoding when hardware isn't available.
💡 Native Package Feature
GPU acceleration available with native packages. Flatpak uses optimized software encoding (sandbox security).
Premium Performance
Adaptive frame rate adjusts from 5 to 60 FPS based on screen activity—full speed for video, power-saving for static content. Latency governor optimizes for interactive work or visual quality. Predictive cursor technology compensates for network delay.
Unattended Operation
Multi-strategy session persistence enables zero-dialog unattended access. Server reboots, service restarts, and network reconnections happen automatically without manual intervention.
- ✓ GNOME servers: Mutter Direct API (zero dialogs)
- ✓ wlroots servers: Native protocols (zero dialogs)
- ✓ KDE desktops: Portal tokens (one dialog first time)
- ✓ Enterprise: TPM 2.0 credential storage
Features
Video Encoding
| Codecs | AVC420, AVC444 |
| Encoders | OpenH264, NVENC, VA-API |
| Frame Rate | 5-60 FPS adaptive |
| Max Resolution | 4K UHD |
| Color Spaces | BT.709, BT.601, sRGB |
Input & Clipboard
| Keyboard | Full scancode translation |
| Mouse | Absolute & relative |
| Multi-Monitor | Coordinate mapping |
| Clipboard | Text, HTML, RTF, images, file transfer (15+ format conversions) |
| Audio | RDPSND (OPUS, PCM, ADPCM) |
Security
| Encryption | TLS 1.3 (1.2 fallback optional) |
| NLA | Implemented (PAM authentication) |
| Authentication | None (dev), PAM (system) |
| Certificates | Auto-generated or custom |
Desktop Environment Support
| GNOME 40/42/46 | ✅ Production |
| KDE Plasma 6.3+ | ✅ Production |
| Sway / River / Hyprland | ✅ Production (native) |
| Budgie 10.10 | 🔮 Expected |
| Niri | 🔮 Expected |
| COSMIC | 📺 Video-only |
Integrated capability discovery: Our Service Advertisement Registry probes your system at startup—compositor, portal versions, hardware encoders, GPU capabilities—and automatically selects optimal code paths. When something isn't available, you get clear diagnostics instead of cryptic failures.
Platform Compatibility
Tested and verified on production systems. Features vary by distribution, desktop environment, and installation method.
Production Ready
- Ubuntu 24.04 + GNOME 46
- RHEL 9.7 + GNOME 40
- openSUSE TW + KDE 6.3
- Debian 13 + KDE 6.3
- EndeavourOS + Sway
Expected
- Fedora 40+ + GNOME 46
- Budgie 10.10 + labwc
- Niri (GNOME backend)
- Arch / Manjaro
Limited / Video-only
- wlroots Flatpak — video only
- COSMIC — video-only (ScreenCast works, RemoteDesktop not yet implemented)
Session Persistence & Unattended Access
Zero-dialog unattended operation through intelligent runtime strategy selection
Zero-Dialog Strategies
- ✓GNOME: Mutter Direct API
- ✓Sway/Hyprland/River: wlr-direct protocols
- ✓KDE: Portal session tokens
- ✓Flatpak wlroots: Portal + libei/EIS
Desktop Sharing vs VDI
Lamco RDP Server shares your existing desktop. For headless multi-user VDI, lamco-VDI is in development.
- Credential storage: Secret Service, TPM 2.0, AES-256-GCM
- Automatic strategy selection per compositor
How It Works
┌─────────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Your Desktop │ │ lamco-rdp-server │ │ RDP Client │
│ (Wayland) │ │ │ │ │
├─────────────────┤ ├──────────────────┤ ├─────────────┤
│ │ │ │ │ │
│ XDG Portal ────┼────►│ Screen Capture │ │ Windows │
│ │ │ ▼ │ │ mstsc.exe │
│ PipeWire ──────┼────►│ H.264 Encode │────►│ │
│ │ │ ▼ │ │ FreeRDP │
│ Compositor ◄───┼─────│ Input Inject │◄────│ │
│ │ │ │ │ macOS RD │
└─────────────────┘ └──────────────────┘ └─────────────┘
Screen Capture: PipeWire streams your desktop via XDG ScreenCast portal
Encoding: Frames are encoded to H.264 (hardware or software)
Transmission: Encoded video streams to RDP client over TLS
Input: Client keyboard/mouse events are translated and injected via libei
System Requirements
Server (Linux)
Required:
- • Linux with Wayland compositor (GNOME, KDE, Sway, Hyprland, etc.)
- • Desktop environment must be running (user logged in)
- • PipeWire (screen capture)
- • XDG Desktop Portal support (v4+ recommended, v5 for full clipboard)
- • Compositor-specific portal backend (xdg-desktop-portal-gnome, -kde, or -wlr)
Note: Lamco RDP Server shares your existing desktop session. For headless multi-user VDI without desktop environment, see lamco-VDI (in development).
For Hardware Encoding:
- NVIDIA: GPU with NVENC, nvidia-driver, libnvidia-encode
- Intel: VA-API support, intel-media-va-driver or i965-va-driver
- AMD: VA-API support, mesa-va-drivers
Compatible RDP Clients
| Windows | Built-in Remote Desktop, FreeRDP |
| macOS | Microsoft Remote Desktop, FreeRDP |
| Linux | FreeRDP, Remmina |
| Android | Microsoft Remote Desktop |
| iOS | Microsoft Remote Desktop |
Technology Deep Dives
Video Encoding
H.264, AVC444, hardware acceleration, and codec selection
Learn more →Color Management
Color spaces, VUI signaling, and accurate color reproduction
Learn more →Performance
Adaptive FPS, latency optimization, and damage tracking
Learn more →Wayland Integration
XDG Portals, PipeWire, and compositor compatibility
Learn more →Pricing
Community Edition (Flatpak, Snap): Free to use — no license purchase required.
Native packages: Free for single-server and non-profit use. Commercial license for multi-server native deployments.
| Plan | Price | Servers |
|---|---|---|
| Community Edition | Free | Unlimited (Flatpak, Snap) |
| Single Instance | Free | 1 (any distribution) |
| Non-profit | Free | Unlimited (any distribution) |
| Personal | $4.99/mo or $49/yr | 1 |
| Team | $149/yr | Up to 5 |
| Business | $499/yr | Up to 25 |
| Corporate | $1,499/yr | Up to 100 |
| Enterprise | Custom | Unlimited |
Get Started
Open Source Foundation
Lamco RDP Server is built on open source infrastructure that we publish and maintain:
lamco-portal
XDG Desktop Portal integration
lamco-pipewire
PipeWire screen capture
lamco-video
Video frame processing
lamco-rdp-input
Input event translation
lamco-rdp-clipboard
Clipboard synchronization
lamco-rdp
Core RDP utilities
lamco-wayland
Wayland protocol bindings
7 crates, MIT/Apache-2.0 dual-licensed. Available for anyone building remote desktop infrastructure.
View All Open Source →License
Lamco RDP Server is licensed under the Business Source License 1.1.
Community Edition
Flatpak and Snap — free to use, no license purchase required
Single Instance
Native packages free for single-server and non-profit use
Commercial Use
Commercial license required for multi-server native deployments
Open Source (2028)
Converts to Apache-2.0 on December 31, 2028
What's Next?
We're actively developing Lamco RDP Server based on user feedback. Features under consideration:
Audio Input / Microphone
Bidirectional audio for calls and meetings
Multi-Monitor (MS-RDPEDISP)
Dynamic layout changes (Phase 2)
Drive Redirection (MS-RDPEFS)
Access client drives from server
UDP Transport (MS-RDPEUDP2)
Lower latency — upstream IronRDP PRs submitted
Have a feature request? We want to hear from you.