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
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-75.1, and Xorg
Libraries
Recommended
Cairo-1.18.2, docbook-xsl-nons-1.79.2, Fuse-3.16.2, JSON-C-0.18,
MIT Kerberos V5-1.21.3, libusb-1.0.27, libxkbcommon-1.7.0, and Wayland-1.23.0
Optional
Cups-2.4.11, FAAC-1_30,
FAAD2-2.11.1, fdk-aac-2.0.3, FreeRDP-3.8.0, LAME-3.100, Linux-PAM-1.6.1, 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.