Lamco Open Source
The libraries under our products
Everything Lamco Development LLC publishes as open source, grouped by what it does rather than what it is written in: Wayland screen capture and RDP infrastructure, progressive data shaping, and WiFi analysis. Each one is a real dependency of a shipping product, not a sample.
Laminate · lamco-wayland (3 crates) · lamco-rdp (3 crates) · NetKit on Maven Central — MIT OR Apache-2.0
RDP/Wayland: The Infrastructure We Needed Didn't Exist
When building RDP server solutions for Linux, we hit a wall. Wayland screen capture required navigating DBus, XDG Portals, and PipeWire - all with complex C APIs and unsafe FFI bindings. RDP protocol implementation meant parsing thousands of pages of Microsoft specifications.
We found no production-ready Rust libraries. Incomplete examples in blog posts. Unsafe FFI wrappers. Platform-specific hacks that break across compositors.
So we built it ourselves. Memory-safe Rust. Async-first APIs. Battle-tested in production. Now we're releasing it as open source - the Rust infrastructure toolkit that should have existed all along.
Screen capture, portals, and RDP
The libraries underneath Lamco RDP Server. Published so anyone building on Wayland can skip the DBus, XDG Portal, and PipeWire archaeology.
lamco-wayland
Rustmeta v0.7.1 · MIT/Apache-2.0
Wayland screen capture, XDG Portal integration, and video processing.
- lamco-portal — XDG Desktop Portal
- lamco-pipewire — PipeWire screen capture
- lamco-video — Frame processing and RDP bitmap conversion
lamco-rdp
Rustmeta v0.8.0 · MIT/Apache-2.0
RDP protocol implementations and IronRDP extensions. Input translation, clipboard interoperability, file transfer.
- lamco-rdp-input — Scancode and coordinate translation
- lamco-clipboard-core — Protocol-agnostic clipboard utilities
- lamco-rdp-clipboard — IronRDP CliprdrBackend implementation
xdg-desktop-portal-generic
Rustv0.9.0 · MIT/Apache-2.0
A complete XDG Desktop Portal backend that runs as an ordinary Wayland client, with no compositor-side code. Screen capture, remote-desktop input, clipboard, screenshots, and settings on any compositor speaking the standard ext or wlr protocols. New in 0.9.0: Chromium/Electron non-ASCII typing fixed, plus multi-monitor input targeting fully corrected.
- For COSMIC, niri, Jay, labwc, and other Smithay-based compositors
Shaping messy data into typed values
Parse real-world input from APIs, CSV, config files, and LLM responses, and shape it progressively into typed values.
WiFi analysis and network diagnostics
Network measurement and analysis for applications, published on Maven Central for Kotlin Multiplatform.
Who Are These Crates For?
From remote desktop applications to screen recording tools - Rust infrastructure for everyone
Stop Fighting With FFI.
Memory-Safe. Async-First. Tested.
Building remote desktop solutions? Screen recording apps? Use production-tested Rust crates instead of wrestling with unsafe C bindings.
- Zero unsafe blocks in public APIs
- Async Rust with Tokio
- 10,000+ hours production runtime
Build Better Remote Desktop.
Protocol-Ready. Production-Tested.
Implementing RDP or VNC server? These crates handle Wayland capture, clipboard sync, and input injection so you can focus on your protocol.
- Used in Lamco RDP Server
- Complete RDP clipboard implementation
- Multi-compositor Wayland support
Capture Screens. Any Compositor.
Cross-Compositor. Zero-Copy When Possible.
Building screen recorders, streaming tools, or video conferencing? Get reliable Wayland capture across GNOME, KDE, and Sway.
- DMA-BUF support for efficiency
- Hardware cursor extraction
- Frame rate control built-in
See These Crates in Action
Our commercial RDP products are built entirely on these open source crates. Every frame captured, every clipboard sync, every input event - powered by lamco-* libraries.
Lamco RDP Server
Community Edition (Flatpak/Snap) free to use. Native packages free for single-server and non-profit use. Professional Windows Remote Desktop for Linux.
Lamco VDI
Enterprise virtual desktop infrastructure for cloud deployments.
Commercial products fund open source development. When we improve our commercial offerings, the crates improve. When the community contributes, our products benefit.
Open Source. No Strings Attached.
MIT OR Apache-2.0
Use these crates in any project - personal, commercial, proprietary, or open source. Dual licensed for maximum compatibility.
Contributions Welcome
Found a bug? Have a feature idea? We welcome contributions. These crates improve when the community improves them.
Ready to Build?
Add these crates to your Rust project and start building better remote desktop solutions today.
Questions? Email greg@lamco.io or open an issue on GitHub