Skip to the content.

KDE is a comprehensive desktop environment with a huge number of applications written for it and a huge amount of users. It is based on the Qt framework.

For more information visit the official KDE project site at https://kde.org/.

29. Introduction to KDE


29.1 KDE Preliminaries


KDE is a comprehensive desktop environment with a huge number of applications written for it and a huge amount of users. It is based on the Qt framework.

The KDE5 system has two main blocks: the libraries, called KDE Frameworks 5 or KF5, which can be used in other environments, and the desktop environment called KDE Plasma 5. Most of the applications written by the KDE team only use KF5, and do not need the plasma environment.

For more information visit the official KDE project site at https://kde.org/.

29.2 extra-cmake-modules-5.103.0


Introduction to Extra Cmake Modules

The Extra Cmake Modules package contains extra CMake modules used by KDE Frameworks 5 and other packages.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Extra Cmake Modules Dependencies

Required

CMake-3.25.2

Optional

sphinx-6.1.3 (for building documentation) and PyQt (experimental support for building KDE Python bindings)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/extra-cmake-modules

Installation of Extra Cmake Modules

Install Extra Cmake Modules by running the following commands:

sed -i '/"lib64"/s/64//' kde-modules/KDEInstallDirsCommon.cmake &&

sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}")' \
    -e '/^include/a set(PACKAGE_PREFIX_DIR "${SAVE_PACKAGE_PREFIX_DIR}")' \
    -i ECMConfig.cmake.in &&

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr .. &&
make

This package does not come with a test suite.

Note

Unlike other KF5 packages, this module is installed in /usr because it can be used by some non-KF5 packages.

Now, as the root user:

make install

Command Explanations

sed … Modules/KDEInstallDirs.cmake: This command disables applications using cmake from attempting to install files in a lib64 sub-directory.

sed … ECMConfig.cmake.in: This command protects the global cmake variable PACKAGE_PREFIX_DIR from being changed when checking ECM presence: since we install ECM into /usr, the check would set that variable to /usr, while most KDE packages expect it to be set to /opt/kf5 and would fail to build if it is set to something else.

Contents

Installed Programs: None

Installed Libraries: None

Installed Directories: /usr/share/ECM and /usr/share/doc/ECM (if documentation was built)

29.3 Phonon-4.11.1


Introduction to Phonon

Phonon is the multimedia API for KDE. It replaces the old aRts package. Phonon needs either the GStreamer or VLC backend.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Phonon Dependencies

Required

CMake-3.25.2, extra-cmake-modules-5.103.0, GLib-2.74.5, and Qt-5.15.8

At least one of phonon-backend-gstreamer-4.10.0 or phonon-backend-vlc-0.11.3 needs to be installed afterwards for multimedia operation in KDE.

Optional

PulseAudio-16.1

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/phonon

Installation of Phonon

Install Phonon by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Now, as the root user:

make install

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to apply higher level of the compiler optimizations.

Contents

Installed Programs: phononsettings

Installed Libraries: libphonon4qt5.so and libphonon4qt5experimental.so

Installed Directories: /usr/include/phonon4qt5, /usr/lib/cmake/phonon4qt5, /usr/lib/plugins/designer, and /usr/share/phonon4qt5

29.4 Phonon-backend-gstreamer-4.10.0


Introduction to the Phonon-backend-gstreamer

This package provides a Phonon backend which utilizes the GStreamer media framework.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Phonon-backend-gstreamer Dependencies

Required

gstreamer-1.22.0, libxml2-2.10.3, and phonon-4.11.1

gst-plugins-base-1.22.0 (needed for output to ALSA), gst-plugins-good-1.22.0 (needed for output to PulseAudio), gst-plugins-bad-1.22.0 (needed for AAC/M4A support), and gst-plugins-ugly-1.22.0 (needed for MP3 support)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/phonon-backend-gstreamer

Installation of Phonon-backend-gstreamer

Install Phonon-backend-gstreamer by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr    \
      -DCMAKE_BUILD_TYPE=Release     \
      .. &&
