Installation Guide
Community Edition (Flatpak or Snap)
The Community Edition ships as a Flatpak, published both on Lamco's own self-hosted repository (auto-updating) and as a downloadable bundle attached to the GitHub release, plus on the Snap Store. It is not on Flathub.
flatpak install --from https://flatpak.lamco.ai/io.lamco.rdp-server.flatpakref
# equivalent, in two steps
flatpak remote-add --user --if-not-exists lamco https://flatpak.lamco.ai/lamco.flatpakrepo
flatpak install --user lamco io.lamco.rdp-server
# Flatpak bundle (one-off install, download the .flatpak asset from the GitHub release first)
flatpak install lamco-rdp-server.flatpak
# Snap Store
snap install lamco-rdp-server
Running
flatpak run io.lamco.rdp-server
# Server only (headless)
flatpak run io.lamco.rdp-server lamco-rdp-server
Native Packages
apt (apt.lamco.ai, amd64 and arm64), RPM Fusion nonfree (Fedora, x86_64 and aarch64), Arch AUR (x86_64 and aarch64), and openSUSE OBS (Tumbleweed, Leap 16.0, Fedora, and AlmaLinux 10, x86_64 and aarch64 on most targets).
RHEL 10 family: RPM Fusion el10 and OBS AlmaLinux 10 stay at 1.4.4 for now. Their Rust toolchain is 1.92 and 1.4.5 needs 1.94. They update when a RHEL 10 point release carries Rust 1.94 or newer.
Service Enablement
The systemd user unit is app-io.lamco.rdp-server.service. xdg-desktop-portal derives an application id from the unit name only when it starts with app-, and portal permission persistence keys on that id. On upgrade the package scripts migrate the enabled state for users who are logged in; anyone else runs the command below once. The old name lamco-rdp-server.service still resolves as an alias, so existing commands keep working.
Clipboard File Transfer
The packages set user_allow_other in /etc/fuse.conf so files pasted from Windows are readable by the desktop file manager. On a from-source install, add that line by hand.
Hardware Encoding Prerequisites
To use VA-API, install the vainfo tool (libva-utils on Fedora and openSUSE, vainfo on Debian and Ubuntu) and a VA driver with an H.264 encode entrypoint. On Fedora that is mesa-va-drivers-freeworld from RPM Fusion for AMD, or the Intel media driver.
Source
cd lamco-rdp-server
cargo build --release
Rust 1.94 or newer is required (Rust edition 2024). The gui Cargo feature is a default feature, so a plain release build produces both the server and the GUI. A headless, server-only build passes --no-default-features and re-enables the features it needs.
Building from source needs libpipewire 0.3.62 or newer. The packages declare the run-time floor they were linked against, so an installed package needs nothing extra.
System Requirements
Minimum
| Compositor: | Wayland with XDG Desktop Portal support |
| Display Server: | PipeWire |
| Desktop: | A running desktop environment |
| RAM: | 2 GB |
| Architecture: | x86_64 or aarch64 |
Recommended
| Hardware Encoder: | Intel QuickSync / AMD VCE / NVIDIA NVENC |
| RAM: | 4+ GB |
| CPU: | Modern multi-core (4+ cores) |
| Network: | Gigabit Ethernet or better |
Important: Lamco RDP Server shares your existing desktop session. A desktop environment (GNOME, KDE, Sway, etc.) must be running with a user logged in.
Post-Installation
Firewall Configuration
sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload
# ufw
sudo ufw allow 3389/tcp