# neutrinolabs/xrdp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/neutrinolabs-xrdp).**

6,645 stars · 1,755 forks · C · Apache-2.0

## Links

- GitHub: https://github.com/neutrinolabs/xrdp
- Homepage: http://www.xrdp.org/
- awesome-repositories: https://awesome-repositories.com/repository/neutrinolabs-xrdp.md

## Topics

`c` `linux` `remote-desktop`

## Description

xrdp is an open-source implementation of the Remote Desktop Protocol (RDP) that enables users to establish a remote graphical desktop session to a Linux machine. It provides a standard RDP connection to a Linux desktop, allowing clients to access and interact with the remote system's graphical interface.

The project supports a wide range of platforms beyond standard x86 and ARM Linux environments, including macOS, FreeBSD, and other UNIX-like systems. It offers extensive configuration options for remote display management, such as matching the client display to the server screen, dynamic resizing of the client window to match server dimensions, and the ability to disable automatic server resizing. Users can also request specific server display resolutions from the client side.

For performance optimization, xrdp includes H.264 remote desktop streaming with hardware-accelerated codec support, codec priority configuration, and the ability to select between different H.264 encoder implementations. The software provides fine-grained control over encoding parameters for both OpenH264 and x264 codecs. Additional session features include audio redirection from the remote Linux desktop to the local client and local drive redirection for direct file access and transfer within the remote session.

## Tags

### Networking & Communication

- [Linux Desktop RDP Servers](https://awesome-repositories.com/f/networking-communication/remote-access-control/remote-desktop-protocols/linux-desktop-rdp-servers.md) — Implements an RDP server for remote graphical access to Linux desktops. ([source](https://github.com/neutrinolabs/xrdp/wiki/Platform-Support-Tier))
- [H.264 Remote Desktop Streamers](https://awesome-repositories.com/f/networking-communication/remote-desktop-streaming/h-264-remote-desktop-streamers.md) — Streams remote desktop screen updates using H.264 video compression for bandwidth efficiency. ([source](https://github.com/neutrinolabs/xrdp/wiki/H.264-encoding))

### Graphics & Multimedia

- [Hardware-Accelerated Codecs](https://awesome-repositories.com/f/graphics-multimedia/gpu-accelerated-media-rendering/hardware-accelerated-codecs.md) — Encodes remote desktop streams using hardware-accelerated codecs for better performance. ([source](https://github.com/neutrinolabs/xrdp/wiki))
- [Remote Desktop Audio Redirectors](https://awesome-repositories.com/f/graphics-multimedia/multi-source-audio-playback/remote-audio-streaming/remote-desktop-audio-redirectors.md) — Redirects audio from the remote Linux desktop to the local client. ([source](https://github.com/neutrinolabs/xrdp/wiki/How-to-set-up-audio-redirection))

### Operating Systems & Systems Programming

- [x86 and ARM Linux Runtimes](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/linux-installation-packages/arm-linux-cross-compilation/x86-and-arm-linux-runtimes.md) — Provides primary runtime support for x86 and ARM Linux platforms. ([source](https://github.com/neutrinolabs/xrdp/wiki/Platform-Support-Tier))
- [Non-Mainstream Platform Runtimes](https://awesome-repositories.com/f/operating-systems-systems-programming/multi-architecture-support/non-mainstream-platform-runtimes.md) — Supports running on macOS, FreeBSD, and other UNIX-like systems beyond x86/ARM Linux. ([source](https://github.com/neutrinolabs/xrdp/wiki/Platform-Support-Tier))
- [Remote Drive Redirection](https://awesome-repositories.com/f/operating-systems-systems-programming/remote-drive-redirection.md) — Maps local disk drives into remote desktop sessions for direct file access and transfer. ([source](https://github.com/neutrinolabs/xrdp/wiki))

### User Interface & Experience

- [Client Display Matching Configurators](https://awesome-repositories.com/f/user-interface-experience/full-screen-display-modes/client-display-matching-configurators.md) — Allows configuring the server screen layout to match the client's multi-monitor setup. ([source](https://github.com/neutrinolabs/xrdp/wiki/Xvnc-backend-:-Multi-monitor-and-resize-support))
