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 to connect to a
          computer using RDP. This is primarily used for connecting to
          Microsoft Windows computers, but can also be used on Linux and
          macOS.
        
        
          This package is known to build and work properly using an LFS 12.4
          platform.
        
        
          Package Information
        
        
        
          FreeRDP Dependencies
        
        
          Required
        
        
          FFmpeg-7.1.1, ICU-77.1, and Xorg
          Libraries
        
        
          Recommended
        
        
          Cairo-1.18.4, docbook-xsl-nons-1.79.2, Fuse-3.17.4, JSON-C-0.18,
          MIT Kerberos V5-1.22.1, libusb-1.0.29, libxkbcommon-1.11.0, and Wayland-1.24.0
        
        
          Optional
        
        
          Cups-2.4.12, faac-1.31.1,
          FAAD2-2.11.2, fdk-aac-2.0.3, LAME-3.100,
          Linux-PAM-1.7.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.