Rcarmo/wrdp: Experimental xrdp/sesman-like setup for Wayland-backed desktops

rcarmo1 pts0 comments

GitHub - rcarmo/wrdp: Experimental xrdp/sesman-like setup for Wayland-backed remote desktops · GitHub

/" data-turbo-transient="true" />

Skip to content

Type / to search

Sign in<br>Sign upAppearance settings

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

rcarmo

wrdp

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star<br>23

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>29 Commits<br>29 Commits

.github/workflows

.github/workflows

docs

docs

src

src

tools/rdp-compat

tools/rdp-compat

vendor/wrdp-compositor

vendor/wrdp-compositor

.gitignore

.gitignore

AGENTS.md

AGENTS.md

Cargo.lock

Cargo.lock

Cargo.toml

Cargo.toml

LICENSE

LICENSE

Makefile

Makefile

README.md

README.md

THIRD_PARTY.md

THIRD_PARTY.md

build.rs

build.rs

View all files

Repository files navigation

WRDP

WRDP is a single-port, multi-user RDP server for Linux servers running Wayland in headless mode.

It accepts an RDP connection, authenticates the user, starts or reuses that user's managed compositor session, applies the negotiated desktop size before capture, and sends display, input, audio and clipboard data through IronRDP.

Goals

One listener shared by multiple users.

One isolated desktop session per authenticated user.

Modern EGFX/H.264 display with a bitmap fallback.

Software encoding plus optional VA-API acceleration.

Clipboard, resize, audio and input support without exposing a host desktop session.

A small operational surface: wrdp, wrdp-sesman and wrdpctl.

WRDP is built for Linux hosts where the server owns the desktop sessions. It is not a remote-control layer for an already logged-in graphical session, an RDP client, or a domain controller.

Architecture

direct DMA-BUF/SHM capture<br>├── EGFX/H.264 or bitmap updates<br>├── ordered keyboard and pointer injection<br>├── PipeWire audio and clipboard">RDP client<br>│ TLS and RDP<br>wrdp<br>├── credential validation<br>├── IronRDP protocol and channel handling<br>├── in-process session manager<br>└── per-user session binding<br>managed Wayland compositor<br>├── negotiated output size -> direct DMA-BUF/SHM capture<br>├── EGFX/H.264 or bitmap updates<br>├── ordered keyboard and pointer injection<br>├── PipeWire audio and clipboard

IronRDP owns the wire protocol, capability exchange and dynamic-channel state machines. WRDP connects those events to authentication, session management, Wayland, PipeWire and encoding backends. Advanced Input owns mouse delivery while its channel is active, which prevents the overlapping core input path from injecting the same click twice.

Read docs/architecture.md for component boundaries, docs/compositor.md for the managed desktop contract, and docs/decisions/ for design decisions.

Installation and operation

The first public release is installed from source. The operator guide covers supported deployment, build and installation, configuration, TLS/PAM security, systemd socket activation, packaging, upgrades, rollback and troubleshooting.

Distribution packages are not published yet; package maintainers should follow the documented packaging contract and keep the daemon, bundled compositor, lockfile and pinned IronRDP revision together.

License

WRDP's Rust code is licensed under the MIT License. The bundled compositor is a modified labwc 0.8.3 derivative under GPL-2.0-only and is built as a separate program. IronRDP is Apache-2.0. See THIRD_PARTY.md for details.

About<br>Experimental xrdp/sesman-like setup for Wayland-backed remote desktops<br>Resources<br>Readme<br>MIT license<br>Activity<br>Stars<br>23 stars<br>Watchers<br>1 watching<br>Forks<br>0 forks<br>Report repository

Releases

Packages

Contributors

Languages

You can’t perform that action at this time.

wrdp session compositor wayland docs license

Related Articles