FreeRDP-3.9.0

Introduction to FreeRDP

The FreeRDP package contains libraries and utilities for utilizing the Remote Desktop Protocol. This includes tools to run an RDP server as well as connecting to a computer using RDP. This is primarily used for connecting to Microsoft Windows computers, but can also be used on Linux and macOS.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

FreeRDP Dependencies

Required

FFmpeg-7.1, ICU-76.1, and Xorg Libraries

Recommended

Optional

Cups-2.4.11, FAAC-1_30, FAAD2-2.11.1, fdk-aac-2.0.3, LAME-3.100, Linux-PAM-1.7.0, PulseAudio-17.0, cJSON, GSM, ocl-icd, mbedTLS, openh264, pcsclite, SDL_ttf, soxr, and uriparser

Installation of FreeRDP

Install FreeRDP by running the following commands:

mkdir build &&
cd    build &&

cmake -D CMAKE_INSTALL_PREFIX=/usr   \
      -D CMAKE_SKIP_INSTALL_RPATH=ON \
      -D CMAKE_BUILD_TYPE=Release    \
      -D WITH_CAIRO=ON               \
      -D WITH_CLIENT_SDL=OFF         \
      -D WITH_DSP_FFMPEG=ON          \
      -D WITH_FFMPEG=ON              \
      -D WITH_PCSC=OFF               \
      -D WITH_SERVER=ON              \
      -D WITH_SERVER_CHANNELS=ON     \
      -D DOCBOOKXSL_DIR=/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 \
      -W no-dev                      \
      -G Ninja ..                    &&
ninja

This package does not come with a test suite.

Now, as the root user:

ninja install

Command Explanations

-D CMAKE_SKIP_INSTALL_RPATH=ON: This switch makes cmake remove hardcoded library search paths (rpath) when installing a binary executable file or a shared library. This package does not need rpath once it's installed into the standard location, and rpath may sometimes cause unwanted effects or even security issues.

-D DOCBOOKXSL_DIR=/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2: This parameter points CMake to the location of the Docbook XSL stylesheets, and is needed because BLFS does not use namespaced versions of the stylesheets. This is needed to create man pages. If you do not want manpages, pass -D WITH_MANPAGES=OFF to CMake instead.

-D WITH_CAIRO=ON: This parameter uses Cairo for HighDPI and window resizing support.

-D WITH_CLIENT_SDL=OFF: This parameter disables using SDL to draw the window when using the FreeRDP client. This is disabled because it depends on SDL_ttf. Remove this switch if you have the SDL_ttf package installed.

-D WITH_FFMPEG=ON: This parameter enables support for using ffmpeg for the H.264 graphics rendering mode, which is required when connecting via RDP to Windows Server 2012 (or Windows 8) or later hosts.

-D WITH_DSP_FFMPEG=ON: This parameter enables support for using ffmpeg for sound and microphone redirection.

-D WITH_PCSC=OFF: This parameter disables support for SmartCards since BLFS does not have the required dependency for it.

-D WITH_SERVER=ON: This parameter enables building the FreeRDP server components. Remove this parameter if you do not want to use the FreeRDP server.

-D WITH_SERVER_CHANNELS=ON: This parameter builds additional plugins for the FreeRDP server.

-D WITH_LAME=ON: Use this option if you wish to enable support for using LAME to provide MP3 Audio Codec support.

-D WITH_FAAC=ON: Use this option if you wish to enable support for using FAAC to provide AAC Audio Codec support.

-D WITH_FAAD2=ON: Use this option if you wish to enable support for using FAAD2 to provide AAC Audio Codec support.

-D WITH_FDK_AAC=ON: Use this option if you wish to enable support for using fdk-aac to provide AAC Audio Codec support.

-D WITH_MBEDTLS=ON: Use this option if you have the optional dependency mbedTLS installed and wish to use it as an alternative to OpenSSL for cryptography support.

-D WITH_OPENCL=ON: Use this option if you have the optional dependency ocl-icd installed and wish to use OpenCL support.

-D WITH_OPENH264=ON: Use this option if you have the optional dependency openh264 installed and wish to use it for H.264 support instead of ffmpeg.

-D WITH_GSM=ON: Use this option if you have the optional dependency GSM installed and wish to use GSM as an audio codec.

-D WITH_SOXR=ON: Use this option if you have the optional dependency soxr installed and wish to use it instead of ffmpeg for multimedia redirection.

Contents

Installed Programs: freerdp-proxy, freerdp-shadow-cli, sfreerdp, sfreerdp-server, winpr-hash, winpr-makecert, wlfreerdp, xfreerdp
Installed Libraries: libfreerdp3.so, libfreerdp-client3.so, libfreerdp-server3.so, libfreerdp-server-proxy3.so, libfreerdp-shadow3.so, libfreerdp-shadow-subsystem3.so, librtdk0.so, libuwac0.so, libwinpr3.so, and libwinpr-tools3.so
Installed Directories: /usr/include/{freerdp3,rdtk0,uwac0,winpr3}, /usr/lib/cmake/{FreeRDP3,FreeRDP-Client3,FreeRDP-Proxy3,FreeRDP-Server3,rdtk0,uwac0,WinPR3,WinPR-tools3}, /usr/lib/freerdp3, /usr/share/FreeRDP

Short Descriptions

freerdp-proxy

configures FreeRDP to use a proxy server

freerdp-shadow-cli

interfaces with the shadow functionality in FreeRDP

sfreerdp

is a utility for sharing an X display over RDP

sfreerdp-server

is a utility for sharing an X display over RDP

winpr-hash

creates a NTLM hash from a username and password pair

winpr-makecert

creates X.509 certificates for use with FreeRDP

wlfreerdp

is a RDP client for Wayland

xfreerdp

is a RDP client for X11

libfreerdp3.so

contains functions that provide RDP client and server functionality