Skip to main content
wlfreerdp is the Wayland-native FreeRDP client. It uses libuwac (Use Wayland As Client) — a companion library in the FreeRDP tree — to communicate directly with the Wayland compositor. Unlike the SDL client running on the Wayland backend, wlfreerdp has no X11 dependency at all.

Prerequisites

1

Wayland compositor

A running Wayland compositor is required (e.g. GNOME on Wayland, KDE Plasma on Wayland, Sway, or any other wl-compositor-compliant environment).
2

libuwac

libuwac is part of the FreeRDP source tree (uwac/ directory). It is built automatically when the Wayland client is enabled. You do not need to install it separately.
3

Build the Wayland client

Enable -DWITH_WAYLAND=ON (enabled by default when Wayland is found; disable with -DWITH_WAYLAND=OFF):
cmake -GNinja -DWITH_WAYLAND=ON -B build -S .
cmake --build build --target wlfreerdp
Debian/Ubuntu build dependencies:
sudo apt install libwayland-dev wayland-protocols libxkbcommon-dev

Synopsis

wlfreerdp [file.rdp] [options] [/v:<server>[:port]]
wlfreerdp accepts the same global option set as xfreerdp. See xfreerdp options for the full reference.

Quick examples

wlfreerdp /v:rdp.example.com /u:alice /p:secret

Supported features

FeatureSupported
Clipboard redirectionYes (via wlf_cliprdr)
Display resize / dynamic resolutionYes (via wlf_disp)
Keyboard inputYes (via wlf_input, Linux input.h keycodes)
Pointer / cursorYes (via wlf_pointer)
Channel redirection (audio, drives, etc.)Yes (shared library channels)
Touch inputLimited (depends on compositor support)
Graphical credential dialogNo (terminal prompts only)

Differences from xfreerdp (X11)

Aspectxfreerdpwlfreerdp
Display server dependencyX11Wayland only
Credential promptTerminalTerminal
Keyboard handlingX11 XKBLinux input keycodes via Wayland
Multi-monitorYesYes
Window embedding (/parent-window:)Yes (X11 window ID)No
Floating toolbar (/floatbar)YesNo

Exit status

CodeMeaning
0Successful disconnect
non-zeroConnection failure or error

See also

  • xfreerdp(1) — full option reference
  • wlog(7) — FreeRDP logging subsystem