Distributions/Packaging Recommendations
This page collects recommendations for how to ship the highest-quality and most complete Plasma session to your users.
General packaging recommendations
- For every KDE package you pre-install, also pre-install its optional CMake dependencies; it's okay if the user can to remove them later, but they should be installed by default
- Avoid patching out mandatory or optional dependencies, as this will lead to KDE software missing functionality in ways that will be mysterious for users
- Mark the `qt5ct` package in your packaging as something that conflicts with `plasma-integration` and overrides its functionality; the user should only be able to have one installed at a time, but not both!
- Use the Libinput input drivers by default; don't use Synaptics on X11 as it is unmaintained and provides a subpar experience with modern large buttonless touchpads compared to Libinput
Recommended packages to pre-install
These are packages that we recommend you pre-installed by default, or install when the user installs your "KDE Plasma Desktop" metapackage.
Plasma packages
Generally pre-install every package in https://download.kde.org/stable/plasma/[latest release], except for the following:
Optional packages:
- oxygen5 (it's the old Oxygen Plasma theme; this doesn't need to be installed by default)
Do not pre-install these Plasma packages for Plasma Desktop:
- plasma-mobile (not needed for the desktop shell)
- plasma-nano (not needed for the desktop shell)
- plasma-sdk (developer apps for Plasma; not generally user-relevant)
- plasma-tests (internal testing harness; not user-relevant)
- qqc2-breeze-style (not needed for the desktop shell)
Non-Plasma packages
These packages are add-ons, extensions, and system tools that are not released with Plasma itself, but make the overall Plasma session nicer to use. They should be pre-installed:
- baloo-widgets (provides extra information for Dolphin's Information Panel when the Baloo file indexer is on)
- dolphin-plugins (provides a variety of useful plugins for Dolphin, including ISO mounting)
- kdenetwork-filesharing (provides the Samba file sharing setup wizard)
- kdepim-addons (provides a variety of useful addons for the PIM suite; only needed if you pre-install the PIM suite!)
- ffmpegthumbs (provides video thumbnailing plugin)
- kdeconnect-kde (provides remote mobile phone control; also make sure to whitelist its system service in your firewall, if you ship one)
- kdegraphics-thumbnailers (provides PDF thumbnailing plugin, among others)
- kdeplasma-addons (provides more plasmoids)
- kio-extras (provides the thumbnailing engine and many thumbnailing plugins, among other things)
- kio-fuse (provides transparent access to non-KDE apps for files on remote locations)
- kio-gdrive (provides transparent KIO access to Google Drive)
- plasma-workspace-wallpapers (provides more wallpapers)
- print-manager (provides the Printers KCM and widget)
3rd-party packages
It is recommended to pre-install the following 3rd-party packages:
- iio-sensor-proxy (allows automatic screen rotation on Wayland)
- maliit-keyboard (provides on-screen keyboard on Wayland)
- power-profiles-daemon (enables the power profile functionality in Plasma. Make sure its systemd service is automatically started when the package is installed!)
- xdg-desktop-portal-gtk (syncs font settings to Flatpak apps when run in Plasma)
PulseAudio/PipeWire configuration
Enable the module-x11-bell module by default; this makes GTK apps run in Plasma (i.e. without Mutter, which does this itself) play nice sounds instead of horrible jarring system bell beeps!
Samba sharing configuration
The aforementioned `kdenetwork-filesharing` package provides a wizard for setting up Samba shares. It's capable of fixing various omissions and misconfigurations, but it cannot edit the `/etc/samba/smb.conf` file, as such changes would be overwritten by package updates. So the `/etc/samba/smb.conf` file installed by your distro or its relevant Samba package should include the following lines in its [globals] section:
usershare path = /var/lib/samba/usershares usershare max shares = 100 usershare allow guests = yes # optional line usershare owner only = yes
It's also helpful if the path specified at `usershare path` exists on disk, has a group owner named something like "usershares", and if all user accounts are members of that group. But these are optional steps as kdenetwork-filesharing is capable of doing these things itself.
Firefox configuration
You can offer your users a better touchpad scrolling experience on X11 by setting the `MOZ_USE_XINPUT2=1` environment variable in the environment. There are no longer any remaining known side effects. On Wayland, this has no effect and is not needed.