Skip to main content
FreeRDP provides multiple client frontends that all share the same core RDP library and command-line option set. The right client depends on your display server, operating system, and build configuration.

xfreerdp

X11 client for Linux desktops. The reference implementation with the widest option coverage.

sdl-freerdp

SDL2/SDL3 cross-platform client. Runs on Linux (X11 and Wayland), macOS, and Windows.

wlfreerdp

Native Wayland client using libuwac. Purpose-built for Wayland compositors.

Android

aFreeRDP — the official FreeRDP Android app with a touch-optimised UI.

macOS

Native macOS Cocoa client with a graphical connection manager.

Windows

FreeRDP can be built as a Windows binary (wfreerdp) via CMake and Visual Studio.

Comparison

ClientBinary namePrimary platformDisplay serverGUI dialogsTouchMultimonitor
X11xfreerdpLinuxX11NoNoYes
SDL2sdl2-freerdpLinux / macOS / WindowsX11, Wayland, Win32Yes (SDL)YesYes
SDL3sdl3-freerdpLinux / macOS / WindowsX11, Wayland, Win32Yes (SDL)YesYes
WaylandwlfreerdpLinuxWayland onlyNoNoYes
AndroidaFreeRDPAndroidAndroid SurfaceViewYesYesN/A
macOSMacFreeRDPmacOSCocoa (AppKit)YesNoYes

Common command-line syntax

All command-line clients share the same FreeRDP option syntax. Flags use a forward-slash sigil and colon-separated values:
Syntax:
    /flag                   enables flag
    /option:<value>         specifies option with value
    +toggle / -toggle       enables or disables a toggle
/ and + are interchangeable for enabling a toggle. Use - to disable.
A minimal connection command looks like this across all CLI clients:
xfreerdp /v:rdp.example.com /u:alice /p:secret
sdl2-freerdp /v:rdp.example.com /u:alice /p:secret
wlfreerdp /v:rdp.example.com /u:alice /p:secret
For the full option reference, see the xfreerdp page — the option set is shared.

RDP file support

All CLI clients accept a .rdp connection file as the first positional argument:
xfreerdp connection.rdp /p:Pwd123!

Windows build

FreeRDP can be compiled on Windows with Visual Studio or MinGW. After building, the produced binary is wfreerdp.exe (or wfreerdp-shadow.exe for the shadow server). It accepts the same /option:value syntax as all other clients.