Skip to main content

What is FreeRDP?

FreeRDP is a free implementation of Microsoft’s Remote Desktop Protocol (RDP), released under the Apache 2.0 license. It provides:
  • Client applications — ready-to-use RDP clients for Linux (X11, Wayland), Windows, macOS, Android, and iOS
  • libfreerdp — an embeddable C library for building custom RDP clients and servers
  • libwinpr — a Windows Portable Runtime library providing cross-platform Win32 API compatibility
  • Server support — an RDP server-side peer API, shadow server, and RDP proxy
FreeRDP is widely used in virtual desktop infrastructure (VDI) products, thin clients, and remote access solutions worldwide.

Quickstart

Connect to a remote desktop in minutes using xfreerdp or sdl-freerdp

Installation

Install pre-built packages for your platform

Building from Source

Compile FreeRDP with custom options and dependencies

API Reference

Embed libfreerdp into your own application

Key features

Multi-platform clients

Native clients for X11, Wayland, SDL2/SDL3, Windows, macOS, Android, and iOS

Modern RDP protocol

Full support for RDP 10.x, NLA (NTLM, Kerberos), TLS, and CredSSP

Hardware-accelerated graphics

RDP GFX pipeline with H.264/AVC, RemoteFX (RFX), and NSCodec support

Rich virtual channels

Clipboard, audio, drive redirection, USB (URBDRC), smartcard, printing, and more

Server & proxy

Build RDP servers with the peer API, or deploy the built-in RDP proxy

Embeddable library

Integrate libfreerdp into any C/C++ application with a clean public API

Repository structure

DirectoryDescription
libfreerdp/Core RDP protocol library
include/freerdp/Public C headers
winpr/Windows Portable Runtime (WinPR)
client/Client frontends (X11, SDL, Wayland, Android, iOS, Mac, Windows)
server/Server peer, shadow server, and RDP proxy
channels/Virtual channel plugins (clipboard, audio, drive, USB, etc.)
cmake/CMake build system modules

License

FreeRDP is released under the Apache License 2.0. Contributions are welcome via GitHub.

Resources