KDE Plasma (Wayland) RDP

KDE's own KRDP is KDE-only and historically limited to text clipboard. lamco-rdp-server speaks standard RDP on Plasma/KWin through the RemoteDesktop portal, with full bidirectional clipboard including Windows-to-Linux file copy, and the same server also runs on GNOME, sway, Hyprland, and COSMIC.

Install

Community Edition: Lamco's own self-hosted Flatpak repository (recommended, auto-updates), the Flatpak bundle attached to the GitHub release, or the Snap Store.

# recommended: one-click install, updates automatically
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

# or: install the downloaded bundle once, no auto-updates
flatpak install <downloaded>.flatpak
flatpak run io.lamco.rdp-server

# or: snap install lamco-rdp-server

Native: use the distribution package. KWin needs PipeWire and xdg-desktop-portal-kde, which ship by default on Plasma. Verify:

lamco-rdp-server --show-capabilities

Grant permission once

lamco-rdp-server --grant-permission

Grants the portal permission and stores a restore token for unattended reconnects. libei input is used on Plasma 6.1+.

Minimal config

~/.config/lamco-rdp-server/config.toml:

[server]
# Dual-stack by default: [::] listens on IPv6 and, on a standard Linux host,
# also accepts IPv4. Use "0.0.0.0:3389" only to force IPv4-only.
listen_addr = "[::]:3389"

[security]
tls = true

[video]
codec = "auto"

Connect

Dual-stack by default, so IPv4 and IPv6 clients both work. Use the host's name or an explicit address (IPv6 literals in brackets).

  • Windows: mstsc.exehost:3389 (or [2001:db8::10]:3389).
  • Linux: Remmina, or xfreerdp /v:host:3389 /u:USER.

KDE-specific behavior (current in 1.4.4)

  • Full clipboard, including Windows-to-Linux file copy on Plasma 6.6+. The persistent clipboard monitor binds ext-data-control-v1 (which KWin exposes, not wlr-data-control-v1). Verified on Plasma 6.6.5 and 6.7.1. On Plasma 6.3.90-6.5.x the portal clipboard is limited by an upstream KWin bug (KDE 515465, fixed in 6.6), so those releases fall back to text-only cooperation.
  • libei input on Plasma 6.1+.
  • Per-connection session, so repeated connect/disconnect works without a restart.

Troubleshooting

SymptomCauseFix
Copying a file Windows → Linux does nothing / pastes as textKlipper re-announced the file URI as text/plain and the old handler forwarded thatFixed in 1.4.4 (copy is gated on the portal's block decision)
Connects, then black screenNo working H.264 encoder or capture not started--show-capabilities; ensure an Encoding backend; install Cisco OpenH264 for software H.264 (see Video Encoding) or use a GPU
Clipboard clears unexpectedly on KDEKlipper empty-selection clearingFixed in 1.4.4 (gated to KDE and the portal decision)
Portal dialog on every connectNo stored restore tokenRun lamco-rdp-server --grant-permission once

See also: Installation, Configuration, Security, Video Encoding, the Platform Compatibility matrix, and the sibling guides for GNOME/Mutter, sway/wlroots, Hyprland, and COSMIC.