make

Now, as the root user:

make install

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to apply higher level of compiler optimizations.

Contents

Installed Programs: none

Installed Libraries: phonon_gstreamer.so

Installed Directories: /usr/lib/plugins/phonon4qt5_backend

29.5 Phonon-backend-vlc-0.11.3


Introduction to the Phonon-backend-vlc

This package provides a Phonon backend which utilizes the VLC media framework.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Phonon-backend-vlc Dependencies

Required

phonon-4.11.1 and VLC-3.0.18

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/phonon-backend-vlc

Installation of Phonon-backend-vlc

Install Phonon-backend-vlc by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      .. &&
make

Now, as the root user:

make install

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to apply higher level of compiler optimizations.

Contents

Installed Program: none

Installed Libraries: phonon_vlc.so

Installed Directory: /usr/lib/plugins/phonon4qt5_backend

29.6 Polkit-Qt-0.114.0


Introduction to Polkit-Qt

Polkit-Qt provides an API to PolicyKit in the Qt environment.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Polkit-Qt Dependencies

Required

CMake-3.25.2, Polkit-122, and Qt-5.15.8

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/polkit-qt

Installation of Polkit-Qt

Install Polkit-Qt by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -Wno-dev .. &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to apply higher level of the compiler optimizations.

Contents

Installed Programs: none

Installed Libraries: libpolkit-qt5-agent-1.so, libpolkit-qt5-core-1.so, and libpolkit-qt5-gui-1.so

Installed Directories: /usr/include/polkit-qt5-1 and /usr/lib/cmake/PolkitQt5-1

29.7 libdbusmenu-qt-0.9.3+16.04.20160218


Introduction to libdbusmenu-qt

This library provides a Qt implementation of the DBusMenu specification that exposes menus via DBus.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libdbusmenu-qt Dependencies

Required

Qt-5.15.8

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libdbusmenu-qt

Installation of libdbusmenu-qt

Install libdbusmenu-qt by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DWITH_DOC=OFF              \
      -Wno-dev .. &&
make

This packages does not come with a working test suite.

Now, as the root user:

make install

Command Explanations

-DCMAKE_BUILD_TYPE=Release: This switch is used to build without debugging symbols and apply a higher level of compiler optimizations.

-DWITH_DOC=OFF: This option is set to avoid trying to build the API documentation which requires obsolete Qt4.

Contents

Installed Programs: None

Installed Library: libdbusmenu-qt5.so

Installed Directory: /usr/lib/cmake/dbusmenu-qt5 and /usr/include/dbusmenu-qt5

29.8 Plasma-wayland-protocols-1.10.0


Introduction to the Plasma-wayland-protocols

This package provides a custom set of protocol definitions for KDE.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Plasma-wayland-protocols Dependencies

Required

extra-cmake-modules-5.103.0

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/plasma-wayland-protocols

Installation of Plasma-wayland-protocols

Install Plasma-wayland-protocols by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Now, as the root user:

make install

Contents

Installed Programs: none

Installed Libraries: none

Installed Directories: /usr/share/plasma-wayland-protocols and /usr/lib/cmake/PlasmaWaylandProtocols

29.9 kuserfeedback-1.2.0


Introduction to Kuserfeedback

The kuserfeedback package contains a framework for collecting user feedback for applications via telemetry and surveys.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Kuserfeedback Dependencies

Required

extra-cmake-modules-5.103.0 and Qt-5.15.8

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/kuserfeedback

Installation of Kuserfeedback

Install kuserfeedback by running the following commands:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_TESTING=OFF         \
      -Wno-dev .. &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: None

Installed Libraries: libKUserFeedbackCore.so and libKUserFeedbackWidgets.so

Installed Directories: /usr/include/KUserFeedback, /usr/lib/qml/org/kde/userfeedback, /usr/lib/cmake/KUserFeedback, /usr/share/KDE/UserFeedbackConsole, and /usr/share/qlogging-categories5