Documentation Index
Fetch the complete documentation index at: https://mintlify.com/freerdp/freerdp/llms.txt
Use this file to discover all available pages before exploring further.
sdl-freerdp is a cross-platform RDP client built on SDL2 or SDL3. It ships two separate binaries — sdl2-freerdp and sdl3-freerdp — produced by the client/SDL/SDL2 and client/SDL/SDL3 build targets respectively. Both accept the same command-line options as xfreerdp and add an SDL-rendered graphical dialog layer for credentials and certificates.
Platform support
| Platform | SDL2 | SDL3 |
|---|---|---|
| Linux (X11) | Yes | Yes |
| Linux (Wayland) | Yes (via XWayland or native SDL Wayland backend) | Yes |
| macOS | Yes | Yes |
| Windows | Yes | Yes |
On Wayland with wlroots-based compositors (e.g. Sway), set the
FREERDP_WLROOTS_HACK environment variable to work around multimonitor detection limitations. See the environment variables section.Synopsis
xfreerdp. The most commonly used options are shown below; for the complete reference see the xfreerdp options page.
Quick examples
Key differences from xfreerdp
| Feature | xfreerdp | sdl-freerdp |
|---|---|---|
| Display server | X11 only | X11, Wayland, macOS, Windows |
| Credential prompt | Terminal (stdin) | SDL graphical dialog |
| Certificate dialog | Terminal | SDL graphical dialog |
| Connection progress | Terminal output | SDL graphical dialog |
| Touch input | No | Yes (SDL touch events) |
| WebView AAD auth | No | Yes (with WITH_WEBVIEW) |
SDL-specific behaviour
Graphical dialogs
When the server requests credentials or presents an untrusted certificate,sdl-freerdp shows a graphical SDL-rendered dialog instead of a terminal prompt. This makes it suitable for use as a standalone application on any platform without a terminal.
Touch and gesture input
The SDL client receives native touch events from the OS and forwards them to the server via the multitouch channel. Enable it explicitly if needed:Window and display
Common display options:Performance presets
Environment variables
| Variable | Description |
|---|---|
FREERDP_WLROOTS_HACK | Multimonitor hack for wlroots compositors. 0 = disable entirely, 1 = enable for fullscreen, force = enable for all sessions (windowed sessions may misbehave). Defaults to auto-detection via XDG_SESSION_DESKTOP / XDG_CURRENT_DESKTOP. |
WLOG_LEVEL | Default log level (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE) |
WLOG_FILTER | Per-tag log filter |
https_proxy / HTTPS_PROXY | Proxy for RD Gateway connections |
Build notes
The SDL clients are built alongside the rest of FreeRDP when theWITH_CLIENT_SDL2 (or WITH_CLIENT_SDL3) CMake option is enabled. SDL2 development libraries must be present:
SDL2 with SDL3 throughout and install the SDL3 development packages.
